中级玩家
 
- 贡献度
- 30
- 金元
- 1185
- 积分
- 249
- 精华
- 1
- 注册时间
- 2014-11-4
|
首先说一下,我水平非常差,只看过几篇逆向入门文章,只能给和我一样的小白提供一点参考意见(老鸟不要笑)我尝试分析6.5.11版本
有如下结果
直接运行主程序capmain.exe开头有一个检测,很容易找到,改无条件跳转就不会直接关闭了,
关键在于 ida pro 显示的这个data段中的名称,byte_7D1448 ,这个值查看交叉参考显示很多多处cmp 比较这个值是否大于0,但它初始是0,验证服务器完最后会有一个分支的一处把它设置为0x1
这个数值如果是0,那么你点自定义会打不开(如果有存档会让你读取存档) ,并且new game 的其余选项都点了没有反应,
好了,我直接改成1,能进游戏了,开5速一会儿就报错弹出了,f_media cpp
解决方法是找到ida的sub_475fc0这个函数 OD中的XXXXfd80
很多处报错都会调用这个函数,下面一大堆各种各样的错误字符串提示,我发现每次弹出f_media cpp 似乎都来源于同一个call对它的调用,然后改掉进入那个call的之前的条件判断,让它绕开
运行到2030年 再没有报错.
但是上面这些都没有解决真正困难的问题!我发现任何建筑的价格都是一个巨大的负数,最后我才认识到实际上是因为这个数值没有被游戏读取的缘故,所以应该是溢出的ffffffff
我猜测大概有很多处运行必须的数值是被加密的,必须根据密钥进行计算解密然后加载到内存中,因此,在你开始新游戏的时候会有一些顿卡.
如果是这样,至少需要一个正版号来获取密钥,然后分析它是如何解密的,暴力未加密没有希望,所以我就决定到此为止了.////////虽然我认为要未加密这个程序理论上肯定可以做到,你需要一个正确密钥,和一些汇编功底,固定的密钥和固定的解密函数一定能够正确加载固定的资源,但是接下来的分析就有些超出我这个小白的能力范围了///////
另外我在外网看到一个5.xxx版本的 用虚拟机的游戏资源,有3DLC,并且有人回复说运行没有问题,你有兴趣可以去找找在reddit
|
评分
-
1
查看全部评分
-
|