开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 13949|回复: 51
收起左侧

[易语言软件开源] 优雅补丁让E语言多版本共存

  [复制链接]
发表于 2018-10-29 11:09:47 | 显示全部楼层 |阅读模式   江苏省苏州市
分享源码
界面截图: -
是否带模块: -
备注说明: -
本帖最后由 samshine987 于 2018-10-29 17:56 编辑

一直坚持使用5.11的版本,查看一些网络上的代码是使用新版本编写的,这就导致了有些代码不能完整显示,有些命令会显示???,每次用新版查看之后,想换回来又需要重新勾选支持库,很是麻烦。完全更换新的版本吧,问题是之前写的一些易的增强插件是基于5.11开发懒得升级了,新版本又没有什么大的更新完全没欲望,还是自己动手搞吧。下面分享一下分析大概的过程。1.易语言配置如何保存的?
   经过分析是保存在zc表中,指向HKEY_CURRENT_USER\Software\FlySky\E。
2.那么易是如何读取zc表的?
  调试易主程序发现易是使用RegCreateKeyExA操作子键的,我们只要过滤掉操作子键名称为E的就可以自定义存储和读取子键目录。
3.过来api那么就想到hook,什么时候hook呢?
   如果写个支持库来hook肯定不行,因为易语言是先读取zc表再加载勾选过的支持库的,那我们怎么才能在在读取前hook呢?1.修改主程序使之载入我们的dll。2.利用劫chidll
易语言有自校验,如果修改还需要和谐一下他的校验点,而且如果后续易更新,还要再弄。还是利用劫chidll来注入比较方便。
那么下面看下导入了哪些dll。WINMM.dll这个很熟悉,以前也用过飘云阁类似的补丁的,就选他吧。
Snipaste_2018-10-29_10-41-37.png

5.用了之前写的一个PE分析器,直接生成需要的配置和代码
Snipaste_2018-10-29_10-46-00.png
下面就需要用到扩展的WonderWall了,SK_WINMM_nake.ini这个里面放的是对配置中的函数nake处理,配合支持全局变量的汇编支持,这样就能实现任意类型的函数hook,不需要考虑被劫chi的函数调用类型。
Snipaste_2018-10-29_10-54-05.png
SK_WINMM.def这个文件是导出函数定义文件,使之对应导出函数序号,这个里面就有导出函数序号没有函数名称的定义方法。
至于WonderWall插件为什么没附带因为都是自己想要什么功能就加上,用法什么也没记录,有时间我整理一下。

6.把生成的Winmm.dll 和FakeVer.ini放入易语言安装目录,每个版本自己对应修改配置版本号。这样同时打开多个版本的易语言也能正常读取各自的版本的配置了。

7.上源码。
WINMM.dll.rar (31.88 KB, 下载次数: 294)

评分

参与人数 21好评 +16 精币 +31 收起 理由
易语言资源网 + 1 + 3 支持开源~!感谢分享
350246356 + 1 + 2 支持开源~!感谢分享
piccprp + 1 新技能已get√
madfrag + 1 新技能已get√
xshu8 + 1 + 2 新技能已get√
易易语 + 1 + 2 奉上小小红包希望笑纳
快手 + 1 支持开源~!感谢分享
101232 + 1 + 2 感谢分享,很给力!~
kyo9766 + 1 新技能已get√
ltr0030 + 1 + 1 新技能已get√
wxmthh + 1 新技能已get√
人追梦 + 1 新技能已get√
AdGame + 1 + 1 新技能已get√
南风窗 + 1 + 1 感谢分享,很给力!~
福仔 + 1 + 4 感谢分享,很给力!~
幻源 + 1 + 1 支持开源~!感谢分享
红桃じ简简箪箪 + 1 + 1 感谢分享,很给力!~
得欲丧志 + 1 新技能已get√
冯古屋 + 1 支持开源~!感谢分享
冰点 + 1 + 5 感谢发布原创作品,精易因你更精彩!
ucxvkwfn + 2 精彩文章希望继续努力

查看全部评分


本帖被以下淘专辑推荐:

发表于 2023-1-16 02:08:17 | 显示全部楼层   广西壮族自治区柳州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2021-1-31 11:34:16 | 显示全部楼层   广西壮族自治区玉林市
感谢辣,正需要
回复 支持 反对

使用道具 举报

发表于 2021-1-29 20:48:35 | 显示全部楼层   广西壮族自治区玉林市
感谢分享,找不到这么好的东西
回复 支持 反对

使用道具 举报

发表于 2020-2-25 20:09:03 | 显示全部楼层   广西壮族自治区玉林市
新技能已get√
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)
发表于 2020-1-10 22:37:42 | 显示全部楼层   河南省郑州市
牛鼻大神,必须服!
回复 支持 反对

使用道具 举报

发表于 2019-10-23 08:01:38 | 显示全部楼层   山东省济南市
高手,高手 高高手
回复 支持 反对

使用道具 举报

结帖率:81% (38/47)

签到天数: 4 天

发表于 2019-10-14 03:36:56 | 显示全部楼层   福建省福州市

        感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:76% (16/21)

签到天数: 1 天

发表于 2019-8-30 10:53:45 | 显示全部楼层   广东省广州市
厉害了   下载保存
回复 支持 反对

使用道具 举报

结帖率:90% (9/10)

签到天数: 28 天

发表于 2019-8-11 21:20:56 | 显示全部楼层   吉林省长春市
这个就厉害了的说了!佩服了!
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 25 天

发表于 2019-8-2 11:17:50 | 显示全部楼层   河北省石家庄市
下来试一试
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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