Appearance
插件包暴力封装
您可以不经过Edgeless团队的同意自由更改发布插件作品,但是请不要忘记您的道德操守。
我们不希望看到有违反Edgeless三无精神(无劫持、无广告、无收费)或是违反中华人民共和国相关法律条款的作品出现,也不会承认此类作品与我们有任何关系。
继续开发视为您已经同意此条款
分享你的劳动成果
如果您希望能上架您的插件包,请加入内测交流QQ群进行提交
本教程由Copur
编写,以微信PC端为例
原版的微信无法直接在Edgeless内运行,经过暴力封装后便能以插件包的形式直接运行
这个过程相对有些复杂,适合有一定基础的同学使用
准备材料
- 微信官方版本安装包
- VMware Workstation
- Edgeless暴力封装专用虚拟机镜像(百度网盘: 5km5, Onedrive)
虚拟机镜像文件sha1
Edgeless暴力封装专用虚拟机.part1.rar:59B98D301C63B9C513A9DFBFB428B43591181513 Edgeless暴力封装专用虚拟机.part2.rar:B56355E58EFAD0AABCC931C02C45F4B4443C5BD3
TIP
如果不方便下载此镜像,请自行修改Windows10的原版镜像,要求:
- 镜像母版版本号不低于1903
- 系统所在盘符修改为X,用户名使用Default
- Cameyo软件
- Procmon 分析工具
- RegWorkshop
开始封装
- 使用
VMware
导入准备的虚拟机镜像
- 启动虚拟机
- 将微信安装程序拖放至虚拟机
- 运行桌面
Cameyo单文件打包制作v3.1.1530.0汉化增强绿色版
文件夹内的扫描安装过程并打包.exe
- 等待扫描结束
- 扫描结束后会出现如下窗口
- 此时运行微信安装程序
- 按照正常方式安装
- 点击安装已完成并再次耐心等待扫描结束
- 建立一个Edgeless插件工作目录(如果不知道这个是什么,请先阅读父章节开发插件包)
- 编写外置批处理
wechat.wcs
// 静默等待运行setup.cmd完成安装任务
exec =!"X:\Program Files\Edgeless\Wechat\setup.cmd"
// 为主程序创建快捷方式
link "X:\Users\Default\Desktop\Wechat","X:\Program Files (x86)\Tencent\WeChat\WeChat.exe"
// 删除源目录以释放空间
file "X:\Program Files\Edgeless\Wechat"
Wechat
文件夹内是插件的内容包(您刚刚新建完文件夹,此时这里应当是空的;此处的文件获取步骤见下方)setup.cmd
用于模仿微信安装包程序的文件复制和注册表注册过程,其内容如下
copy \*.dll X:\Windows\SysWOW64\\\*.dll
copy \*.dll X:\Windows\system32\\\*.dll
regedit /s "X:\Program Files\Edgeless\Wechat\reg.reg"
xcopy "x:\Program Files\Edgeless\Wechat\System\\\*" "%system%\\\*" /s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\Windows\\\*" "%Windows%\\\*" /s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\Personal\\\*" "%Personal%\\\*" /s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\Appdata\\\*" "%Appdata%\\\*" /s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\Profiles\\\*" "%Profiles%\\\*" /s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\Local Appdata\\\*" "%Local Appdata%\\\*" /s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\Common AppData\\\*" "%Common AppData%\\\*" /s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\Program Files(x86)\\\*" "%ProgramFiles(x86)%\\\*" /s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\Program Files\\\*" "%ProgramFiles%\\\*" /s /e /h /f /y
- 打开桌面
Cameyo单文件打包制作v3.1.1530.0汉化增强绿色版
文件夹内的包编辑器By风之暇想.exe
- 使用包编辑器打开文档文件夹内的打包exe
- 可以看到如图所示页面
- 打开注册表选项卡,并点击如图所示按钮导出注册表至工程目录内的
reg.reg
;使用RegWorkshop
软件适当清理注册表中与程序安装无关的内容(包括用户使用痕迹)
- 打开文件选项卡,并点击如图所示按钮保存除
Icons
和Logs
以外文件到工程目录内
此时目录内应当有以下内容
至此,微信的主体程序提取完成。如果您测试程序在Edgeless内直接运行没有异常请直接打包为7z,否则请根据接下来的步骤进行运行库的补充
- 先运行
Procmon
,然后打开微信
,并在微信上进行诸如登录之类的常用操作,然后关闭微信
- 点击如图所示按钮进行筛选
- 筛选条件如图↓
- 对事件逐个按下
Ctrl+K
按键并检查调用的函数库
- 将Edgeless缺少的函数库复制到项目文件夹的
Wechat
的文件夹根目录
System32
和SysWOW64
文件夹中都存在库文件,应当复制哪个文件夹内的库文件呢?
- 如果目标程序是32位的(安装到
Program Files (x86)
文件夹内)则优先考虑复制SysWOW64
中的库文件;如果目标程序是64位的(安装到Program Files
文件夹内)则优先考虑复制System32
中的库文件- 当遵循步骤1复制出的库文件无法正常支持活动的运行时,或对应的文件夹中不存在这个库文件时,请复制另一个文件夹中的库文件
- 对
Procmon
中筛选出的所有事件进行相同操作 - 适当修改
wechat.wcs
和setup.cmd
以创建快捷方式 - 为避免错误,
setup.cmd
内最好使用绝对路径,并将SysWOW64
和System32
的函数库分离到SysWOW64
和System
两个文件夹
修改后的内容如下
xcopy "x:\Program Files\Edgeless\Wechat\SysWOW64\\\*" "X:\Windows\SysWOW64\\\*"/s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\System\\\*" "X:\Windows\System32\\\*" /s /e /h /f /y
xcopy "x:\Program Files\Edgeless\Wechat\Windows\\\*" "X:\Windows\\\*" /s /e /h /f /y
xcopy "x:\Program Files\\Edgeless\Wechat\Personal\\\*" "X:\Users\Default\Documents\\\*" /s /e /h /f /y
xcopy "x:\Program Files\\Edgeless\Wechat\Appdata\\\*" "X:\Users\Default\AppData\\\*" /s /e /h /f /y
xcopy "x:\Program Files\\Edgeless\Wechat\Profiles\\\*" "X:\Users\Default\\\*" /s /e /h /f /y
xcopy "x:\Program Files\\Edgeless\Wechat\Local Appdata\\\*" "X:\Users\Default\AppData\Local\\\*" /s /e /h /f /y
xcopy "x:\Program Files\\Edgeless\Wechat\Common AppData\\\*" "X:\ProgramData\\\*" /s /e /h /f /y
xcopy "x:\Program Files\\Edgeless\Wechat\Program Files(x86)\\\*" "X:\Program Files (x86)\\\*" /s /e /h /f /y
xcopy "x:\Program Files\\Edgeless\Wechat\Program Files\\\*" "X:\Program Files\\\*" /s /e /h /f /y
regedit /s "X:\Program Files\Edgeless\Wechat\reg.reg"
- 将工程目录封装为7z插件包
- 在Edgeless内测试获得的插件包