找回密码
 立即注册
VIEW

单机大师教你如何用CE修改雷电3生命无限(此游戏有反调试CE无法跟踪)

2017-6-27 22:45| 查看: 73

      终于在单机游戏里面遇到一款具有反调试的游戏雷电3,这款游戏的反调试技术是利用提前附加自己的调试器,防止其他调试器继续调试。目前奇迹私.服比较常用的反调试手段。这个游戏是单机游戏没有驱动保护,本文为啥主要是告诉大家如何搜索此游戏的生命值。这个生命值,并没有在游戏里面具体的显示,只是显示了2个生命图标,有的玩家会认为不就是生命个数就是2,用CE直接搜索2就好了。其实是错误的。生命值为3。并且生命值内存地址-4 等于 游戏分数的内存地址。数据类型都是4字节,这个两个数据紧挨在一起。
        准备好CE和游戏,接下来开工,老鸟请无视。
                 
如上图操作,我们先搜索默认的生命数值 3 。然后 回到游戏,死掉1条命后 继续"再次搜索" 数值 2 ,如下图所示:
这个时候我们找出还是很多的地址,接下来,继续回到游戏 再死一条命,再次搜索1 ,结果如下(终于找到生命个数的内存地址了):

以上是我们找到的游戏生命个数的内存地址,并且是一个绿色的地址,游戏重启也不会改变。

这个时候我们可以直接修改为10



以上  61BDA0是 生命个数,而 61BDA0-4 = 61BD9C  是  游戏分数的内地址,也是静态地址,游戏重启不会变,欢迎测试。
但是这个游戏是具有反调试,也就是 CE无法 跟踪这个内存地址 ,"找出是什么改写了这个地址" ,CE会显示附加进程失败。说明CE无法调试这款游戏。并且OD工具也无法调试。因为这个游戏启动的时候自己会第一时间再启动一个调试器进程 来附加 游戏自身。导致其他调试工具无法附加游戏进程。因为在windows系统里面有这么一个规则,一款进程只能被一款调试器所附加!

由于本身这款游戏是免费的单机游戏, 破解它的反调试,商业价值不高,没有人会破解它,并且它的数据地址也是静态地址,游戏重启也不会变掉这些核心的静态地址。






返回顶部