指令修改

指令修改

找到目标指令

步骤:

1.找到数据内存

2.找到写该数据的指令地址

3.打开该指令的内存视图

4.按住ctrl+A打开脚本编写窗口

5.从模板(template)中选择full injection

这种方法能找到指令的绝对位置

AOB技术

在大部分情况下,上述方法找到的指令不会随着进程重启而更改位置,但如果进程更新了,指令位置可能会移动,因此需要采用AOB技术来防止因此找不到指令的情况。

AOB:Array of Bytes

原理:如果目标指令的内容没有变化,只是因为其它位置的变动而发生了整体的偏移,那么可以将这部分内容作为数据来直接使用内容扫描来查找。

步骤:

(手动)

1.复制指令内容(右键选择不包括地址)

2.开始一次新扫描

3.数据类型选择AOB,Writeable选择无要求(方块)

4.将指令内容粘贴到查找框,保留第一个字节,后续使用xx替换(代表不完全匹配),再依次用同样的方法填入后续指令,进行查找(找不到就再加一条指令,重新查找,直到扫描结果唯一)

脚本讲解

标签与执行顺序

特殊标签:与一个绝对地址绑定,将其后的指令保存在这个内存地址

普通标签:其后的指令位于内存中的某个位置,标签通过这个指令获得对应的地址

脚本更改位置

(自动)

1.找到目标指令,打开内存视图,按住ctrl+A打开脚本编写窗口

2.从模板(template)中选择AOB injection

3.将之前手动制作的匹配指令替换掉生成模板里的指令内容