1,生成一个二进制文件
dd 工具
# 全零 二进制文件
dd if=/dev/zero of=1.bin bs=1 count=1024
#全0xff
tr '\000' '\377' < /dev/zero | dd of=all_0xff.bin bs=1 count=1024 > /dev/null
xxd 工具:只能改单个地址
#
echo "0x123" | xxd -r – xxd.bin
修改二制文件某个地址的值,比如修改上位全FF all_oxff.bin 里,第10个地值时
echo "10:0x12" | xxd -r - all_0xff.bin
yuan@ubuntu:~$ echo "10:0x12" | xxd -r - all_0xff.bin
yuan@ubuntu:~$ xxd all_0xff.bin
0000000: ffff ffff ffff ffff ffff ffff ffff ffff ................
0000010: 12ff ffff ffff ffff ffff ffff ffff ffff ................
0000020: ffff ffff ffff ffff ffff ffff ffff ffff ................
0000030: ffff ffff ffff ffff ffff ffff ffff ffff ................
0000040: ffff ffff ffff ffff ffff ffff ffff ffff
注意:使用 hexdump 查看二进制文件 结果是不一样,他会有大小端的区别。
2,将两个bin 文件合成一个
这样的话 0在前面。 0xff 在后面
cat 1.bin al_0xff.bin > 2.bin
3,更改二进制文件里面某一块地址的内容
把 dd 和xxd 结合使用, dd 生成一块内容。 然后使用xxd 去改你想要改的内容
# 使用dd 生成一个全是零的bin文件 长度为10
dd if=/dev/zero of=1.bin bs=1 count=10
# 使用xxd 把前面全0xff 的文件从0x10 开始改成0
xxd 1.bin | xxd -r -s 0x10 - all_0xff.bin
如果想改成自己想要的地址,利用好for 这些工具吧