下你所需,载你所想!
汇集开发技术源码资料

最全内存操作模块、汇编和API实现写插件神器

:59.922KB :1 :2020-02-08 19:52:22

部分简介

来自饶子俊的代码库 这里存放其他开源项目代码。软件架构包含项目繁多,这里不好概括,安装教程/使用说明每个子项目中都包含例子。

' 注:RTLCOPYBYTES()、RTLCOPYMEMORY() 等函数不支持!//它们在微软定义中为 宏 macro 不属于 函数 function 所以无法采用声明API的方式处理
' 不过这些函数可以被模块中其他函数替代!//之所以想加进去是因为我骚,完美主义者!喜欢自虐!

.如果真 (取反 (是否已创建))
是否已创建 = 真
调试输出 (“————————————————————————{”)
句柄 = Heap堆.创建 (0, 1048576, 0) ' 创建一个初始为 1MB(1048576字节) 无限制自动增长的堆
ASD = “123456”
内存指针 = Heap堆.分配内存 (句柄, 10, 取字节集长度 (到字节集 (ASD))) ' 从堆分配出空间给 ASD 变量的数据
调试输出 (内操.写数据 (进程.取伪句柄_进 (), 内存指针, ASD, 取字节集长度 (到字节集 (ASD)), 0)) ' 向内存写入 ASD 的数据

.如果真 (是否已创建)
是否已创建 = 假
ASD = “ ” ' 相当于申请指定固定长度的内存空间用于接受数据,不同的是此变量由易语言管理,不用我们释放。
内操.读数据 (进程.取伪句柄_进 (), 内存指针, ASD, 取字节集长度 (到字节集 (ASD)), 0) ' 从内存读出 ASD 的数据
调试输出 (ASD) ' 返回结果为 123456 ‘即之前存到堆中的数据
' 做测试》》》测试本项目是否有效
调试输出 (Heap堆.取堆内存块信息 (句柄, 信息))
调试输出 (信息.子项目结构.C空间.dwReserved [3])
' 做测试》》》测试本项目是否有效
调试输出 (Heap堆.释放空间 (句柄, 0, 内存指针))
调试输出 (Heap堆.释放 (句柄))
调试输出 (“————————————————————————}”)

最全内存操作模块、汇编和API实现写插件神器

热门推荐

相关文章