微信小程序反编译实操
环境准备
- 安装 node
- 微信开发者工具
- 安装 pc 端模拟器工具选择 网易 MuMu ,简单易操作
需要安装以下两个软件,搜索框直接搜索即可
- 微信:登录上模拟器微信打开需要下载的小程序
- RE 文件管理器:需要设置 root 权限,设置-权限(查看小程序压缩包)
cd wxappUnpacker
npm install
获取小程序压缩包
- 打开模拟器的微信并登录
- 在模拟器微信的下拉小程序找到小程序
- 打开小程序等待加载之后就可以去找源码包了(注意:每个页面都浏览一遍,确保子包都加载下载下来)
- 打开 RE 文件管理器,进入到以下路径查找源码包(可以根据下载时间区分出你想要的源码包)
选择压缩文件发送给好友保存到电脑上
使用 adb 命令快速拉取
查看当前是否有设备连接到 adb get-state
,如果没有连接到,查看下面 adb connect
连接上模拟器即可使用 adb pull
拉取模拟器的文件
主流安卓模拟器连接方式:
- 夜神模拟器:
adb connect 127.0.0.1:62001
- 逍遥安卓模拟器:
adb connect 127.0.0.1:21503
- 天天模拟器:
adb connect 127.0.0.1:6555
- 海马玩模拟器:
adb connect 127.0.0.1:53001
- 网易 MUMU 模拟器:
adb connect 127.0.0.1:7555
MacOS:adb connect 127.0.0.1:5555
- genymotion 模拟器:
adb connect 127.0.0.1:5555
- 谷歌原生模拟器:
adb connect <设备的 IP 地址>:5555
检查完上面步骤后,使用 adb 拉取到本地文件夹即可
adb pull /data/data/com.tencent.mm/MicroMsg/056e5e31623203e0efe74762a2584f40/appbrand/pkg
编译主包
执行命令
# _-1215506245_427.wxapkg 主包
$ ./bingo.sh 小程序压缩包/_-1215506245_427.wxapkg
输出结果
node /Users/poetry/Downloads/小程序反编译工具/wuWxapkg.js
Unpack file 小程序压缩包/_-1215506245_427.wxapkg...
Header info:
firstMark: 0xbe
unknownInfo: 0
infoListLength: 15360
dataLength: 2960164
lastMark: 0xed
File list info:
fileCount: 375
Saving files...
Unpack done.
Split app-service.js and make up configs & wxss & wxml & wxs...
deal config ok
deal js ok
deal wxss.js ok
deal css ok
=======================================================
这个小程序采用了分包
子包个数为: 6
=======================================================
Decompile ./components/articlelist/articlelist.wxml...
Decompile success!
Decompile ./components/bigplate/bigplate.wxml...
Decompile success!
Decompile ./components/chart/chart.wxml...
Decompile success!
...
Decompile success!
Decompile ./pages/my2/my2.wxml...
Decompile success!
Decompile ./pages/retailnew/retailnew.wxml...
Decompile success!
Decompile ./wxParse/wxParse.wxml...
Decompile success!
Guess wxss(first turn)...
splitJs: /Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_-1215506245_427/app-service.js
...
/Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_-1215506245_427 pages/efamily/efamily.js
/Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_-1215506245_427 pages/retailnew/retailnew.js
Splitting "/Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_-1215506245_427/app-service.js" done.
Regard /Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_-1215506245_427/miniprogram_npm/@vant/weapp/area/index.wxss as pure import file.
Import count info: {"./miniprogram_npm/@vant/weapp/common/index.wxss":69}
Guess wxss(first turn) done.
Generate wxss(second turn)...
Generate wxss(second turn) done.
Save wxss...
saveDir: /Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_-1215506245_427
Split and make up done.
Delete files...
Deleted.
File done.
Total use: 17898.449ms
(base)
编译分包
命令格式: ./bingo.sh 分包.wxapkg -s=主包目录
$ ./bingo.sh 小程序压缩包/_1462998946_427.wxapkg -s=test
node /Users/poetry/Downloads/小程序反编译工具/wuWxapkg.js
Unpack file 小程序压缩包/_1462998946_427.wxapkg...
Header info:
firstMark: 0xbe
unknownInfo: 0
infoListLength: 2070
dataLength: 512073
lastMark: 0xed
File list info:
fileCount: 32
Saving files...
Unpack done.
now dir: /Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_1462998946_427
param of mainDir: test
sub package word dir: /Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_1462998946_427/pages/subPackage/retail
real mainDir: /Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_1462998946_427/test
Split app-service.js and make up configs & wxss & wxml & wxs...
deal js ok
deal sub html ok
splitJs: /Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_1462998946_427/pages/subPackage/retail/app-service.js
/Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_1462998946_427/test pages/subPackage/retail/pages/confirmorder/confirmorder.js
...
Splitting "/Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_1462998946_427/pages/subPackage/retail/app-service.js" done.
Decompile ./pages/subPackage/retail/pages/addTeaCommnet/addTeaCommnet.wxml...
Decompile success!
Decompile ./pages/subPackage/retail/pages/addresslist/addresslist.wxml...
Decompile success!
...
Decompile success!
Decompile ./pages/subPackage/retail/pages/writecomment/writecomment.wxml...
Decompile success!
Guess wxss(first turn)...
Import count info: {}
Guess wxss(first turn) done.
Generate wxss(second turn)...
Generate wxss(second turn) done.
Save wxss...
saveDir: /Users/poetry/Downloads/小程序反编译工具/小程序压缩包/_1462998946_427/test
将分包内容拷贝至主包相应目录
重复以上过程,把所有的分包都拷贝到主包对应的目录
导入微信开发者工具
- 打开微信开发者工具,导入项目,选择随机 appId 测试
- 注意在项目设置中勾选不校验合法域名
注意
miniprogram_npm
包可能下载源码的时候没有完整合并,具体看报错提示处理
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 微信小程序开发实践
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论