天天看点

第73部分- Linux x86 64位汇编 反汇编objdump第73部分- Linux x86 64位汇编 反汇编objdump

第73部分- Linux x86 64位汇编 反汇编objdump

通过objdump可以进行反汇编操作。

通过objdump -d xxx可以查看二进制目标程序。

准备一个经典代码如下,我们进行编译,gcc -S disass.c  -o disass.s,得到汇编代码。

#include <unistd.h>
int main(void) {
	write(1, "Hello World\n", 15);
	return 0;
}
           

得到的汇编代码如下:

.file   "disass.c"
        .text
        .section        .rodata
.LC0:
        .string "Hello World\n"
        .text
        .globl  main
        .type   main, @function
main:
.LFB0:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        movl    $15, %edx
        leaq    .LC0(%rip), %rsi
        movl    $1, %edi
        call    [email protected]
        movl    $0, %eax
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE0:
        .size   main, .-main
        .ident  "GCC: (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0"
        .section        .note.GNU-stack,"",@progbits
           

也可以编译成二进制文件后通过命令objdump命令进行反汇编。

继续阅读