DMALibrary进程与模块API完整指南:GetBaseDaddy、GetModuleList等实用接口速查
DMALibrary进程与模块API完整指南GetBaseDaddy、GetModuleList等实用接口速查【免费下载链接】DMALibrarySimple but extensive library for DMA users, made for gamehacking项目地址: https://gitcode.com/gh_mirrors/dm/DMALibraryDMALibrary 是一个轻量但功能全面的DMADirect Memory AccessC 库面向需要读取/写入目标进程内存的用户。本文将带你快速速查它的核心进程与模块接口——GetBaseDaddy、GetModuleList、GetPidFromName、GetBaseSize等帮助你几分钟内掌握进程基址 模块列表 内存读写的完整使用链路 ⚡为什么选择 DMALibrary这个库把 DMA 场景中最繁琐的底层细节FPGA 设备、物理内存映射、VMM 句柄管理全部封装好了你只需要关注业务逻辑。核心能力一览✅ 特征码扫描Sig Scanning✅ 单点 / 批量Scatter内存读写✅ 进程 PID、基址、基址大小获取✅ CR3 修复应对 EAC 的 DTB 混淆✅ Code Cave 查找与函数调用✅ 代码整洁、注释完善核心声明全部集中在 Memory 类的头文件中实现位于 Memory.cpp一个Memory mem全局单例贯穿整个库。第一步初始化 DMA 与目标进程所有接口都依赖同一个前置动作——调用InitMemory mem; // 全局单例inline if (!mem.Init(explorer.exe, true, true)) std::cout DMA 初始化失败 std::endl;三个参数的含义参数说明process_name目标进程名后续所有读写默认指向该进程memMap为true时先转储物理内存映射到临时目录的mmap.txt可显著提升读取速度debug开启详细日志排查问题必备Init内部会自动完成加载vmm.dll/FTD3XX.dll/leechcore.dll→ 建立 VMM 句柄 → 查询 FPGA 设备 ID → 获取 PID → 调用FixCr3()→ 记录进程基址与基址大小。也就是说一次Init就把进程上下文全部准备好了。使用前请确保程序根目录存在 DMA 供应商提供的三个动态库且libs/目录下有vmm.lib与leechcore.lib项目自带DMALibrary/libs/中的头文件vmmdll.h和leechcore.h。如何用 GetBaseDaddy 获取模块基址GetBaseDaddy是获取模块基址Base Address的主力接口uintptr_t base mem.GetBaseDaddy(explorer.exe); if (base) std::cout Base: 0x std::hex base std::endl;入参模块名字符串内部自动转换为宽字符以支持 Unicode 模块名返回模块基址size_t找不到时返回0实现原理底层调用VMMDLL_Map_GetModuleFromNameW按模块名精确匹配后返回vaBase拿到基址后配合偏移即可完成经典读写字段操作std::cout Value: mem.Readint(base 0x66) std::endl; mem.Writeint(base 0x66, 0x69);它的兄弟接口GetBaseSize则返回模块的cbImageSize映像大小常用于界定扫描范围——例如对FindSignature划定[base, base base_size]的扫描区间。如何用 GetModuleList 枚举进程模块GetModuleList返回目标进程加载的全部模块名列表是模块枚举与排查的入口std::vectorstd::string modules mem.GetModuleList(explorer.exe); for (auto m : modules) std::cout m std::endl;几个关键细节值得注意底层基于VMMDLL_Map_GetModuleUVMMDLL_MODULE_FLAG_NORMAL取每个条目的uszText字段⚠️它读取的是Init时设定的当前进程 PID所以调用前必须先用同一个进程名初始化典型用途遍历模块找 Code Cavec_shellcode::find_all_codecave正是先取模块列表、跳过系统级黑名单模块再逐模块寻找可执行空间实用接口速查表以下接口均声明于 Memory.h按功能分组方便按需查找 进程信息类接口作用返回值GetPidFromName(name)按名称获取单个 PIDDWORD失败为 0GetPidListFromName(name)获取所有匹配的 PID子串匹配std::vectorintGetProcessInformation()完整进程信息含 vaPEB 等VMMDLL_PROCESS_INFORMATIONGetProcessPeb()读取并反序列化进程 PEBPEB 模块信息类接口作用返回值GetBaseDaddy(module)模块基址size_t失败为 0GetBaseSize(module)模块映像大小size_t失败为 0GetModuleList(process)模块名列表std::vectorstd::stringGetExportTableAddress(import, process, module)导出表EAT中某函数地址uintptr_tGetImportTableAddress(import, process, module)导入表IAT中某函数地址uintptr_t EAT/IAT 接口的组合用法很经典先GetPidFromName(csrss.exe)拿到系统进程 PID再查ntoskrnl.exe中某个内核函数的导出地址——这是库内置 SysCall 模板的标准套路。 内存操作类接口作用ReadT(addr)/WriteT(addr, value)模板化类型安全读写ReadChain(base, offsets)按偏移链pointer chain逐级解引用一行代码穿透多级指针FindSignature(sig, start, end, pid)特征码扫描支持?通配如48 ? ? ?CreateScatterHandle/AddScatterReadRequest/ExecuteReadScatter批量散读一次 DMA 事务读多处性能最佳DumpMemory(addr, path)将模块内存按 PE 落盘自动修正节表文件偏移️ 环境对抗类接口作用FixCr3()修复 EAC 的 CR3/DTB 混淆枚举所有 DTB 候选逐个试用直到模块表可见GetShellcode().find_codecave(size, process, module)查找足够大且 RWX 的 Code CaveGetShellcode().call_function(hook, func, process)通过临时jmp [RIP0]补丁调用目标进程函数GetKeyboard()通过内核读取键盘状态IsKeyDown判断按键三个最容易踩的坑 ⚠️GetBaseDaddy返回 0通常是进程未初始化成功或反作弊如 EAC已隐藏进程 DTB。先确认Init返回值再检查FixCr3是否成功——后者依赖symsrv.dll、dbghelp.dll和项目根目录的info.db。Scatter 句柄忘记关闭CreateScatterHandle用完必须CloseScatterHandle否则会内存泄漏。参考 Example.cpp 中的完整示范流程。模块名/进程名区分GetModuleList按Init时的进程名操作而GetBaseDaddy的入参是模块名主模块即进程名。两者混用是新手最常见的报错来源。典型使用流程一键上手mem.Init(target.exe); // 1. 初始化 DMA 进程上下文 uintptr_t base mem.GetBaseDaddy(target.exe); // 2. 取模块基址 auto modules mem.GetModuleList(target.exe); // 3. 枚举模块 auto value mem.Readuint32_t(base 0x1234);// 4. 按偏移读字段 mem.Writeuint32_t(base 0x1234, 100); // 5. 写回高频批量场景则升级为 Scatter 模式CreateScatterHandle→ 循环AddScatterReadRequest→ExecuteReadScatter→CloseScatterHandle把 N 次 DMA 往返压缩为 1 次。写在最后DMALibrary 的设计哲学是Simple but extensive头文件里每一个接口都有清晰的 Doxygen 注释配合Example/Example.cpp的最小可用示例几乎零学习成本就能跑通第一个 DMA 读取项目。建议对照DMALibrary/Memory/目录下的 Memory、Shellcode、InputManager 三个头文件精读一遍即可掌握该库 90% 的实用能力 【免费下载链接】DMALibrarySimple but extensive library for DMA users, made for gamehacking项目地址: https://gitcode.com/gh_mirrors/dm/DMALibrary创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

自动化测试面试10大高频问题解析与应对策略

自动化测试面试10大高频问题解析与应对策略

1. 自动化测试面试高频问题解析作为一名在测试领域摸爬滚打多年的老兵,我深知自动化测试岗位面试的痛点。很多优秀的候选人因为不熟悉面试套路而错失机会,今天我就来拆解那些面试官最爱问的10大高频问题,帮你轻松应对技术面。自动化测试岗位的…

2026/8/25 10:00:26 阅读更多 →
Morpeh 2024版本迁移指南:Breaking变更与最佳实践一次讲清

Morpeh 2024版本迁移指南:Breaking变更与最佳实践一次讲清

Morpeh 2024版本迁移指南:Breaking变更与最佳实践一次讲清 【免费下载链接】morpeh 🎲 ECS Framework for Unity Game Engine and .Net Platform 项目地址: https://gitcode.com/gh_mirrors/mo/morpeh Morpeh 是一款面向 Unity 游戏引擎与 .NET 平…

2026/8/25 10:00:26 阅读更多 →
OCaml中Resolver参数的美妙实现:详解ocaml-graphql-server的diff-list GADT设计

OCaml中Resolver参数的美妙实现:详解ocaml-graphql-server的diff-list GADT设计

OCaml中Resolver参数的美妙实现:详解ocaml-graphql-server的diff-list GADT设计 【免费下载链接】ocaml-graphql-server GraphQL servers in OCaml 项目地址: https://gitcode.com/gh_mirrors/oc/ocaml-graphql-server ocaml-graphql-server 是一个用 OCaml …

2026/8/25 10:00:26 阅读更多 →

最新新闻

虚拟机通过virsh qemu-monitor-command在线备份

虚拟机通过virsh qemu-monitor-command在线备份

查看存储设备名# 通过qmp查看virsh qemu-monitor-command DOMAIN --pretty { "execute": "query-block" }# 通过hmp查看virsh qemu-monitor-command DOMAIN --hmp info block--pretty表示将输出的json进行换行格式化展示,否则只有一行&#xff…

2026/8/25 14:51:29 阅读更多 →
2026年Claude Code CLI命令大全

2026年Claude Code CLI命令大全

你才刚刚完成 Code 的安装, 而后进入了终端, 此时闪着光标的 > 提示符就放置在那儿, 你大体上会存在这几个方面的困惑:存在着好些问题, 与之相对应的命令全都处于下面的部分。首先要将那张由官方所给出的「全命令表」, 转化为通俗易懂的表述, 之后要挑选出最为常用的几组教大…

2026/8/25 14:51:29 阅读更多 →
API 接口是什么?从调用原理到实际开发,一篇文章搞懂 API

API 接口是什么?从调用原理到实际开发,一篇文章搞懂 API

在日常开发中,我们经常会接触到 API。比如:网站查询快递物流信息App 获取天气数据系统发送短信验证码电商平台查询订单状态用户登录时进行身份信息校验程序获取 IP、地址、地图等数据这些功能背后,很多都离不开 API。对于刚接触后端开发、接口…

2026/8/25 14:51:29 阅读更多 →
Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

爬虫HTTPS使用,httpx,实战中的证书异步等问题更新的时间是公元二零二五年零九月二十七日, 上午十一点十四分零八秒 作者是写的做不如改的多。在爬虫这项工程里面, “HTTPS”是没办法避开不谈的话题, 因为HTTPS为传输加密给予保护, 然而却同时给爬虫带去证书校验, 带去重定向, 带…

2026/8/25 14:51:29 阅读更多 →
ARM服务器固件FVP仿真开发流程深度解析实战指南

ARM服务器固件FVP仿真开发流程深度解析实战指南

引言: 在芯片行业,有一句老话叫“芯片未动,固件先行”。听起来反直觉——硬件都没造出来,软件怎么写?但这就是现代芯片开发的真实写照。 一颗芯片从设计到流片再到量产,周期动辄以年为单位。而固件和软件的开发与验证…

2026/8/25 14:51:29 阅读更多 →
BLE Core Spec 物理层规范

BLE Core Spec 物理层规范

低功耗蓝牙 (BLE) 物理层规范 - Channel Sounding (CS) 1. 基础概念与调制 专属 PHY:CS 功能使用 LE 2M 2BT PHY,该物理层仅能用于 CS 功能。其传输速率为 2 Msym/s2~Msym/s2 Msym/s,且带宽-比特周期乘积为 BT2.0BT2.0BT2.0。调制方式&#x…

2026/8/25 14:50:29 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →