1 .在VI或vim命令状态下
:%! xxd——将当前文本转换为十六进制格式。
:%! xxd -r——将当前文件重新转换为文本格式。
2.od-dumpfilesinoctalandotherformats
义气的纸飞机通过看到八进制,通过指定参数可以看到十六进制
-A指定左侧栏中显示的地址基数。 默认值为八进制数
-t指定输出单元的二进制格式和字节数
-x=-t x2输出单元为2字节(注意:单元中的排列顺序从左向右,[字节|低字节] ) ) ) ) ) ) ) ) ) )。
示例:
chengli an @ chengli an-desktop :~~/test $ od-tx1ASM|more
0000007 f454c 4601010100000000000000000000000000000000000000000000
0000020 02 00 03 00 01 00 00 00 54 80 04 08 34 00 00 00
chengli an @ chengli an-desktop :~/test $ od-ax-tx1ASM|more
0000007 f454c 4601010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000010 02 00 03 00 01 00 00 00 54 80 04 08 34 00 00 00
chengli an @ chengli an-desktop :~/test $ od-ax-xasm|more
00000457 f464c 01000100000000000000000000000000000000000000000000000
000010 0002 0003 0001 0000 8054 0804 0034 0000
2. hexdump - ascii,decimal,hexadecimal,octal dump
显示16个机制的首选工具。
-c每个单元以字节为单位显示对应的ASCII代码
-同时显示16个机制和ASCII代码(以字节为单位)
示例:
chengli an @ chengli an-desktop :~~/test $ hex dump-casm|more
000000177 elf 001001001/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0
000010002/0003/0001/0/0/0t 200004/B4/0/0/0
chengli an @ chengli an-desktop :~~/test $ hex dump-casm|more
00000007 f454c 46010101000000000000000|. elf .||
00000010020003000100000000548004083400000 |…t…4…|
3.xxd-makeahexdumpordothereverse。
可以显示与文件对应的十六进制格式,也可以将修复的十六进制格式写回文件,通常与vim结合使用。 (使用虚拟机(! 参数执行外部命令)
使用步骤如下。
)1)查看vim中要打开的文件
vim txtfile
)2)在vim命令模式下输入
:%! xxd
解释: %表示文件中的所有行。 xxd表示执行外部命令xxd,合并后,将当前vim中显示的所有行传递给xxd,xxd将处理的结果重新显示给vim。
)3)此时,可以直接在上面修改十六进制值。 注:当前十六进制值已更改。 右侧边栏上的ASCII代码不会相应更改。
)4)修改完成后,回写原文件。 在vim命令模式下输入
:%! xxd -r
只采用十六进制修改部分,而忽略右侧边栏上的ASCII代码值。
如果您不熟悉vim,请参考虚拟机附带的vimtutor,然后再参考vim cookbook。 即使掌握了主流的技巧。
有很多带GUI的十六进制编辑器参考了ghex和bless。