Ma question est celle posé dans le lien :
https://www.autoitscript.com/forum/topi ... -a-binary/
L’exemple du lien ci-dessus : « _BinaryReplace » ne semble pas pouvoir gérer le gros blob binaire (fichier), pouvez-vous m’aider à le rectifier pour qu’il remplace tous les occurrences du fichier à modifier sous AutoIt avec « _BinaryReplace »?
Je compte sur votre collaboration. Merci.
Code : Tout sélectionner
$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.
EndFunc