Methoden zum Hex-Editieren von Binärdateien über Powershell

Ich versuche, binäre Hex-Bearbeitung über die Befehlszeile mit nur Powershell durchzuführen. Teilweiser Erfolg bei der Ausführung eines Hex-Ersatzes mit diesem Snip. Das Problem tritt auf, wenn 123456 mehrmals auftritt und der Austausch nur an einer bestimmten Stelle erfolgen sollte.

HINWEIS: Der Snip benötigt dieConvert-ByteArrayToHexString undConvert-HexStringToByteArray Funktionen finden Sie hier.

http://www.sans.org/windows-security/2010/02/11/powershell-byte-array-hex-convert

$readin = [System.IO.File]::ReadAllBytes("C:\OldFile.exe");
$hx = Convert-ByteArrayToHexString $readin -width 40 -delimiter "";
$hx = $hx -replace "123456","FFFFFF";
$hx = "0x" + $hx;
$writeout = Convert-HexStringToByteArray $hx;
set-content -value $writeout -encoding byte -path "C:\NewFile.exe";

Wie können wir eine Versatzposition in Powershell angeben, um diesen skizzenhaften Befehl zum Ersetzen zu ersetzen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage