前端小哥玩 HTML 複選框上癮:能畫 logo 做視訊,還開源成 JS 庫
阿新 • • 發佈:2021-10-24
反彙編測試
1、通過輸入gcc -S -o week20191313.s week20191313.c
將下面c程式”week0303學號.c“編譯成彙編程式碼
2、使用指令在64位的機器上產生32位彙編,然後使用gdb example指令進入gdb偵錯程式
gcc -g week20191313.c -o week20191313 -m32
3、進入之後先在main函式處設定一個斷點,再run一下,使用disassemble(disas)指令獲取彙編程式碼
用i(info) r(registers)指令檢視各暫存器的值:
可見此時主函式的棧基址為0xffffd3e8,用x(examine)指令檢視記憶體地址中的值,但目前%esp所指堆疊內容為0,%ebp所指內容也為0
首先,結合display命令和暫存器或pc內部變數,做如下設定:display /i $pc,這樣在每次執行下一條彙編語句時,都會顯示出當前執行的語句。
開始除錯
endbr32
push
mov
sub
call
add
movl
pushl
call
add
mov
add
leave
ret
主函式的彙編程式碼
f函式的彙編程式碼
g函式的彙編程式碼
f中每一條語句引起的變化情況