文章总结: 本文深度分析某游戏外挂实现原理,通过逆向qqmusic.dll等文件揭示其采用进程替换注入、Direct3D11渲染界面、YOLO系列模型AI图像识别(通过ONNXRuntime推理)、UDP远程控制及模拟输入等技术链,具备自瞄/锁头功能;外挂未设反调试措施,技术门槛较低,作者呼吁绿色游戏。 综合评分: 86 文章分类: 恶意软件,逆向分析,免杀,游戏安全,AI安全
xx音乐OBS吸附?某现象级游戏外挂逆向破解及深度分析
原创
Flowers aq Flowers aq
flower安全
2026年6月2日 10:30 甘肃
在小说阅读器读本章
去阅读
CyberSecurity
前言
最近OBS吸附闹的沸沸扬扬,不少玩家都遇到了违规使用游戏外挂的玩家,而最常见的就是最近的xx音乐OBS吸附,笔者偶然间获取到了外挂的全部打包文件,本文就跟着笔者一同逆向分析下这个最近让玩家苦不堪言的游戏外挂吧。
CyberSecurity
正文
声明:为防止他人恶意还原外挂文件,本文仅仅只会对部分核心功能进行分析且不会大面积放出程序源码,请大家合法合规游玩网络游戏,本文仅供技术学习使用!
获取到文件后笔者发现,此文件完全未加任何反调试措施也有可能是游戏外挂不太需要这个功能,笔者接触外挂少不太懂。
直接对 QQMusic.dll文件使用IDA Pro反编译就能精确还原出.cpp源码,我们先对这个cpp文件进行分析可知此外挂的核心功能,再对其他文件进行分析可知外挂运行流程(本文有点长)
一,CPP源码文件解读:
先通过对.cpp代码中关键函数的阅读我们可以知道这个外挂文件的核心功能:
1,DllMain(…):
DLL 被加载进目标进程时最先执行的入口,其负责减少系统回调开销、做一次用户确认(弹窗)、防卸载、启动真正的工作线程。
2,WorkerThread(void* lpParam):
注入成功后真正的主初始化线程,负责加载配置/初始化图形环境/启动网络线程/提权/进入主循环。
3,EnableDebugPrivilege():
向当前进程令牌申请开启 SeDebugPrivilege,这能让进程更容易打开/操作其它进程(例如读取/写入、打开高权限句柄等),这个功能在外挂和恶意代码中其实很常见,经常写恶意脚本或者做逆向的师傅应该遇到过。
注:( SeDebugPrivilege 是 Windows 操作系统中的一种高权限,允许用户以调试模式访问系统中的进程和线程对象。默认情况下,该权限授予 Administrators 组的用户,但也可以单独分配给其他账户或进程。它在调试工具、安全研究以及某些攻击场景中具有重要作用。)
4,UdpReceiveThread(…):
在被注入的进程里开启 UDP socket 并监听端口,持续接收外部发来的数据包。把数据包解析结果写入全局变量,供主循环/其它逻辑线程消费,从而实现“外部控制内部状态”。游戏中对应的“锁头”、“自瞄”在此处开始就有迹可循。
5,InitD3D11AndWindow(MainContext* ctx):
构建一个自己的窗口与 D3D11 渲染环境,为 ImGui 菜单、叠加层、以及可能的图像处理流程提供图形上下文。代码里窗口类名/标题是固定字符串(如 QQTEST / QQ音乐AI注入器),也是强特征。
6,RenderMainUI():
用 ImGui 渲染菜单(模型路径输入、模式选择、开关、滑块等)。对应游戏中“可调菜单/叠加层”体验;也是外挂常见结构。
7,总结CPP源码核心功能:
1. Direct3D 11 渲染窗口 (隐藏窗口 "QQTEST")2. 基于 ImGui/DirectX 的 UI 界面3. 通过 DXGI 进行屏幕捕获和 AI 推理4. YOLOV5/7, YOLOX, YOLOV8 多种模型支持5. UDP 网络远程控制 (Socket 接收)6. Config.ini 配置文件管理7. 鼠标/键盘模拟 (SendInput)8. SeDebugPrivilege 权限提升
但还需要对其他文件进行逆向分析才能得知外挂运转的整体流程
二,其余文件解读(动态调试+PE结构分析+模型解析+反汇编逆向):
分析的文件共包括:Xprocess.exe、QQmusic.dll、External_hid.dll、DirectML.dll、onnxruntime.dll、opencv_world480.dll、Dawan_0305_r3fp16_v8s_256.onnx源文件中还包含其他一些模型的扩展文件,但主体功能是由这些文件完成,没必要分析其他文件。
1,PE结构分析:
1.1,QQmusic.dll:
通过对QQmusic.dll的PE结构解析可知
QQmusic.dll架构: 0x8664 (AMD64)节区数: 6入口点: 0x7ED60镜像基址: 0x180000000子系统: 2
其导出函数包括:
Initialize @ 0x1800D6710 (初始化入口) Uninitialize @ 0x1800D6A20 (卸载入口)
导入关键API包括:OrtCreateEnv, OrtCreateSession, OrtRun、cv::Mat、cv::dnn::Net, cv::resize、CreateFile, ReadFile, WriteFile、FindWindow, SendMessage,这些API包括了AI模型推理、图像处理、文件操作、窗口操作等功能。
1.2,External_hid.dll:
通过对QQmusic.dll的PE结构解析可知其主要函数包括
Hid_Initialize @ 0x180030480 (初始化AI引擎) Hid_ProcessAudio @ 0x180030B70 (处理音频/图像数据) Hid_Uninitialize @ 0x180030EA0 (卸载AI引擎) HID = Human Interface Device (人机交互设备)
可知此模块用于模拟键盘鼠标的输入
1.3,DirectML.dll:
此文件是微软官方的纯净文件,DirectML 是微软开发的一种高性能、硬件加速的机器学习 API,基于 DirectX 12 构建。它为常见的机器学习任务提供 GPU 加速,支持所有兼容 DirectX 12 的硬件,包括 AMD、Intel、NVIDIA 和 Qualcomm 的 GPU。
2,反汇编逆向分析:
0x1800D4B94: push rbp0x1800D4B95: mov rbp, rsp0x1800D4B98: sub rsp, 0x300x1800D4B9C: mov dword ptr [rbp-4], ecx0x1800D4B9F: mov qword ptr [rbp-16], rdx0x1800D4BA3: mov qword ptr [rbp-24], r80x1800D4BA7: cmp dword ptr [rbp-4], 1 ; DLL_PROCESS_ATTACH0x1800D4BAB: jne 0x1800D4BC00x1800D4BAD: call 0x1800D6710 ; call Initialize0x1800D4BB2: test eax, eax0x1800D4BB4: jne 0x1800D4BC00x1800D4BB6: xor eax, eax0x1800D4BB8: jmp 0x1800D4BC50x1800D4BBA: mov eax, 10x1800D4BBF: ret
2.1,其中反汇编Initialize 函数可知其主要功能包括了:
1. 创建临时目录("Temp\\QQMusic")2. 释放内嵌 DLL 到磁盘(QQMusic.dll)3. 写入配置文件(QQMusic.ini)4. 加载 External_hid.dll5. 调用 Hid_Initialize(call rax ; 调用 Hid_Initialize)6. Hook QQMusic API(HookAudioAPI、HookNetworkAPI、HookUIAPI)
2.2,反汇编Uninitialize 函数可知其主要功能包括了:
1. 卸载所有 Hook(call UnhookAll)2. 调用 Hid_Uninitialize3. 清理临时文件4. 返回
2.3,逆向分析External_hid.dll:
为什么要对此文件单独进行分析说明呢,因为其暴露了外挂文件的调用链!
Hid_Initialize (0x180030480)OrtCreateEnv (创建 ONNX Runtime 环境)OrtCreateSession (加载模型创建会话)Decrypt2hxSection (解密.2hx 节区权重)DMLCreateDevice (创建 DirectML GPU 设备)Hid_ProcessAudio (0x180030B70)cv::imread / cv::resize (图像预处理)OrtRun (AI 推理)cv::dnn::Net::forward (前向传播)PostProcess (后处理/坐标转换)Hid_Uninitialize (0x180030EA0)
2.3,字符串提取分析:
通过对两个关键dll文件(QQmusic.dll和External_hid.dll)中的关键字符串进行提取也可总结出外挂所调用的推理框架及图像库等。
"Temp\\QQMusic" (临时目录路径)"QQMusic.dll" (DLL 文件名)"QQMusic.ini" (配置文件)"External_hid.dll" (核心引擎)"Hid_Initialize" (初始化函数名)"Hid_ProcessAudio" (处理函数名)"Hid_Uninitialize" (卸载函数名)"CreateRemoteThread" (注入 API)"LoadLibraryW" (加载 DLL)"Dawan_0305_r3fp16_v8s_256.onnx" (模型文件名)"onnxruntime.dll" (推理框架)"opencv_world480.dll" (图像库)"DirectML" (GPU 加速)"images" (模型输入节点名)"model.22" (Detect 检测头)
三,全流程还原:
综上分析就可以得出整个外挂软件的运行流程,共可以分为进程启动与替换、DLL释放与加载、AI引擎的初始化、实际功能的运行、卸载与清理。
3.1,进程启动与替换:
1 用户双击 Xprocess.exe MFC (窗口程序启动 )2 查找 QQMusic.exe 进程 (CreateToolhelp32Snapshot )3 创建挂起进程 (CreateProcess(CREATE_SUSPENDED) )4 解除原镜像映射( ZwUnmapViewOfSection )5 远程分配内存 (VirtualAllocEx )6 写入自身镜像 (WriteProcessMemory )7 设置入口点 (SetThreadContext )8 恢复线程执行 (ResumeThread)
3.2,DLL释放与加载:
1 创建临时目录 (C:\...\Temp\QQMusic\ )2 释放 QQmusic.dll (从.rsrc 节区提取) 3 写入配置文件 (创建 QQMusic.ini )4 加载 QQmusic.dll (LoadLibraryW) 5 调用 Initialize (导出函数入口)
3.3,实际功能的运行:
1 Hook 渲染 API IAT (Hook / Inline Hook)2 截取游戏画面 OpenCV 截取窗口/屏幕3 图像预处理 cv::resize(256x256)4 AI 推理 OrtRun(YOLOv8s 目标检测)5 后处理 NMS + 坐标转换6 模拟操作 SendInput/mouse_event
3.4,卸载与清理:
1 用户关闭外挂 窗口关闭事件触发2 调用 Uninitialize QQmusic.dll 导出函数3 卸载所有 Hook 恢复原始 API 调用4 调用 Hid_Uninitialize 释放 AI 引擎资源5 删除临时文件 清理临时目录
四,总结:
总的来说其实此外挂共包含了进程替换、AI驱动、加密模型保护、自动化操作等四个链路,因为其直接在QQmusic.exe进程中执行代码所以可以绕过大部分安全软件的进程注入检测,其中也包含了一些游戏反作弊软件。又因为其截屏→预处理→AI推理→坐标转换→模拟输入操控链在PC端控制在毫秒级,所以能在游戏中轻松实现“颗秒”操作。但此外挂并未作任何反调试其用的函数也非常常见简单,本来其他朋友还在说可以写一期Claude自动化调试的文章,但逆向这个外挂技术难度太低笔者觉得消耗Token实在没必要(主要是贵),如果大家喜欢结合自动化分析的文章可在后台私信留言,往后找些有难度的恶意软件可以写写。
最后笔者还想说,游戏本是用来隔绝现实烦恼,娱乐放松的工具,但有人太过当真将游戏也视为寻找存在感的工具。正如《黑客心理学:社会工程学原理》中所说:“将游戏从娱乐异化为存在感的赌注,不过是用虚拟的输赢,逃避现实的无能”,大家切勿触碰法律红线,绿色游玩游戏!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:flower安全 Flowers aq Flowers aq《xx音乐OBS吸附?某现象级游戏外挂逆向破解及深度分析》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论