插件名:内存读取强化版    作者:懒神(LazyGod)    论坛名:Agri
功能介绍:实现对计算机内存的多种读取方式的操作。
命令名:ReadMemory
解 释:提供对指定地址的内存数据读取功能。
格 式:Plugin value=LazyGod.ReadMemory(hwnd, addr, type, [strlen])
value  插件函数返回的值
hwnd   窗口句柄
addr  内存地址
type   指定读取数据的类型
0  Byte型(单字节)
1  Integer型(双字节)
2  Long型(四字节)
3  Single(32位单精度,四字节) 
        4  Double(64位双精度,八字节)
5  ANSI代码字符串
6  Unicode代码字符串字符串长度和字节
strlen  可选,指定读取字符串长度,以字节(byte)为单位,默认为读取最大20个字符
命令名:ReadMemoryEx
解 释:提供对指定地址的内存数据读取功能,并扩展了有多级偏移动态地址的读取能力。
格 式:Plugin value=LazyGod.ReadMemoryEX(hwnd, addr, type , [strlen], [Offset])
value  插件函数返回的值
hwnd   窗口句柄
addr  内存地址
type   指定读取数据的类型
0  Byte型(单字节)
1  Integer型(双字节)
2  Long型(四字节)
3  Single(32位单精度,四字节) 
        4  Double(64位双精度,八字节)
5  ANSI代码字符串
6  Unicode代码字符串
strlen  可选,指定读取字符串长度,以字节(byte)为单位,默认为读取最大20个字符
Offset  偏移(字符串),例如有这样一个地址:[[[[baseaddr]+&H04]-&H3C]+&H00]
Offset就可以这样写:"+&H04,-&H3C,+&H00" ,注意每个偏移用半角逗号分开,
+或-必须要写,后面的十六进制值也可用十进制值表示。
例 子:
读取地址[[[&H00AFA2DC]-&H1C]+&H0F]的值,该值为一个Unicode字符串,最多可能是15个中文字。
1、 用ReadMemory读取,脚本如下:
Dim addr, addr1, addr2, Mystr
//取句柄
Plugin hwnd=Window.Foreground()
//读内存指针(地址)数据,因地址数据是四字节数据,可按Long型读取
addr=&H00AFA2DC
Plugin addr1=LazyGod.ReadMemory(hwnd,addr,2)
Plugin addr2=LazyGod.ReadMemory(hwnd,addr1-&H1C,2)
//最后读取需要的数据,因数据是15个以内Unicode中文字符,为此用数据类型参数=6,长度参数=30
Plugin mystr=LazyGod.ReadMemory(hwnd,addr2+&H0F,6,30)
VBSCall MessageBox("读取的内容是:" & Mystr)
2、用ReadMemoryEx读取,脚本如下:
Dim addr, Mystr, Offset
//取句柄
Plugin hwnd=Window.Foreground()
//读取内存数据,因数据是15个以内Unicode中文字符,为此用数据类型参数=6,长度参数=30
addr=&H00AFA2DC
Offset="-&H1C,+&H0F"
Plugin mystr=LazyGod.ReadMemoryEx(hwnd,addr,6,30,Offset)
VBSCall MessageBox("读取的内容是:" & Mystr)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。