-
-
[原创]对于某游戏残端逆向分析 并同步使用更高级的客户端过程 (一)
-
发表于:
2022-7-1 15:43
16355
-
[原创]对于某游戏残端逆向分析 并同步使用更高级的客户端过程 (一)
最近在浏览github的时候发现了一份游戏泄露的服务端,客户端对应使用的为2013年06月27的客户端exe文件,单机玩的时候发现内容很少,为了让这个服务端使用更高级的客户端开始对游戏进行逆向,修改添加服务端所缺少,错误的包
下载了2013年10月31号的客户端文件,改hosts发现W10无法进入游戏,W7可以正常进入游戏,猜测游戏反作弊驱动之类的东西不支持w10,对游戏客户端进行脱壳.
对于脱壳研究甚少,查询论坛有关资料发现后,一些简单的壳脱壳过程就是寻找OEP,修复IAT这样的过程,报着试一下想法开始我的骚操作脱壳.
使用W7虚拟机进入游戏,dump一份游戏,参考别人13年07月25的客户端文件我们可以轻松找到入口点.(ps:游戏内测时候有一份没加壳的exe也可以参考)
利用第一个call的入口做特征
8B FF 55 8B EC 83 EC 10 A1 ? ? ? ? 83 65 F8 00 83 65 FC 00 53 57 BF ? ? ? ? BB ? ? ? ? 3B C7 74 0D 85 C3 74 09
对比2方文件字节后可以发现第一个call,才是入口ep call过来的第一个call,这个时候我们就要想着如何在EP上下断来dump游戏,检查发现后他会先加载完2个反作弊的dll才会跑起来游戏,我们使用detours hook LoadLibraryW里面写个msgbox卡住进程,等待游戏加载到TenSLX.dll的后,在0x141E37B下硬件改写断点,断下来后,vm的内存就被跑出来了,然后上面下断点,运行断下,dump游戏,开始修复IAT. (ps:记得用ARK工具恢复游戏的进程钩子)
修复IAT的时候注意游戏重载了好几个模块 需要自己手动修复下然后就脱壳了.(游戏里面还有反作弊的一个模块,那个模块的IAT也需要修复)
以下为2014年08月最后一个客户端进入游戏截图
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2022-7-1 16:35
被aRax编辑
,原因: