网站首页 > 易语言相关 > 易语言模块源码 正文
wow64 是在 64 位操作系统上允许 32 位程序(比如易编译的程序)执行的模拟器子系统;在 64 位操作系统中,不管你的程序是 32 还是 64 位的,其实都存在两个地址空间,正常情况下 32 位程序访问的自然是 32 位的地址空间,而 64 位程序访问其 64 位地址空间。
但是这两个空间是同时存在且可以切换的,本模块就是通过该原理切换到 64 位地址空间获取 ntdll.dll 相关函数进行调用(注:此基址是 64 位的,与平常获取的 32 位模块基址截然不同);
也就是:wow 环境 -> 进入 x64 环境 -> x64 函数调用 或 x64 汇编代码 -> 退出 x64 环境 -> wow 环境,以上必须在一个子程序内完成;
部分实现代码借鉴 c++ 开源代码:wow64ext,在此感谢作者 rewolf。
实现易语言纯 64 位汇编置入代码;
允许调用易程序 64 位 ntdll.dll 的所有函数,也就是你虽然开发的是 32 位程序,但可以实现很多 64 位函数所能实现的功能;
直接使用 64 位函数自由读写(注入) 64 位进程,与很多模块调用 NtWow64xxx 系列函数实现的方式有本质不同;
部分常用 ntdll.dll 函数已在模块直接提供,或以模拟 kernel32 函数的调用形式提供,v1.1 新增多个函数;
未提供函数获取地址后,可使用 X64Call 这个通用函数调用即可;
大部分提供的 64 位功能也同时提供了 32 位版本,以便兼容不同需求(模块在 32 位系统中不会开启 64 位功能引起异常,但 32 位功能依然可用);
支持加载任意 32/64 位 DLL,从此易语言可以调用外部 64 位 DLL 了(包括加载 kernel32.dll),v1.1 新增功能;
除了动态加载外,还支持 32 位 DLL 的内存加载,但 64 位只能加载本地 DLL 文件,v1.1 新增功能;
如有 BUG,请提供错误重现代码及执行环境,如非不可抗因素我都会及时更新的;
子程序名 | 返回值类型 | 公开 | 备 注 | ||
编写x64汇编框架 | 返回值不限制,同 x86 相同 |
置入代码 ( #X64_Start )
' 在此区域内可使用 64 位纯汇编代码
置入代码 ( #X64_End ) ' #X64_End 与 #X64_Start 必须在同一个子程序中成对使用
' 如果本子程序中需要调用 64 位函数,则此时应恢复 ss/fs 寄存器,可参考源码中的 #X64_RestoreFs
' 然后就是 x86 中的平栈返回或者由易子程序返回
- 上一篇: 学生兼职赚钱被骗套路
- 下一篇: 易语言验证码识别源码
猜你喜欢
- 2023-10-09 定时执行任务模块(Metr_定时执行任务[Majo])
- 2023-02-13 讯飞文本识别鉴权与文字识别源码
- 2022-04-07 大漠插件免费版3.1233的中文版模块
- 2022-04-05 易语言log日志模块源码
- 2022-03-13 易语言TCP客户端模块 支持SSL
- 2021-12-23 队长自动化测试模块2.96
- 2021-12-12 判断电脑是否开启VT虚拟化(你的cpu虚拟化特性vt没有开启)
- 2021-12-01 Echarts商业级数据图表库模块v1.7.0.328【模块及示例大全】
- 2021-11-27 动态添加选择夹子夹例程源码
- 2021-11-14 配置项加密读写源码
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
已有5位网友发表了看法:
易语言游戏源码 评论于 [2019-04-09 16:11:25] 回复
32进程加载64内存
易语言辅助源码 评论于 [2019-04-10 11:13:49] 回复
x64 动态seh
易语言编程网 评论于 [2019-04-22 09:36:21] 回复
eWOW64Ext+v1.2+-+加载任意+32/64+模块|动态调用|64+位汇编|64+位进程读写
shier2
易语言教程站 评论于 [2019-07-29 20:01:09] 回复
易语言 GetProcAddress
程序代码 评论于 [2020-03-23 10:26:09] 回复
易语言 LoadLibraryEx64