eWOW64Ext v1.2: 64位易语言模块加载与动态调用技术
需积分: 29 86 浏览量
更新于2024-10-30
1
收藏 87KB ZIP 举报
资源摘要信息:"易语言模块eWOW64Ext v1.2是一个允许在64位操作系统上执行32位程序的模拟器子系统。该模块利用了Windows操作系统的WOW64子系统,该子系统允许32位程序在64位操作系统上运行。在64位系统中,存在两个地址空间,一个是32位的,另一个是64位的。32位程序通常访问32位地址空间,而64位程序访问64位地址空间。然而,这两个空间可以切换,本模块就是利用这种切换机制,进入64位地址空间,并调用ntdll.dll中的相关函数。需要注意的是,这些函数的基址是64位的,与普通的32位模块基址不同。模块的使用需要在一个子程序内完成从wow环境切换到x64环境,调用x64函数或x64汇编代码,然后退出x64环境返回到wow环境。模块的实现部分借鉴了C++开源代码wow64ext,作者为rewolf,对他的贡献表示感谢。在版本1.2中,模块添加了一个新的函数X64CallArr,这个函数可以使用数组的方式调用64位函数,使得参数数量不再受限制。同时,模块的性能也得到了优化,通用调用的性能损失几乎可以忽略不计。此外,模块还修复了加载后易语言无法使用“运行”命令的bug,以及CreateProcess API的相关问题。"
知识点详细说明:
1. **WOW64子系统**: Windows操作系统的一个组件,它支持在64位系统上运行32位应用程序。WOW64是一个模拟环境,它允许32位代码在一个与64位系统兼容的环境中执行,而不影响系统的64位部分。
2. **地址空间**: 在计算机系统中,每个进程都拥有自己的虚拟地址空间。对于64位系统,这个空间非常大,理论上可以达到2的64次方个地址。而32位系统的地址空间则小得多,是2的32次方个地址。64位系统同时支持运行32位和64位的应用程序,但它们运行在不同的地址空间中。
3. **ntdll.dll**: Windows操作系统的系统文件,包含了系统底层的功能函数。这些函数对于操作系统至关重要,包括进程管理、内存管理、安全机制等。在本模块中,通过切换到64位地址空间,程序能够获取并调用ntdll.dll中的64位函数。
4. **汇编语言**: 是一种低级编程语言,接近机器语言,但比机器语言更易于理解和编写。汇编语言通常用于编写系统软件,如操作系统、驱动程序、嵌入式系统等。本模块使用了64位汇编代码,以提高执行效率。
5. **代码优化**: 通过使用汇编语言手写代码而不是依赖编译器的自动优化,本模块能够实现更高效的执行。这是因为汇编语言允许开发者更精细地控制硬件资源,从而减少了不必要的指令和内存访问,提高了代码的执行速度和效率。
6. **模块化编程**: 本模块提供了一种方式,允许程序在运行时动态调用其他模块或库中的函数。这种模块化方法提高了程序的灵活性和扩展性。
7. **易语言**: 是一种中文编程语言,其目的是为了使编程更加简单和容易理解。易语言提供了丰富的库和模块,可以用来开发各种类型的应用程序。本模块是易语言的一个扩展,提供了一些特定的功能,如动态调用和进程读写。
8. **动态调用**: 是指在程序运行时加载并调用一个外部模块或函数库中的函数。这种方法可以提高程序的灵活性,因为可以在运行时选择调用哪些函数,而不需要在编译时就确定下来。
9. **进程读写**: 在本模块的上下文中,指的是对64位进程的内存空间进行读写操作。这在调试或者需要修改运行中程序行为的场景下非常有用,但也可能带来安全风险。
10. **版本更新说明**: 本模块的版本1.2中引入了新功能X64CallArr,允许无限参数数量的函数调用,并且对X64Call的代码进行了优化,改进了性能。同时修复了一些已知的bug,如易语言的“运行”命令使用问题和CreateProcess API的bug。这些更新增强了模块的稳定性和可用性。
2020-09-25 上传
2021-06-25 上传
2021-06-25 上传
2021-06-12 上传
2021-06-12 上传
2021-06-25 上传
2021-06-12 上传
weixin_38640985
- 粉丝: 8
- 资源: 965
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载