【仙境传说RO】应用层反调试分析
本帖最后由 小俊 于 2018-4-14 13:28 编辑游戏:仙境传说RO(台服 or 韩服)
工具:PCHunter丶x32dbg丶Cheat Engine丶Process Hacker 2
游戏界面:
用CE附加一下:
发现附加不上
用x32dbg(管理员运行)附加一下试试
没有发现Ragexe.exe这个游戏程序
到这里我以为OpenProcess函数被下钩子了,用PCHunter发现这游戏没有加载驱动,所以这应该是应用层做的反调试了
附加不了那就用调试器直接打开,饶过客户端,这游戏登陆是直接放在游戏里的,所以客户端没啥用
但是游戏做了一些限制,直接运行游戏,会出异常
正常上游戏,发现游戏后面跟了一个参数为"1rag1"
测试发现,运行游戏的时候,加一个参数"1rag1"就能正常打开游戏了,直接饶过客户端
但是坑爹的是,x32dbg好像不支持参数,这一点没OD做的好。
这样的话,只能找到验证参数的地方,直接爆破掉了
00A48B05 | 68 D0 D8 C1 00 | push ragexe.C1D8D0 | C1D8D0:"1rag1" <= 一般是用这个
00A48B0A | 57 | push edi |
00A48B0B | FF D6 | call esi |
00A48B0D | 83 C4 08 | add esp,8 |
00A48B10 | 85 C0 | test eax,eax |
00A48B12 | 0F 85 4C 01 00 00 | jne ragexe.A48C64 | jne 改成 je ,这个函数里任意一个jne都行
00A48B18 | 68 A8 D6 C1 00 | push ragexe.C1D6A8 | C1D6A8:"1sak1"
00A48B1D | 57 | push edi |
00A48B1E | FF D6 | call esi |
00A48B20 | 83 C4 08 | add esp,8 |
00A48B23 | 85 C0 | test eax,eax |
00A48B25 | 0F 85 39 01 00 00 | jne ragexe.A48C64 |
00A48B2B | 68 D8 D8 C1 00 | push ragexe.C1D8D8 | C1D8D8:"1gld1"
00A48B30 | 57 | push edi |
00A48B31 | FF D6 | call esi |
00A48B33 | 83 C4 08 | add esp,8 |
00A48B36 | 85 C0 | test eax,eax |
00A48B38 | 0F 85 26 01 00 00 | jne ragexe.A48C64 |
00A48B3E | 68 E0 D8 C1 00 | push ragexe.C1D8E0 | C1D8E0:"2rag2"
00A48B43 | 57 | push edi |
00A48B44 | FF D6 | call esi |
00A48B46 | 83 C4 08 | add esp,8 |
00A48B49 | 85 C0 | test eax,eax |
00A48B4B | 0F 85 13 01 00 00 | jne ragexe.A48C64 |
00A48B51 | 68 E8 D8 C1 00 | push ragexe.C1D8E8 | C1D8E8:"1eve1"
00A48B56 | 57 | push edi |
00A48B57 | FF D6 | call esi |
00A48B59 | 83 C4 08 | add esp,8 |
00A48B5C | 85 C0 | test eax,eax |
00A48B5E | 0F 85 00 01 00 00 | jne ragexe.A48C64 |
分析发现不光"1rag1"可以 "6free6"丶"1sak1"丶"1gld1"丶"2rag2"丶"1eve1".等等都可以
随便找一个jne改成je就能过掉参数验证了,直接饶过客户端运行游戏,这一点对工作室来说是很重要的,节省了上号的时间
经过我的发现,在系统断点的时候OpenProcess能够正常打开程序,但是到了OEP(程序入口点)的时候,OpenProcess就不能正常打开了
错误代码为权限不够,这时候我想到了,应该是TLS或者那个模块加载的时候做了这个事情,但是这个程序没有TLS,那就是模块加载的时候了
设置权限的函数为 SetSecurityInfo ,在这个函数下断点,然后栈回溯
发现CDClient.dll这个模块加载是时候,设置了权限,直接NOP掉发现,CE能够正常附加,调试器也能够正常调试啦 以前用x64dbg也遇到不能加参数的问题,最后找了个插件可以支持参数启动,但好像现在新版已经默认添加这个功能了。
谢谢分享 其實在遊戲保護方面 cd沒啥特別
特別的是他在搞你輔助的時候 那才頭痛 请问你是用什么工具来分析的? 游戏好玩吗?看起来不错,准备去试试 谢谢分享 莫轻舞 发表于 2018-4-14 16:40
游戏好玩吗?看起来不错,准备去试试
不好玩,千万别试 linuxprobe 发表于 2018-4-14 16:21
请问你是用什么工具来分析的?
开头不是说了么 新手发现NOP真是太强大了