Linux下有一个od命令,可以用16进制的方式,打开obj程序文件。本文以od命令打开Python3.7举例。
用od命令打开python3.7:
xinlin@ubuntu:~$ od -N 200 /usr/local/python-3.7/bin/python3.7
0000000 042577 043114 000402 000001 000000 000000 000000 000000
0000020 000003 000076 000001 000000 043700 000006 000000 000000
0000040 000100 000000 000000 000000 056300 000341 000000 000000
0000060 000000 000000 000100 000070 000011 000100 000045 000044
0000100 000006 000000 000004 000000 000100 000000 000000 000000
0000120 000100 000000 000000 000000 000100 000000 000000 000000
0000140 000770 000000 000000 000000 000770 000000 000000 000000
0000160 000010 000000 000000 000000 000003 000000 000004 000000
0000200 001070 000000 000000 000000 001070 000000 000000 000000
0000220 001070 000000 000000 000000 000034 000000 000000 000000
0000240 000034 000000 000000 000000 000001 000000 000000 000000
0000260 000001 000000 000005 000000 000000 000000 000000 000000
0000300 000000 000000 000000 000000
0000310
最左边的一列是地址,每一行显示16个字符。
-N 200,显示只显前200个字符。
od命令默认使用8进制显示。
用16进制的方式打开Python3.7:
xinlin@ubuntu:~$ od -x -N 200 /usr/local/python-3.7/bin/python3.7
0000000 457f 464c 0102 0001 0000 0000 0000 0000
0000020 0003 003e 0001 0000 47c0 0006 0000 0000
0000040 0040 0000 0000 0000 5cc0 00e1 0000 0000
0000060 0000 0000 0040 0038 0009 0040 0025 0024
0000100 0006 0000 0004 0000 0040 0000 0000 0000
0000120 0040 0000 0000 0000 0040 0000 0000 0000
0000140 01f8 0000 0000 0000 01f8 0000 0000 0000
0000160 0008 0000 0000 0000 0003 0000 0004 0000
0000200 0238 0000 0000 0000 0238 0000 0000 0000
0000220 0238 0000 0000 0000 001c 0000 0000 0000
0000240 001c 0000 0000 0000 0001 0000 0000 0000
0000260 0001 0000 0005 0000 0000 0000 0000 0000
0000300 0000 0000 0000 0000
0000310
-x参数,指示od命令以16进制的方式显示obj文件。
用16进制的方式打开python3.7,跳过前面的1000个字符:
xinlin@ubuntu:~$ od -x -j 1000 -N 200 /usr/local/python-3.7/bin/python3.7
0001750 d004 2080 0008 1440 1010 1020 4484 0480
0001770 2c0b 8081 7885 8024 1081 32d6 0012 a044
0002010 9c66 0204 8620 0020 4200 0258 4180 3304
0002030 6011 e040 220a d409 040c 0651 5044 c930
0002050 428e d004 0b04 2343 1809 5080 0452 8480
0002070 1100 10c0 0000 0402 1110 00b3 0840 0130
0002110 0582 402e 8086 8002 0000 0000 0104 0408
0002130 2863 100c 4004 0511 b226 4528 8940 1000
0002150 4232 4220 0010 0450 8880 e040 3080 10a0
0002170 4810 00e0 1120 1062 4c21 4280 0051 4160
0002210 1002 0050 0000 4282 0100 09d0 0810 a06a
0002230 1922 0228 9080 4220 a044 0000 0200 4040
0002250 0900 0cc3 4840 0904
0002260
-j参数,表示od命令会跳过前面多少个字节。
-j和-N配置起来使。
以上就是用举例的方式介绍od命令打开obj文件。