分析游戏外挂样本的9大诀窍

分析游戏外挂样本的9大诀窍

分析游戏外挂样本的9大诀窍

原创

已于 2022-06-20 10:40:20 修改

·

5.6k 阅读

·

7

·

14

·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

文章标签:

#安全

#c++

于 2020-12-22 15:14:02 首次发布

安全

同时被 3 个专栏收录

71 篇文章

订阅专栏

游戏安全

19 篇文章

订阅专栏

笔记

9 篇文章

订阅专栏

本文介绍了一种外挂分析的方法,包括使用工具如pchunter和IDA进行代码对比,hookDeviceIOControl来跟踪通信数据,利用spy++监控游戏消息,以及对外挂EXE模块的静态分析等。这些方法有助于理解外挂的工作原理。

分析外挂需要考虑是否修改了代码,数据,是否有模块注入。可以用pchunter中dump外挂运行前后的代码段来判断。如果发现外挂有驱动文件,那么就把驱动文件dump出来,用ida静态分析下,如果发现有大量的读写操作。驱动文件肯定会和应用层进行通信,我们可以hook DeviceIOControl来打印通信的数据。外挂无注入模块,猜测通过跨进程读写内存,修改代码或模拟协议实现。使用netpeeker网络抓包工具,观察外挂网络收发包情况,发现并没有大量发包过程,猜测可能通过跨进程读写实现或修改代码实现。从驱动通信入手,对deviceiocontrol下断点,得到通信对象。开启外挂后,用spy++监控游戏内消息模拟,在键鼠未操作情况下,接受到大量的模拟按键模拟消息:来验证是否是模拟外挂。还要分析下进程的钩子。通过分析游戏的文件来分析反外挂的机制。在IDA中没有常规的入口代码,IDA并不能直接分析出程序的流程图。因此可以认定,xxxx.exe是经过保护的。如果工具被检测到的话,可以用多个版本进行测试看会不会还有问题,检测的一般都是窗口文字或者特征码,进程名称模块名称。修改ntdll的DbgBreakPoint以及DbgUserBreakPoint,将原先的Int 3修改为NOP。将这两个函数NOP掉之后,调试器没有办法直接附加上。分析外挂EXE模块,观察其注入过程。运行外挂EXE后DUMP进行静态分析。模拟类型的外挂,可以用spy++工具来监控游戏主窗口的消息,SPY++ 还可以监视进程的消息。