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

访问密码统一为:3158

查看: 1805|回复: 0

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

[复制链接]

72

主题

72

帖子

414

积分

龆年(髫年)

Rank: 3Rank: 3

积分
414
发表于 2020-5-25 11:43:14 | 显示全部楼层 |阅读模式

模块基础信息:

有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 个
}


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

QXHF)7_)9`Y[TG8)2Z6Y}WR.png

8M)}4X$%FM2UT8UO%O5S{FU.png

~H9OTO7D7K}CG[~VHJS@{@Y.png


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

主程序中:

]J7OA[U8P}F43LK)IHBY]33.png

DLL中:

~`58X@M0IW5Y~QYXTU{2%SU.png

等等......

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

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

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

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

你想为所欲为吗?

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

你想跳出限定吗?

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

也许它能满足你的愿望!

R_取通用数据类型()

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

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

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


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

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

下载链接:

https://t00y.com/file/20110282-445239211


3Q4T网,编程学习交流基地。
回复

使用道具 举报

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

本版积分规则

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