游戏安全实验室 首页 外挂分析 查看内容

QQ炫舞TT炸房外挂分析

发布于:2017-5-8 17:00   |    215572次阅读 作者: 管理员    |   原作者: TP   |   来自: 原创

相关信息

游戏版本:4.0.7.0

外挂版本:3.8.9.0

功能描述

  指定玩家无限弹框进行炸房

分析思路:

1. 初步分析

文件结构十分简单,只有单独一个exe文件,PEID分析后有较多壳保护

IDA分析不友好

OD附加后直接退出

1. 外挂登录流程分析反调试初步绕过

通过上述OD附加直接退出,证明外挂dbgbreak做了手脚

恢复OD继续附加,仍然退出,猜测有其他检测

Processmonitor进行检测,启动Processmonitor后程序退出,需要重启

改用hook验证方式,对几处常见的反调试检测API hook分析,最终定位到外挂有单独检测线程

根据线程ID直接将对应线程挂起,恢复DbgBreakPoint/DbgUiRemoteBreakin/DbgUserBreakPoint hook,OD附加此时程序未退出

点击登录后,程序崩溃,猜测在登录按钮中做了检测和反调,继续监控API

发现在主线程中有检测函数

修改对应判断跳转或直接用OD反反调试插件附加后程序仍然退出,猜测其他校验

窗口是否有检测,则选取HOOK的API有EnumWindows,GetWindowTextA,GetWindowTextW等常见获取控件标题的API

修改掉对应窗口校验点击登录正常

此时整个登录流程已可正常分析

 

1. 外挂注入:

分析外挂描述的线程注入,对进程创建相关检测API hook后,发现有大量的进程遍历函数调用

自己实现一个demo,将进程名修改为qqx51_game.exe,将窗口改为QQ炫舞,则可成功欺骗外挂进行注入

上述验证可发现外挂通过进程遍历后判断来感知QQ炫舞进程的创建,但是对线程注入外挂并未调用到关键的API,CreateRemoteThread/CreateThreadZwAllocateVirtualMemoryZwProtectVirtualMemoryNtCreateThreadNtQueueAPCThreadRtlCreateUserThread等函数hook,为检测到有相关调用,同时未发现其他可疑注入方式,猜测有可能实现了部分关键函数的自加载对关键函数hook分析

确定上述猜想,进一步跟进,发现外挂调用了LdrLoadDll将外挂模块Yx2.dll加载

 

1. Dll分析

PEID分析,简单UPX加壳

直接脱壳后dll加入vmp保护

脱壳前后dll大小简单增加

外挂dll注入游戏后分析,发现游戏内仍然为压缩可,阅读性差pchunter定位到发现Yx2.dll被恢复到脱壳前,进一步分析发现当前文件夹还有一个Ymz2.dll对比Ymz2Yx2完全一致,猜测外挂用了Ymz2检验和修复Yx2dll,直接这两处dll替换后脱壳后的,在使用外挂,则发现外挂还原dll

 

1. 外挂功能分析

结合外挂逻辑,对关键函数下断,未发现有call函数调用,则考虑外挂主动构造数据包,对send函数下断,发现send点被hook

外挂开启后,结合协议包ID做出过滤,定位弹框类协议,并做堆栈回溯定位到外挂模块中

进一步跟进分析确认数据包构造过程

跟进send函数,发送外挂即将这段数据调用send发送出去

至此外挂大体原理已经分析清楚

 

*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

 

分享到:
踩1 赞5

收藏

上一篇:《穿越火线(手游)》修改资源透视分析

下一篇:腾讯桌球修改瞄准线长度专用外挂分析报告

最新评论
B Color Image Link Quote Code Smilies

发表评论

top 问题反馈

返回顶部