Dump of assembler code for function exit1(int):
0x08048860 <exit1(int)+0>: e9 bc ff ff ff jmp 0x8048821 <exit_stub(int)>
0x08048865 <exit1(int)+5>: 18 c7 sbb %al,%bh
0x08048867 <exit1(int)+7>: 04 24 add $0x24,%al
0x08048869 <exit1(int)+9>: fe 8a 04 08 e8 ae decb -0x5117f7fc(%edx)
0x0804886f <exit1(int)+15>: fb sti
0x08048870 <exit1(int)+16>: ff (bad)
0x08048871 <exit1(int)+17>: ff c9 dec %ecx
0x08048873 <exit1(int)+19>: c3 ret
End of assembler dump.
(gdb)
确实可以,只是显示的汇编代码格式有点乱,不如objdump好看 学习了 /r 的PATCH不是我写的么? 本帖最后由 yjf_victor 于 2012-03-24 23:26 编辑
键入“disassemble函数名”即可看到函数的反汇编,如果要与机器语言对应,就用“disassemble/r函数名”。
还有,那个gdb反汇编的的汇编代码默认的是AT&T汇编。如果不习惯,可以键入“set disassembly-flavor intel”,就能显示为Intel汇编。如果又想回到AT&T汇编,那么可以键入“set disassembly-flavor att”,设置为AT&T汇编。 机器语言对照AT&T汇编
机器语言对照Intel汇编
teawater_cu 发表于 2010-12-06 23:56 static/image/common/back.gif
/r 的PATCH不是我写的么?
你是──"两个redhat的大牛,一个google大牛,一个ibm大牛,一个cs大牛"啊 :luya: /r 这个选项应该很容易实现的,因为disassemble是通过bfd来实现对二进制文件读取的,能把汇编输出,那他肯定是知道对应的二进制文件内容的
页:
1
[2]