x86 汇编速成课¶
当程序的源代码编译成二进制时,它被剥离所有不必要的工件,翻译成机器代码。这种机器代码只由字节组成(命令字节叫操作码,但也有代表操作数的字节),直接送到处理器,确切告诉它如何行动。那些 1 和 0 翻转晶体管控制计算,它们可能极难理解。为了让计算机更容易交谈,处理此类代码的工程师使用汇编语言,一种用缩写名称(叫做助记符)和简单语法表示原始机器操作码的速记。
汇编语言对游戏黑客很重要,因为许多强大的破解只能通过直接操纵游戏的汇编代码实现,比如 NOP 填充或钩子。在本节中,你将学习 x86 汇编语言的基础知识,这是专门用于与 32 位处理器交谈的一种汇编。汇编语言非常广泛,为了简洁,本节只讨论对游戏黑客最有用的那一小部分汇编概念。
注 在本节中,许多小段汇编代码包含用分号(;)隔开的注 释,用于更详细地描述每条指令。