易语言“内存操作.写代码”函数用法?
例如下面这个例子:内存操作.写代码(“X+Y=A+B=C”)里面的X,Y,A,B均为16进制数。C貌似是10进制数,因为我没见过大于10的--我的问题是:“写代码”这个函...
例如下面这个例子:
内存操作.写代码 (“X+Y=A+B=C”)
里面的X,Y,A,B均为16进制数。C貌似是10进制数,因为我没见过大于10的- -
我的问题是:
“写代码”这个函数应该是往某一个内存地址中写入一个长度为多少的数吧,那么对于上面这个代码,是往哪个地址里写入什么数据,数据长度是多少呢?
光看那个函数格式猜不出来啊,参数就是一个字符串-,-
如果能提供有有像MSDN那样的函数说明最好了。 展开
内存操作.写代码 (“X+Y=A+B=C”)
里面的X,Y,A,B均为16进制数。C貌似是10进制数,因为我没见过大于10的- -
我的问题是:
“写代码”这个函数应该是往某一个内存地址中写入一个长度为多少的数吧,那么对于上面这个代码,是往哪个地址里写入什么数据,数据长度是多少呢?
光看那个函数格式猜不出来啊,参数就是一个字符串-,-
如果能提供有有像MSDN那样的函数说明最好了。 展开
2个回答
展开全部
因为API太麻烦了,先占个地方。
首先给你介绍一下写内存的规则
写内存必须已字节集的方式进行写入
至于什么写整数啊 写文本的 都是先把他们转换到了字节集进行操作的
写内存的时候 需要用到API函数WriteProcessMemory
方法如下
.版本 2
.DLL命令 _内存写字节集, 整数型, , "WriteProcessMemory", 公开, kernel32.dll
.参数 hProcess, 整数型
.参数 pBaseAddress, 整数型, , 内存地址
.参数 lpBuffer, 字节集, 传址, 数据指针
.参数 nSize, 整数型, , 长度
.参数 lpNumberOfBytesWritten, 整数型, , 实际写出长度
把响应的参数带入就可以了
给你写个范例子程序
.版本 2
.DLL命令 _打开进程, 整数型, , "OpenProcess", , kernel32.dll
.参数 访问级别, 整数型, , 2035711完全访问
.参数 子进程继承, 整数型, , 0为子进程继承
.参数 进程ID, 整数型, , 要打开的进程标识
.DLL命令 _关闭对象, 整数型, , "CloseHandle", 公开, kernel32.dll
.参数 对象句柄, 整数型
.DLL命令 _内存写字节集, 整数型, , "WriteProcessMemory", 公开, kernel32.dll
.参数 hProcess, 整数型
.参数 pBaseAddress, 整数型, , 内存地址
.参数 lpBuffer, 字节集, 传址, 数据指针
.参数 nSize, 整数型, , 长度
.参数 lpNumberOfBytesWritten, 整数型, , 实际写出长度
.版本 2
.子程序 写内存字节集, 逻辑型, 公开, 往内存中写入字节集数据(成功返回真,失败返回假)
.参数 进程ID, 整数型, , 进程ID
.参数 地址, 整数型, , 内存地址
.参数 数据, 字节集, , 写入数据 如果为其它数据类型,可以用 到字节集() 将数据转换为字节集
.参数 写入长度, 整数型, 可空, 默认为全部数据,(参考: 1字节型 2短整数型 4长整数型,小数型,指针 8长整数型,双精度小数型,日期时间型)
.局部变量 操作句柄, 整数型
.局部变量 a, 整数型
操作句柄 = _打开进程 (2035711, 0, 进程ID)
a = _内存写字节集 (操作句柄, 地址, 数据, 选择 (写入长度 = 0, 取字节集长度 (数据), 写入长度), 0)
_关闭对象 (操作句柄)
.如果 (a = 0)
返回 (假)
.否则
返回 (真)
首先给你介绍一下写内存的规则
写内存必须已字节集的方式进行写入
至于什么写整数啊 写文本的 都是先把他们转换到了字节集进行操作的
写内存的时候 需要用到API函数WriteProcessMemory
方法如下
.版本 2
.DLL命令 _内存写字节集, 整数型, , "WriteProcessMemory", 公开, kernel32.dll
.参数 hProcess, 整数型
.参数 pBaseAddress, 整数型, , 内存地址
.参数 lpBuffer, 字节集, 传址, 数据指针
.参数 nSize, 整数型, , 长度
.参数 lpNumberOfBytesWritten, 整数型, , 实际写出长度
把响应的参数带入就可以了
给你写个范例子程序
.版本 2
.DLL命令 _打开进程, 整数型, , "OpenProcess", , kernel32.dll
.参数 访问级别, 整数型, , 2035711完全访问
.参数 子进程继承, 整数型, , 0为子进程继承
.参数 进程ID, 整数型, , 要打开的进程标识
.DLL命令 _关闭对象, 整数型, , "CloseHandle", 公开, kernel32.dll
.参数 对象句柄, 整数型
.DLL命令 _内存写字节集, 整数型, , "WriteProcessMemory", 公开, kernel32.dll
.参数 hProcess, 整数型
.参数 pBaseAddress, 整数型, , 内存地址
.参数 lpBuffer, 字节集, 传址, 数据指针
.参数 nSize, 整数型, , 长度
.参数 lpNumberOfBytesWritten, 整数型, , 实际写出长度
.版本 2
.子程序 写内存字节集, 逻辑型, 公开, 往内存中写入字节集数据(成功返回真,失败返回假)
.参数 进程ID, 整数型, , 进程ID
.参数 地址, 整数型, , 内存地址
.参数 数据, 字节集, , 写入数据 如果为其它数据类型,可以用 到字节集() 将数据转换为字节集
.参数 写入长度, 整数型, 可空, 默认为全部数据,(参考: 1字节型 2短整数型 4长整数型,小数型,指针 8长整数型,双精度小数型,日期时间型)
.局部变量 操作句柄, 整数型
.局部变量 a, 整数型
操作句柄 = _打开进程 (2035711, 0, 进程ID)
a = _内存写字节集 (操作句柄, 地址, 数据, 选择 (写入长度 = 0, 取字节集长度 (数据), 写入长度), 0)
_关闭对象 (操作句柄)
.如果 (a = 0)
返回 (假)
.否则
返回 (真)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询