微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修改shell脚本中的二进制文件?

是否有任何命令来修改shell中的二进制文件

首先我创build了一个全部为0xff的文件

$ dd if=/dev/zero ibs=1K count=1 | tr "00" "377" > ./Test.img $ hexdump Test.img 0000000 ffff ffff ffff ffff ffff ffff ffff ffff * 0000400

然后我想改变一些字节值

0000000 aaaa ffff bbbb ffff cccc ffff ffff ffff * 0000400

我该如何改变? 或shell脚本中的任何命令?

使用正则expression式检查范围

Linux系统调用和INT 80软件中断之间的巨大差异

如何在linux内核中实现clone(2)系统调用的另一个变种?

fgets在Linux上发出更长的read()调用

许可和使用Linux内核

谢谢

随时修改数据stream

如何在Linux Mint 17.1上安装R 3.1.2

为什么这个简单的汇编程序使用AT&T语法,而不是英特尔语法?

类似Linux中的.htaccess

如何从C中的核心转储文件生成一个堆栈跟踪,而不需要调用诸如gdb之类的外部工具

使用python

Python被设计为二进制清理,所以这里有一个方法

$ python -c 'open("New.img","wb").write( "xaaxaaxffxffxbbxbbxffxffxccxcc" + open("Test.img","rb").read()[10:] )'

这里是结果文件

$ hexdump New.img 0000000 aaaa ffff bbbb ffff cccc ffff ffff ffff 0000010 ffff ffff ffff ffff ffff ffff ffff ffff * 0000400

使用shell

外壳不是二进制清理的。 例如,没有外壳字符串可以包含字符x00 。 因此,任何使用shell的方法都可能会带来令人不快的意外。 但是,如果必须,请尝试:

LC_ALL=C; { printf "%s" $'xaaxaaxffxffxbbxbbxffxffxccxcc'; tail -c+11 New.img; } >New2.img

你可以只用vim -b bin-file-name,这样就可以用二进制模式启动vim了,只要你知道你在做什么就可以对任何文件做任何事情。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐