官术网_书友最值得收藏!

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程序。

主站蜘蛛池模板: 阜城县| 余庆县| 临猗县| 滕州市| 图木舒克市| 蓝田县| 新河县| 启东市| 友谊县| 海丰县| 卓尼县| 呼图壁县| 增城市| 淮滨县| 始兴县| 始兴县| 深圳市| 碌曲县| 翼城县| 张家港市| 周宁县| 分宜县| 余干县| 贵州省| 雷山县| 江安县| 阆中市| 罗田县| 偏关县| 阿克陶县| 广南县| 龙南县| 鹤庆县| 大埔县| 正镶白旗| 武功县| 定远县| 玉树县| 布拖县| 庆元县| 武隆县|