特征码定位技术的应用非常广泛,我们所熟知的杀毒软件的查杀原理多半是基于特征码定位技术实现查杀的,在外挂技术领域特征码定位主要用于,版本的通杀,制作一键基址获取器,动态地址的定位等。
同样的提取特征码也需要尽量找变化比较小的,并具有唯一性标志的汇编指令片段,像是call 或者大跳转,一般而言我们不能用它作为特征码。
1.首先你要通过上面的遍历技巧找到这个动态地址,将其锁定1后植物即可无限种植,效果如下所示:
2.接着在该地址上面右键,选择是什么改写了这个地址
,然后我们回到游戏,拿起植物然后直接右键放下,会出现两条汇编指令。
汇编代码分析: @当我们放下植物后出现:0040CDEA - C6 44 08 70 01 - mov byte ptr [eax+ecx+70],01 { 1 } @当我们拿起植物后出现:00488E73 - C6 45 48 00 - mov byte ptr [ebp+48],00 { 0 }
3.我们直接点击00488E73 - C6 45 48 00 - mov byte ptr [ebp+48],00
这条指令,因为这条指令是拿起植物是的状态,我们需要将代码中的00改为01即可,查看反汇编代码并提取在它之上的几条指令作为特征码,此处我们提取特征为83 f8 1c 75 08 6a 1e
这些机器码。
4.接着我们通过CE来验证一下是否能够定位到相应的地址上,在CE中选择搜索字节数组
,然后能够搜到00488E64
这个地址,而我们需要定位到00488E73
,可以将两个地址相减得到相对偏移0xF(也就是十进制的15)
就等于我们想要的地址,公式为00488e64 + 0xF = 当前地址
。
5.直接使用易语言配合我封装好的特征码定位模块
,即可实现定位基地址,需要模块可以联系我。
6.最后附一张注入成功后的效果图,如下所示: