宁静的小镇 發表於 2018-12-24 16:31:23

易语言写内存字节集方法

<p>&nbsp;本篇文章主要介绍如何使用编程软件“易语言”做到修改指定进程的指定内存地址中的字节数组数据。</p>
<p>&nbsp; 字节集可以看做是较长的字节数组。</p>
<p>1、启动“易语言”。</p>
<p style="text-align: center"><img alt="" src="https://img.jbzj.com/file_images/article/201812/20181224162748103.jpg" /></p>
<p></p>
<p>2、选择“菜单栏”中的“f.程序”,再在弹出的列表中选择“N.新建”。</p>
<p style="text-align: center"><img alt="" src="https://img.jbzj.com/file_images/article/201812/20181224162748104.jpg" /></p>
<p>3、在弹出的标题为“新建:”的窗口中选择“Windows窗口程序”,再点击标题为“确定(o)”的按钮。</p>
<p style="text-align: center"><img alt="" src="https://img.jbzj.com/file_images/article/201812/20181224162749105.jpg" /></p>
<p>4、在背景为灰色的,且标题为“”(空的文本)的窗口上鼠标左键双击。</p>
<p style="text-align: center"><img alt="" src="https://img.jbzj.com/file_images/article/201812/20181224162749106.jpg" /></p>
<p>5、在新出现的页面粘贴“API”:</p>
<div class="jb51code">
<pre class="brush:xhtml;">
.版本 2


.DLL命令 _打开当前进程, 整数型, "kernel32.dll", "GetCurrentProcess"


.DLL命令 _关闭对象, 整数型, "kernel32.dll", "CloseHandle"

.参数 对象句柄, 整数型


.DLL命令 _内存写字节集, 整数型, "kernel32.dll", "WriteProcessMemory"

.参数 hProcess, 整数型

.参数 pBaseAddress, 整数型

.参数 lpBuffer, 字节集, 传址

.参数 nSize, 整数型

.参数 lpNumberOfBytesWritten, 整数型


.DLL命令 _打开进程, 整数型, "kernel32.dll", "OpenProcess"

.参数 访问级别, 整数型

.参数 子进程继承, 整数型

.参数 进程ID, 整数型

</pre>
</div>
<p style="text-align: left">&nbsp;</p>
<p style="text-align: center"><img alt="" src="https://img.jbzj.com/file_images/article/201812/20181224162749107.jpg" /></p>
<p>6、粘贴玩“API”,粘贴子程序的代码:</p>
<div class="jb51code">
<pre class="brush:xhtml;">
.版本 2


.子程序 写内存字节集, 逻辑型

.参数 进程ID, 整数型

.参数 地址, 整数型

.参数 数据, 字节集

.参数 写入长度, 整数型, 可空

.局部变量 操作句柄, 整数型

.局部变量 a, 整数型


.如果 (进程ID = -1)

操作句柄 = _打开当前进程 ()

.否则

操作句柄 = _打开进程 (2, 0, 进程ID)

.如果结束

a = _内存写字节集 (操作句柄, 地址, 数据, 选择 (写入长度 = 0, 取字节集长度 (数据), 写入长度), 0)

_关闭对象 (操作句柄)

.如果 (a = 0)

返回 (假)

.否则

返回 (真)

</pre>
</div>
<p style="text-align: left">&nbsp;</p>
<p style="text-align: center"><img alt="" src="https://img.jbzj.com/file_images/article/201812/20181224162749108.jpg" /></p>
<p>7、最后在“__启动窗口_创建完毕”的字样下写代码:</p>
<p>写内存字节集 (, , )‘第一个为进程PID,第二个是内存地址,第三个是字节数组数据</p>
<p style="text-align: center"><img alt="" src="https://img.jbzj.com/file_images/article/201812/20181224162749109.jpg" />&nbsp;</p>
<p style="text-align: left">总结:以上就是关于易语言如何写内存字节集的教学内容,感谢大家的阅读。</p>
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>详解易语言写内存整数型</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: 易语言写内存字节集方法