微信小程序反编译实操

发布于 2024-07-10 15:16:12 字数 7141 浏览 17 评论 0

环境准备

  1. 安装 node
  2. 微信开发者工具
  3. 安装 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
24 人气
更多

推荐作者

内心激荡

文章 0 评论 0

JSmiles

文章 0 评论 0

左秋

文章 0 评论 0

迪街小绵羊

文章 0 评论 0

瞳孔里扚悲伤

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文