CE 术语、命令速查与资料导航
CE 教程会反复使用地址、指针、扫描和脚本等概念。本篇汇总常用术语与接口,方便学习时回查;实际参数以当前安装所附文档为准。
内存与扫描
地址是进程内存中的位置,值是该位置按某种数据类型解释后的内容;相同字节以整数与浮点解释会得到不同结果。模块基址是程序或库映射到当前进程的起点,模块加偏移可以表达随加载位置变化的地址。首次扫描建立候选集,下一次扫描按新的条件缩小候选,Unknown initial value 用于初始值未知的情况。
指针与代码
指针通常保存另一个地址;指针链通过多次读取地址并加偏移定位目标。反汇编器把机器码解释为指令,调试器可在访问或写入发生时收集上下文。Auto Assembler 使用启用和停用段组织汇编脚本;AOB 是字节数组,通配符允许部分字节变化,但也可能导致多个匹配。
Lua 常见接口
openProcess 选择进程;getAddressSafe 解析失败时返回 nil;readInteger、readFloat 等按类型读取;getAddressList 返回地址表;createMemScan 与 createFoundList 组织扫描;createTimer、createHotkey 创建需要管理生命周期的对象;autoAssemble 运行 AA 文本。接口名称相似不代表参数相同,应先查本机 celua.txt。
资料怎样用
官方 Tutorial 提供可重复的练习过程,官方 CE Wiki 解释指针、AOB 与 AA;源码仓库的 celua.txt 是 CE 专有 Lua 接口参考。Lua 语言自身的语法与 CE 封装的对象方法需要分开查阅。阅读版本较旧的帖子时,先核对发布日期、架构和目标版本,再对照当前软件验证,不照搬具体地址。
进一步验证
调试时还会见到寄存器、偏移和断点:寄存器是处理器执行指令时使用的存储位置;偏移通常是在基址或指针基础上计算的位置;断点用于在指定事件发生时暂停或记录。十六进制是一种数字表示方式,不会改变内存里的字节。区分地址本身、地址中的值以及显示格式,是读懂指针表达式的重要前提。
冻结是周期性维持某条记录的值,通常不同于改变程序执行的写入指令。候选地址指满足当前筛选条件的位置集合,需要进一步观察才能确定含义。脚本中的启用和停用通常成对出现,停用阶段应恢复修改并释放自己创建的资源。