ReadInt 读取整数
🎯功能
读取指定地址的整数数据, 类型可以是8位, 16位, 32位, 64位, 其中64位属于💰付费功能
📜语法
结果 = dm.ReadInt(句柄, 地址, 类型)
📥参数
| 参数 | 数据类型 | 解释 |
|---|---|---|
句柄 | 整型数 | 窗口句柄或者进程ID. 默认是窗口句柄. 如果要指定为进程ID,需要调用SetMemoryHwndAsProcessId |
地址 | 字符串 | 用字符串来描述地址,类似于CE的地址描述,数值必须是16进制,里面可以用[ ] + -这些符号来描述一个地址。+表示地址加,-表示地址减, 模块名必须用<>符号来圈起来 |
类型 | 整型数 | 整数的类型; 0:32位有符号, 1:16位有符号, 2:8位有符号, 3:64位(💰付费功能), 4:32位无符号(💰付费功能), 5:16位无符号(💰付费功能), 6:8位无符号(💰付费功能) |
参数(
地址)几种例子"4DA678"最简单的方式,用绝对数值来表示地址"<360SE.exe>+DA678"相对简单的方式,只是这里用模块名来决定模块基址,后面的是偏移"[4DA678]+3A"用绝对数值加偏移,相当于一级指针"[<360SE.exe>+DA678]+3A"用模块定基址的方式,也是一级指针"[[[<360SE.exe>+DA678]+3A]+5B]+8"这个是一个三级指针
📤返回
长整型数, 读取到的数值
💡示例
value = dm.ReadInt(hwnd,"4DA678",0)
MessageBox value
📘备注
如果目标窗口的绑定属性中有dx.public.memory,并且是用本对象来绑定的,那么操作方式是直接进入目标进程读写.
dx.public.memory可突破部分窗口读写保护. 如果正常方式无法读写,可以尝试此属性。另外DmGuard中的memory护盾也可以突破部分窗口内存保护,可以尝试使用。