mtmacr0 —— 技术架构指南
1. 概览与核心架构
适用于 PUBG(TslGame.exe)的外部覆盖层系统,不向游戏进程注入代码。
- 覆盖层应用(mtmacr0.exe):使用 D3D11 + ImGui,负责菜单、ESP 绘制和会话控制。
- 内核驱动(km_ipc_proto.sys):以原始字节形式嵌入 EXE,通过 BYOVD(iqvw64e.sys)映射。负责虚拟内存读取和 Mouclass 鼠标注入。
- SDK 与偏移:目标参考版本为 TslGame 2610.1.2.7(Globals.h)。
2. 每帧内存处理流程
- 内存线程:批量读取内存(每次往返最多 64 个操作 / 256 KiB,并使用 FNV-1a 签名),解析指针链,解密 Xenuine 指针(xe_decrypt),然后发布快照。
- 渲染线程:读取受互斥锁保护的 GSharedData 快照,并绘制视觉元素(ESP、雷达、战利品)。
- 两个线程完全解耦运行。
3. 内核传输驱动
- 通信方式:1 个未命名共享内存区 + 2 个未命名事件 + 1 个系统线程(不使用 IRP 或设备链接)。
- 操作:READ(通过 MmCopyVirtualMemory)、GET_BASE,以及 MOUSE(在 DISPATCH_LEVEL 直接调用 Mouclass 回调)。
- 要求:需要管理员权限,并且必须禁用 HVCI / 易受攻击驱动阻止列表。
4. 仓库与构建流程
- 主要文件:
- Main.cpp:会话流程
- SDK/Engine.cpp:世界 / 角色
- ESP/PlayerEsp.cpp:绘制
- SharedProto/km_ipc_driver.c:内核驱动
- 构建系统:通过 tools/build_all.ps1 自动完成,编译 WDK 驱动,将驱动字节嵌入 driver_kevent_bytes.h,然后编译 MSVC 解决方案。
版本变体:- DEV:完整调试功能和标签页
- PUBLIC:通过 MenuVariant.h 启用仅 ESP 模式
12游戏吧 » mtmacr0 - PUBG 外部工具源码(仅透视)