有没有一个命令行Linux工具,将查找和replace二进制文件中的数据的hex表示? 用法示例?
例如: 's/00FF00FFFF06500B49/11BB00BFFF06500B49/g'
Perl Scirpt:
my $find_packed = pack "H*", '0100000000000000FF0A16731485400000000000FFA10201FF22FFFFFFFF0200'; my $repl_packed = pack "H*", '0100000000000000FF0A16731485400010FFC545FFA10201FF22FFFFFFFF0200'; my $file = do { local $/; <> }; $file =~ s/\Q$find_packed/$repl_packed/g; print $file;
用法:
perl hexreplace.pl in_binary > out_binary
上面的未完成版本似乎已经为我工作,感谢#perl在freenode :-)的家伙