吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12749|回复: 20
收起左侧

[原创] 【仙境传说RO】应用层反调试分析

  [复制链接]
小俊 发表于 2018-4-14 13:23
本帖最后由 小俊 于 2018-4-14 13:28 编辑

游戏:仙境传说RO(台服 or 韩服)
工具:PCHunter丶x32dbg丶Cheat Engine丶Process Hacker 2
游戏界面:
QQ截图20180414123243.png
用CE附加一下:
QQ截图20180414123442.png
发现附加不上
用x32dbg(管理员运行)附加一下试试
QQ截图20180414123830.png
没有发现Ragexe.exe这个游戏程序
到这里我以为OpenProcess函数被下钩子了,用PCHunter发现这游戏没有加载驱动,所以这应该是应用层做的反调试了
附加不了那就用调试器直接打开,饶过客户端,这游戏登陆是直接放在游戏里的,所以客户端没啥用
QQ截图20180414124512.png
但是游戏做了一些限制,直接运行游戏,会出异常
QQ截图20180414124745.png
正常上游戏,发现游戏后面跟了一个参数为"1rag1"
65$RMJL7]}6JB5P4`8R6C]5.png
测试发现,运行游戏的时候,加一个参数"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 ,在这个函数下断点,然后栈回溯
QQ截图20180414131750.png
发现CDClient.dll这个模块加载是时候,设置了权限,直接NOP掉发现,CE能够正常附加,调试器也能够正常调试啦

免费评分

参与人数 11吾爱币 +16 热心值 +11 收起 理由
arwind + 1 + 1 用心讨论,共获提升!
jdt + 1 + 1 我很赞同!
Hmily + 6 + 1 用心讨论,共获提升!
onmark + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
qaz003 + 1 谢谢@Thanks!
二娃 + 1 + 1 我很赞同!
黑的思想 + 2 + 1 用心讨论,共获提升!
gm188 + 1 + 1 用心讨论,共获提升!
拿破仑骑乌龟 + 1 + 1 我很赞同!
沙丁鱼的凝眸 + 1 + 1 我很赞同!
王崽崽 + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2018-4-18 14:59
以前用x64dbg也遇到不能加参数的问题,最后找了个插件可以支持参数启动,但好像现在新版已经默认添加这个功能了。
头像被屏蔽
zd326379 发表于 2018-4-14 13:31
lm180180 发表于 2018-4-14 13:37
CarroAro 发表于 2018-4-14 14:15
其實在遊戲保護方面 cd沒啥特別
特別的是他在搞你輔助的時候 那才頭痛
linuxprobe 发表于 2018-4-14 16:21
请问你是用什么工具来分析的?
莫轻舞 发表于 2018-4-14 16:40
游戏好玩吗?看起来不错,准备去试试
smallpox 发表于 2018-4-14 17:05
谢谢分享
 楼主| 小俊 发表于 2018-4-14 17:09
莫轻舞 发表于 2018-4-14 16:40
游戏好玩吗?看起来不错,准备去试试

不好玩,千万别试
 楼主| 小俊 发表于 2018-4-14 17:22
linuxprobe 发表于 2018-4-14 16:21
请问你是用什么工具来分析的?

开头不是说了么
p88880000 发表于 2018-4-14 17:49
新手发现NOP真是太强大了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 03:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表