永发信息网

易语言“内存操作.写代码”函数用法?

答案:2  悬赏:0  手机版
解决时间 2021-11-24 00:41
  • 提问者网友:未信
  • 2021-11-23 04:12
易语言“内存操作.写代码”函数用法?
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-11-23 04:45
X=基址
Y=偏移...
A=内存地址A
B=内存地址B
C=长度
基址X+偏移Y=读内存数值A+内存数值B=读取长度
不知道这样看你懂了没有?
再打个比方吧
要写入的地址是 基址+偏移
要写入的数值是 读取 地址A+偏移地址B的内存值
读取内存地址的长度是 2(短整数型)/4(整数型)/8(长整数型)
全部回答
  • 1楼网友:拜訪者
  • 2021-11-23 05:54
因为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)
返回 (假)
.否则
返回 (真)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯