有没有直接的方式从命令行修改二进制文件?
假设我知道我的二进制文件包含1234abcd,我想将其改为12FFabcd或FFFFabcd,甚至可以将其改为FF34FFabc0(你可以得到这个想法):-)
@H_403_19@
假设我知道我的二进制文件包含1234abcd,我想将其改为12FFabcd或FFFFabcd,甚至可以将其改为FF34FFabc0(你可以得到这个想法):-)
在不使用任何特殊用途的工具,如http://stahlworks.com/dev/swiss-file-knife.html或类似的情况下,我可以如何实现。
只要从命令行只用标准的linux工具就可以做到这一点了。
或者甚至更好,而不是搜索十六进制字符串,我想替换直接写入FF在偏移0x10000,12在偏移0x100001等等。
任何想法?
提前致谢!
它应该是可脚本化的,并直接从命令行运行。我正在寻找类似“binary-which-is-included-in-the-distro -write AB –at-offset 100000 –file thebinary.bin”的内容。我很确定可以用“dd”,但是我不能把我的头围绕在手册页。
printf '\x31\xc0\xc3' | dd of=test_blob bs=1 seek=100 count=3 conv=notrunc
dd参数:
>的|文件补丁
> bs |请一个1个字节
>寻求|转到位置100(十进制)
> conv = notrunc |编辑后不要截断输出(默认情况下是dd)
一个乔希看着另一个;)