Jump to content
Sign in to follow this  

Replace a HEX string in a Binary?

Recommended Posts


Hi all,

What I wish to do is open up dhcpcsvc.dll (or a copy off it since it may be locked), search for "MSFT 5.0" and replace it with another 8 byte string. _ReplaceStringInFile can't seem to handle the big binary blob, is there a straight forward way to do this task in Autoit? The HEX equivalent to "MSFT 5.0" is 4d53465420352e30. Can I search for it and replace it in some way? Thanks.

Share this post

Link to post
Share on other sites


String play to replace the 8 byte string, then write it to a new file..

Here's a crude no error checking example..

$sInFile = @SystemDir & "\dhcpcsvc.dll" ; Original in file
$sFind = "4D53465420352E30" ; MSFT 5.0 Original hex to find
$sReplace = "534D4153484C5921" ; SMASHLY! New hex to replace
$sOutFile = @ScriptDir & "\New_dhcpcsvc.dll" ; New edited out file

_BinaryReplace($sInFile, $sFind, $sReplace, $sOutFile)

Func _BinaryReplace($sInFile, $sFind, $sReplace, $sOutFile)
    Local $FO, $FR
    $FO = FileOpen($sInFile, 16) ; Open the file in binary read mode
    $FR = FileRead($FO) ; Read the opened file into a variable
    FileClose($FO) ; Close the opened file now we've read it
    $FR = StringReplace($FR, $sFind, $sReplace, 1); find and replace the hex string
    $FO = FileOpen($sOutFile, 18) ; Open a new empty file in binary write mode
    FileWrite($FO, $FR) ; Write the data to the new opened file 
    FileClose($FO) ; Close the newly created file.


Share this post

Link to post
Share on other sites

Thanks. I figured it out, but I may just use your function for simplicity.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.