脚本开发,脚本学习,辅助软件
【腾讯云】新用户专属大礼包低至1折【阿里云】云产品通用代金券2000元【阿里云】云小站优惠返现【阿里云】企业级1折特惠【阿里云】3年低至3折
查看: 31|回复: 0

优雅补丁让E语言多版本共存

[复制链接]

18

主题

18

帖子

144

积分

襁褓

Rank: 1

积分
144
发表于 2020-5-18 17:51:24 | 显示全部楼层 |阅读模式

   经过分析是保存在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这个很熟悉,以前也用过飘云阁类似的补丁的,就选他吧。

VQCKH`Z9A05_B1`J[O}(ZD2.png

下面就需要用到扩展的WonderWall了,SK_WINMM_nake.ini这个里面放的是对配置中的函数nake处理,配合支持全局变量的汇编支持,这样就能实现任意类型的函数hook,不需要考虑被劫chi的函数调用类型。

HZ32D]5)D10~Z37OWW%(OQG.png

K_WINMM.def这个文件是导出函数定义文件,使之对应导出函数序号,这个里面就有导出函数序号没有函数名称的定义方法。

至于WonderWall插件为什么没附带因为都是自己想要什么功能就加上,用法什么也没记录,有时间我整理一下。

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


onderWall Plus+黑月编译

https://bbs.125.la/thread-14255877-1-1.html


下载链接:https://t00y.com/file/20110282-443964061





上一篇:局域网简易点歌系统3.0源码
下一篇:非递归解析Protobuf全部节点并自动生成组包代码
3Q4T网,编程学习交流基地。
回复

使用道具 举报

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

本版积分规则

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