第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    write@PLT
        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命令進行反彙編。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章