- x86匯編與逆向工程:軟件破解與防護的藝術
- (美)斯蒂芬妮·多馬斯 (美)克里斯托弗·多馬斯
- 380字
- 2025-02-10 16:05:47
3.2 x86指令
x86匯編語言包括數百種指令。其中最常用的包括以下幾種:
? 算術指令:
■ add。
■ sub。
■ mul。
■ inc。
■ dec。
? 位操作指令:
■ and。
■ or。
■ xor。
■ not。
? 棧指令:
■ call。
■ return。
■ push。
■ pop。
? 數據移動指令:
■ mov。
? 執行流程指令:
■ jmp。
■ 條件跳躍指令。
? 比較指令:
■ test。
■ cmp。
? 其他指令:
■ lea。
■ nop。
雖然這看起來很多,但請考慮一下編程語言中常用的操作符(+、-、*、/、%、&&、||、&、|、^、!、~、<、>、<=、>=、==、.、->等)和主要關鍵詞(if、else、switch、while、do、case、break、continue、for等)。用匯編語言實現這些行為需要很強的能力。
說實話,沒有人能記住所有的x86指令,也沒有必要這樣做。x86指令的完整列表可以在http://ref.x86asm.net/coder32.html上找到,若有需要,可以在這里查閱任何指令的詳細信息。
然而,要想成為一名成功的逆向工程師,理解最常用的x86指令的工作原理是非常必要的。如果你熟悉這部分關鍵的x86指令,你就能閱讀并理解大多數x86程序。