我试图弄清楚这个 objdump -d 的所有元素的含义。
例如我有:
08048b50 <phase_1>:
8048b50: 83 ec 1c sub $0x1c,%esp
8048b53: c7 44 24 04 68 a2 04 movl $0x804a268,0x4(%esp)
8048b5a: 08
8048b5b: 8b 44 24 20 mov 0x20(%esp),%eax
8048b5f: 89 04 24 mov %eax,(%esp)
8048b62: e8 63 04 00 00 call 8048fca <strings_not_equal>
8048b67: 85 c0 test %eax,%eax
8048b69: 74 05 je 8048b70 <phase_1+0x20>
8048b6b: e8 f5 06 00 00 call 8049265 <explode_bomb>
8048b70: 83 c4 1c add $0x1c,%esp
8048b73: c3 ret
具体来说,我不确定第一列和中间列告诉我什么
第一列告诉您代码在运行时所在的内存地址。
第二列包含可执行指令的十六进制版本。
第三(和第四)列有第二列的拆卸版本。即操作码和操作数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)