
eWOW64Ext v1.1 - 支持加载任意 32/64 模块和64位汇编及进程读写-易语言
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
eWOW64Ext v1.1 是一个强大的工具,支持在64位系统中加载任意32位或64位模块,并提供64位汇编功能及进程读写操作,适用于易语言开发环境。
模块原理:wow64 是在 64 位操作系统上允许运行32位程序(例如用易语言编写的程序)的模拟器子系统;无论是在64位还是32位的操作系统中,都存在两个地址空间。正常情况下,32位应用程序访问的是其对应的32位地址空间,而64位的应用则使用自己的64位地址空间。然而,在这两种环境之间可以进行切换,并且本模块正是利用这一特性来在程序内部从一个32位的wow环境中进入x64模式以调用ntdll.dll中的函数(这些基址是针对64位应用而言),然后返回到原来的wow环境;这个过程必须在一个子程序内完成。部分实现代码参考了c++开源项目:wow64ext,在此感谢作者 rewolf。
模块功能包括:
- 实现易语言纯 64 位汇编置入代码;
- 允许调用易程序中的所有ntdll.dll的函数,即使在开发32位应用程序时也能使用许多原本只属于64位的应用才能实现的功能;
- 可以直接通过64位函数读写(注入)其他进程的数据;
- 提供了部分常用的ntdll.dll函数,并且这些功能也有对应的32位版本以便兼容不同的需求;在非64位系统中,该模块不会启用任何可能引起异常的64位特性,但依然支持所有32位的功能;
- 支持加载任意 32/64 位 DLL 文件(包括kernel32.dll),使得易语言可以调用外部 64 位动态链接库成为可能;
辅助函数:
- fn_WOW64Enabled:用于检查当前运行环境是否为一个支持wow64的系统;
- fn_ProcessIsX64:检测指定进程是否是64位应用程序。
内部命令(适用于处理64位数据)包括但不限于以下几种:
- X64Call: 通用函数调用,用于直接执行任意64位函数;
- GetNtdll64, GetModuleHandleEx64 和 GetProcAddressEx64:这些命令分别提供ntdll.dll在当前进程中的内存地址、通过哈希值获取模块的基址以及根据索引或名称查找函数地址的功能。
- NtQuerySystemInformation64: 查询系统信息,可以用于收集有关系统的各种数据;
- OpenProcess64, HeapAlloc64 等等:这些命令提供了对其他进程进行操作(如打开/关闭句柄)和内存管理的能力。
全部评论 (0)


