倩女幽魂手游 ununtu里面怎么用objdump命令吧.c文件實(shí)現(xiàn)反匯編?
ununtu里面怎么用objdump命令吧.c文件實(shí)現(xiàn)反匯編?您可以在Linux下使用objdump命令進(jìn)行反匯編。常用命令:objdump-x obj:以某種分類信息的形式輸出目標(biāo)文件的數(shù)據(jù);obj
ununtu里面怎么用objdump命令吧.c文件實(shí)現(xiàn)反匯編?
您可以在Linux下使用objdump命令進(jìn)行反匯編。常用命令:objdump-x obj:以某種分類信息的形式輸出目標(biāo)文件的數(shù)據(jù);objdump-t obj:輸出目標(biāo)文件的符號表;objdump-H obj:輸出目標(biāo)文件的所有段;objdump-J./text/。Data-s obj:輸出指定段的信息(反匯編源代碼);objdump-s obj:輸出目標(biāo)文件的符號表;GCC-objdump-j.text-SL stack1 | more-s盡量反匯編源代碼,特別是編譯時指定調(diào)試參數(shù)-G,效果明顯。隱含-D參數(shù)。-我用文件名和行號來標(biāo)記相應(yīng)的目標(biāo)代碼。它只與-D、-D或-R一起使用。使用-LD和使用-D之間的區(qū)別不是很大。它在源代碼級調(diào)試中很有用。它要求在編譯期間使用調(diào)試和編譯選項(xiàng),如-G。-J name只顯示指定節(jié)的信息
1。掌握計(jì)算機(jī)組成的原理,即使不能掌握,也要有一個大致的了解,如CPU的結(jié)構(gòu)、寄存器的類型和功能、程序的執(zhí)行方式、如何改變與堆棧有關(guān)的寄存器的值來實(shí)現(xiàn)堆棧移動等。了解CPU寄存器的名稱和功能后,學(xué)習(xí)8086匯編指令集。
3. 用C寫一個簡單的程序,最好不要有函數(shù)調(diào)用。把它編譯成。將程序集文件與GCC進(jìn)行比較,直到完全理解為止。
4. 用C語言編寫一個函數(shù)調(diào)用的程序,然后編譯成。的匯編文件,看函數(shù)調(diào)用如何實(shí)現(xiàn)跳轉(zhuǎn)、參數(shù)傳遞、返回值等。
只有這樣我們才算是初學(xué)者。學(xué)習(xí)組裝不可能一蹴而就。基礎(chǔ)必須是非常堅(jiān)硬的,以便在閱讀匯編中不會有障礙。為了理解拆卸,我們需要在沒有閱讀障礙的基礎(chǔ)上更進(jìn)一步。
如何快速讀懂反匯編的匯編代碼?
拆卸過程與組裝過程相反。匯編是將匯編語言源程序轉(zhuǎn)換成obj文件或exe或com文件,反匯編是將exe文件(或com文件)轉(zhuǎn)換成匯編語言源程序。
有一種叫做SR.EXE文件它可以將簡單的exe或com轉(zhuǎn)換成ASM。