Методы шестнадцатеричного редактирования бинарных файлов через Powershell

Я пытаюсь выполнить двоичное редактирование в шестнадцатеричном формате из командной строки, используя только powershell. Имел частичный успех, выполняя замену гексагоном на этот фрагмент. Проблема возникает, когда 123456 происходит несколько раз, и замена должна была произойти только в определенном месте.

ПРИМЕЧАНИЕ: для снэпа требуетсяConvert-ByteArrayToHexString а такжеConvert-HexStringToByteArray функции найдены здесь.

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";

Как мы можем указать позицию смещения в powershell, чтобы заменить эту отрывочную команду -replace.

Ответы на вопрос(2)

Ваш ответ на вопрос