匯編和機(jī)器碼對(duì)照表 怎么才能知道匯編指令所對(duì)應(yīng)的機(jī)器碼呢?
怎么才能知道匯編指令所對(duì)應(yīng)的機(jī)器碼呢?如果您指的是x86匯編,您可以看到下面:通用反匯編程序顯示機(jī)器代碼。例如,可以將vs調(diào)試模式下的反匯編程序頁(yè)設(shè)置為顯示機(jī)器代碼?;蚴褂梅磪R編調(diào)試器(如OllyDb
怎么才能知道匯編指令所對(duì)應(yīng)的機(jī)器碼呢?
如果您指的是x86匯編,您可以看到下面:
通用反匯編程序顯示機(jī)器代碼。例如,可以將vs調(diào)試模式下的反匯編程序頁(yè)設(shè)置為顯示機(jī)器代碼。
或使用反匯編調(diào)試器(如OllyDbg)顯示反匯編代碼和機(jī)器代碼。
如果您想知道一段匯編代碼生成的最終機(jī)器代碼,通常需要編譯它并讓編譯器生成機(jī)器代碼。
如果您對(duì)匯編語(yǔ)言足夠熟悉,您可以自己查看部分機(jī)器代碼。例如,E8是一個(gè)調(diào)用指令等等。一般來(lái)說(shuō),這是比較困難的。熟練的逆向工程師可能更熟悉這一點(diǎn)。X86程序集有自己的編碼規(guī)則。有關(guān)詳細(xì)信息,請(qǐng)參閱英特爾開(kāi)發(fā)人員手冊(cè)。x86程序集有詳細(xì)的編碼規(guī)則。
您還可以使用反匯編引擎(如beaengine或capstone)從輸入的匯編代碼中獲取反匯編機(jī)器代碼。