GetModuleBaseAddr 获取模块基址
🎯功能
根据指定的窗口句柄或进程ID,来获取对应窗口句柄进程下的指定模块的基址
📜语法
结果 = dm.GetModuleBaseAddr(句柄, 模块)
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
句柄 | 整型数 | 窗口句柄或者进程ID. 默认是窗口句柄. 如果要指定为进程ID,需要调用SetMemoryHwndAsProcessId |
模块 | 字符串 | 模块名称 |
📤返回
长整型数
, 模块的基址
💡示例
base_addr = dm.GetModuleBaseAddr(hwnd,"gdi32.dll")
MessageBox base_addr
📘备注
如果目标窗口的绑定属性中有dx.public.memory
,并且是用本对象来绑定的,那么操作方式是直接进入目标进程读写.
dx.public.memory
可突破部分窗口读写保护. 如果正常方式无法读写,可以尝试此属性。另外DmGuard
中的memory
护盾也可以突破部分窗口内存保护,可以尝试使用。