- x86汇编与逆向工程:软件破解与防护的艺术
- (美)斯蒂芬妮·多马斯 (美)克里斯托弗·多马斯
- 380字
- 2025-02-10 16:05:48
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程序。