1. 编辑过程

1. xxd bin bin.dump 将file转换为可编辑格式,并输出到文件file.dump中。 2. 使用编辑器编辑文件。 3. xxd -r bin.dump > bin 修改即成功。

2.配合vim以二进制模式编辑文件

1. vim bin -b 使用二进制模式打开文件。 2. :%!xxd 运行xxd程序转换文件为可编辑格式。 3. 编辑文件。 4. :%!xxd -r 将文件转换回二进制格式。 5. 保存退出即可。

3.示例3.1 修改pcap文件

(1)待修改的pcap文件如下所示:

linux 查看二进制文件 的内容(Linux使用xxd命令编辑二进制文件)(1)

pcap文件

(2)找到最后一个数据包的校验和部分,修改校验和0x22b3为0x22b4

linux 查看二进制文件 的内容(Linux使用xxd命令编辑二进制文件)(2)

修改过程

linux 查看二进制文件 的内容(Linux使用xxd命令编辑二进制文件)(3)

编辑文件

(3)Wireshark打开数据包可以看到最后一个数据包校验和已经被修改

linux 查看二进制文件 的内容(Linux使用xxd命令编辑二进制文件)(4)

修改后的pcap文件

3.2 修改ELF可执行文件

C文件

#include <stdio.h> int main(void) { printf("World!\n"); return 0; }

(1) 编辑生成的ELF可执行文件, 将字符串World的W改为X

linux 查看二进制文件 的内容(Linux使用xxd命令编辑二进制文件)(5)

编辑过程

linux 查看二进制文件 的内容(Linux使用xxd命令编辑二进制文件)(6)

编辑文件

(2)保存后执行可执行文件,执行结果为修改后的结果

linux 查看二进制文件 的内容(Linux使用xxd命令编辑二进制文件)(7)

执行结果

,