-
-
[旧帖]
[求助][求助]一个游戏外挂DLL的疑惑!!!
0.00雪花
-
发表于:
2013-1-16 20:39
2814
-
[旧帖] [求助][求助]一个游戏外挂DLL的疑惑!!!
0.00雪花
最近闲的无聊,想破解一个游戏外挂,我也不会什么脱壳什么的,太累。我只是写一些APIhook,解包、封包、发包之类的。
一般的游戏外挂都是远程线程注入DLL,先是一个登陆界面,输入外挂账号密码,点击登陆,外挂登录模块就开始和服务器通讯验证,判断当前输的账号,是否已注册,或是否还有剩余天数,当验证成功后,启动游戏,等待游戏主进程的启动,一旦发现,就将自己准备好的DLL注入,然后外挂在游戏进程中启动了一个功能界面,等待玩家输入账号密码,加载游戏人物后,外挂界面才读取游戏人物信息,这是就可以使用了!
这个时候疑惑就来了,我把登录验证这一块给Hook掉了,也就是说,无需验证就可以登录,账号密码随便输入都能登录成功,然后外挂正常把自己的DLL注入到了游戏,但当我输入游戏账号密码后,游戏刚加载进入游戏人物界面,外挂自己就关了,游戏出错,死掉了!
我刚开始,我觉得这个现象很正常,一个外挂肯定是除了验证登录外,注入游戏后,DLL自身也有验证,然后我就开始研究这个DLL的验证问题,我初想的是,外挂DLL注入成功后,会跟外挂登录验证一样和服务器进行通讯,但我通过网路数据包的截取,没有发现任何可疑数据包,如果它不和远程服务器通讯的话,它又是怎么验证,然后自动关闭的呢?还有就是,外挂登录界面注入成功后,就自己关闭了,登录界面和DLL之间好像也没有进行任何通讯。。。。。
大家帮我想想,注入的DLL是怎样验证的,还有一点我发现,DLL注入后,都是在游戏加载人物,场景的时候关闭的,我猜疑是它在等待读取游戏里的账号信息,然后再进行某种验证的!
还有就是这个游戏是受NP保护的,那一般的操作内存的API函数(以及函数的相关驱动函数)都被NP HOOK了,外挂自身是怎么读取游戏的数据的,很茫然!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)