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

例如下面这个例子:内存操作.写代码(“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那样的函数说明最好了。
展开
 我来答
myddxy
2010-06-23 · TA获得超过1011个赞
知道小有建树答主
回答量:448
采纳率:40%
帮助的人:218万
展开全部
因为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)
返回 (假)
.否则
返回 (真)
64264148
推荐于2016-11-01 · TA获得超过195个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:114万
展开全部
X=基址
Y=偏移...
A=内存地址A
B=内存地址B
C=长度
基址X+偏移Y=读内存数值A+内存数值B=读取长度
不知道这样看你懂了没有?
再打个比方吧
要写入的地址是 基址+偏移
要写入的数值是 读取 地址A+偏移地址B的内存值
读取内存地址的长度是 2(短整数型)/4(整数型)/8(长整数型)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式