linux shell 操作二进制文件(xxd、dd)

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 这些工具吧

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值