脚本开发,脚本学习,辅助软件,各种工具软件

访问密码统一为:3158

查看: 706|回复: 0

内存操作模块!通过汇编和API实现!

[复制链接]

43

主题

43

帖子

248

积分

孩提

Rank: 2

积分
248
发表于 2020-5-20 15:03:17 | 显示全部楼层 |阅读模式

模块基础信息:

有38个子程序

有8个数据类型

有6个类{

Heap(堆处理)//11个类方法
Local(局部内存操作)//9个类方法
进程//11个类方法
内存操作API(内存操作)//10个类方法
Global(全局内存操作)//11个类方法
Virtual(虚拟内存操作)//7个类方法
}

有58个DLL命令

有48个常量

更新:{
加入未公开常量 2 个
加入【内存操作】类DLL<
IsBadCodePtr
GetCurrentThread
GetCurrentThreadId
并且在对应 类 中加入了命令!
> 未公开DLL 2 个 共未公开DLL 2 个
加入汇编函数<
R_类型到字节集()
R_字节集到数据类型()
R_取自模块句柄()//考虑到本模块可能经常用于 主程序 和 DLL之间。所以加入这个函数
R_十到十六进制()
R_十六到十进制()
R_取自程序句柄()
R_取自进程ID()
R_取子程序入口()
R_模块_从内存加载()
R_模块_取句柄()
R_模块_取函数地址()
R_模块_取函数地址2()
R_模块_从文件取自句柄()
R_模块_从文件加载()
R_模块_取Kernel32句柄()
R_取文本型指针()
R_置入汇编()
>未公开汇编函数 5 个 共未公开汇编函数 5 个
}
并且对一部分命令和注释进行了调整!!!


本次对例程也进行了更新~

CNGXFTB{]ZP58K`UXY(D.png

RY2S7GCY~GB1AO7RQNNU714.png

QSEM~ZD9UR``_8WN~V0W)YO.png

至于DLL和主程序之间的传递可以看我的作品:Relative-RZJ 通用IDE V2.2.78.3中的代码

主程序中:

VENOB%HTO$XWKPRZEY5EOEY.png

DLL中:

POP4J{[Y~E9FWZ2JK[%2HTG.png

等等......

那么使用本模块可以有哪些作用?

你有想过把自定义的数据结构变量保存到硬盘吗?

你有想过给DLL传自定义的数据结构变量吗?

你想跳出现有的变量限定吗?

你想为所欲为吗?

......Emmm搞错了,不能为所欲为......

你想跳出限定吗?

你想强制进行任意类型数据转换吗?

也许它能满足你的愿望!

R_取通用数据类型()

!!注:经测试该函数不是很准确 有可能会误判 仅供参考 请慎用
自定义类型 或 函数指针 这两种判定得比较准确 因为内存中的特征较多

文本型可能会被误判为数组或数值  

传来参数如果实际为的数值类型 但其如果恰表示一个指针 则也容易被误判为其他类型


Global.取结构体尺寸()
注意结构中不能嵌套再其他结构或含有数组,同时不能含有字节型、短整数型、字节集型的成员,否则会出问题;并且也都不能直接传字节集。
因为E中自定义数据类型嵌套结构或数组使用的是指针,发布到坛论易精与C/C++中直接为数据体不同;并且E的自定义数据类型里小于4字节的成员会被扩展为4字节,以实现对齐
如果结构像平时那样直接声明为结构时,E会自动把结构转换为C/C++中的标准的那种,但结构写为通用型时E只简单传递结构指针不做转换

R_指针到数据_变量()
【本质是将源数据的值写入目标变量,源数据不是基本类型的时候就是传指针了(注意如果源数据与目标变量类型不能兼容的话,程序就会崩溃)[还可实现父类到子类向下转型等]】

下载链接:https://t00y.com/file/20110282-444240359






上一篇:[更新v2.2][鱼刺零件]鱼刺私用WS(WebSocket) 多线程并发稳定单...
下一篇:UI缓动,把图片框变成好看的开关!丢掉选择框
3Q4T网,编程学习交流基地。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表