eWOW64Ext v1.2 – 加载任意 32/64 模块|动态调用|64 位汇编|64 位进程读写

模块原理:

wow64 是在 64 位操作系统上允许 32 位程序(比如易编译的程序)执行的模拟器子系统;在 64 位操作系统中,不管你的程序是 32 还是 64 位的,其实都存在两个地址空间,正常情况下 32 位程序访问的自然是 32 位的地址空间,而 64 位程序访问其 64 位地址空间。

但是这两个空间是同时存在且可以切换的,本模块就是通过该原理切换到 64 位地址空间获取 ntdll.dll 相关函数进行调用(注:此基址是 64 位的,与平常获取的 32 位模块基址截然不同);

也就是:wow 环境 -> 进入 x64 环境 -> x64 函数调用 或 x64 汇编代码 -> 退出 x64 环境 -> wow 环境,以上必须在一个子程序内完成;

部分实现代码借鉴 c++ 开源代码:wow64ext,在此感谢作者 rewolf。

v1.2 – 2019.03.12

添加:添加了一个 X64CallArr 函数,使用数组方式调用 64 位函数,这样就相当于无限参数数量了,

更新:极大优化了 X64Call 的代码,现在的通用调用性能损失几乎可忽略不计,实际上本模块的所有代码都是一句句汇编写出来的,本身比起依赖 VC 编译器自动优化的代码都要效率很多倍;

更新:修正加载本模块后无法使用易语言 “运行” 命令的 BUG,实际还有 CreateProcess API 也一同修复,

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

eWOW64Ext v1.2 – 加载任意 32/64 模块|动态调用|64 位汇编|64 位进程读写》有0个想法

发表回复

您的电子邮箱地址不会被公开。必填项已用*标注