ReadString 读取字符串
🎯功能
读取指定地址的字符串, 可以是GBK或Unicode字符串, 必须事先知道内存区的字符编码方式
📜语法
结果 = dm.ReadString(句柄, 地址, 类型, 长度)
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
句柄 | 整型数 | 窗口句柄或者进程ID. 默认是窗口句柄. 如果要指定为进程ID,需要调用SetMemoryHwndAsProcessId |
地址 | 字符串 | 用字符串来描述地址,类似于CE的地址描述,数值必须是16进制,里面可以用[ ] + - 这些符号来描述一个地址。+ 表示地址加,- 表示地址减, 模块名必须用<> 符号来圈起来 |
类型 | 整型数 | 字符串类型; 0 :GBK字符串, 1 :Unicode字符串, 2 :UTF8字符串(💰付费功能) |
长度 | 整型数 | 需要读取的字节数目.如果为0,则自动判定字符串长度 |
参数(
地址
)几种例子"4DA678"
最简单的方式,用绝对数值来表示地址"<360SE.exe>+DA678"
相对简单的方式,只是这里用模块名来决定模块基址,后面的是偏移"[4DA678]+3A"
用绝对数值加偏移,相当于一级指针"[<360SE.exe>+DA678]+3A"
用模块定基址的方式,也是一级指针"[[[<360SE.exe>+DA678]+3A]+5B]+8"
这个是一个三级指针
📤返回
字符串
, 读取到的字符串内容
💡示例
value = dm.ReadString(hwnd,"4DA678",0,0)
MessageBox value