欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序“反编译”实战(一):解包

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:736

高端HTML5响应式企业通用网

2020-05-06   浏览:517

html5响应式外贸网站英文版

2020-05-08   浏览:505

HTML5自适应律师工作室类网

2020-04-04   浏览:501

HTML5影视传媒文化公司类网

2020-05-12   浏览:494

微信小程序“反编译”实战(一):解包

发布时间:2020-10-24  

本实战教程将一步步告诉你如何“反编译”获得其它小程序的源代码,包括“解包”和“源码还原”两篇,主要参考了看雪论坛、V2EX、GitHub 等网站上的帖子、教程、工具,在此不胜感激,参考链接详见文章底部,以及加上了我自己的一些理解和总结。

我们知道,在微信开发者工具中开发完小程序后,我们点击“上传”按钮,微信开发者工具会进行“编译”,对 JS 代码进行压缩混淆以及对 wxml 、 wxss 和资源文件等进行整合打包成一个 .wxapkg 文件上传给微信服务器。

所以要“反编译”小程序,首先我们要获取到小程序对应的 .wxapkg 包。

之前在 V2EX 上有一篇 文章 介绍了如何通过某 URL 直接下载每个小程序的 .wxapkg ,但很快被微信封了。

因此,我们只能从手机端入手,在手机上找到微信客户端下载保存在本地的小程序包。

获取小程序的 .wxapkg 文件

工具:一台已越狱的 iPhone 手机或者已 Root 的 Android 手机

本文以 iPhone 4S, iOS 8.4.1 为例,微信版本 v6.6.6。

在已越狱的 iPhone 上打开 Cydia ,搜索并安装 iFile 或者 Filza 等文件浏览 App,打开 iFile 或者 Filza ,跳转到本地 App 安装目录: /var/mobile/Containers/Data/Application/ ,此时,你可以看到当前 iPhone 上已安装的 App 列表,如下图所示:

微信小程序“反编译”实战(一):解包

找到“微信”的目录(我手机上对应的是:297286CE-9055-400A-99FA-D2D7C0735DCF 文件夹),点击进入,即为微信在此 iPhone 上的“沙盒”(Sandbox),相信 iOS 开发者对此目录已经非常熟悉了,该目录下主要有 Documents 、 Library 和 tmp 等文件夹,通常用于存放不同的数据和文件,这里不再赘述。我们在当前微信“沙盒”目录中搜索 wxapkg 关键字,即可找到当前 iPhone 中微信已下载的小程序包,如下图:

微信小程序“反编译”实战(一):解包

我们发现搜索到的 .wxapkg 文件名都是以数字命名的,如图中的 2.wxapkg 和 25.wxapkg ,它们的命名有什么规则呢?又放在哪呢?我们接着往下看。

经过简单分析我们发现,微信下载的小程序包存放在以下目录:

/path/to/WeiChat SandBox/Library/WechatPrivate/{UserId}/WeApp/LocalCache/release/

其中, {UserId} 为当前登录的微信账号 Id 的 MD5 值(32 位字符串),例如我手机上小程序包存放的完整目录为:

/var/mobile/Containers/Data/Application/297286CE-9055-400A-99FA-D2D7C0735DCF/Library/WechatPrivate/c15d9cced65acecd30d2d6522df2f973/WeApp/LocalCache/release/

该目录的内容如下图所示:

微信小程序“反编译”实战(一):解包

目录中有一系列以 wx... 开头的文件夹,这些 wx... 的 18 位字符串即为每个小程序对应的 AppId ,在每个 wx... 文件夹中都放着当前小程序对应的 .wxapkg 包,它以数字命名, 数字代表着当前包为开发者第几次发布的 (它与开发者在发布小程序时指定的版本号是不同的),例如我们的“知识小集”小程序一共发布了两个版本,所以 wx48...85db 文件中存放有 2.wxapkg 文件:

微信小程序“反编译”实战(一):解包

另外,我们发现,在 iOS 上,微信也为每个小程序分配了一个 Sandbox 文件夹用于管理小程序在本地存储的数据和文件,如图:

微信小程序“反编译”实战(一):解包

其路径为:

/path/to/WeiChat SandBox/Library/WechatPrivate/{UserId}/WeApp/Sandbox/wx...(小程序 AppId)

By The Way,Android 手机上小程序包的存放目录为(需 Root 权限才能访问):

/data/data/com.tencent.mm/MicroMsg/{UserId}/appbrand/pkg/

拷贝 .wxapkg 文件到电脑上

通过上述分析,我们可以知道到小程序的压缩包 .wxapkg 存放在哪,接下来我们需要将手机上的 .wxapkg 文件拷贝到电脑上。

在 iPhone 上打开 Cydia 搜索并安装 OpenSSH 后,在 iPhone > 设置 > 无线局域网中查看你当前手机连接的 WiFi,并记录 IP 地址,例如我的为: 192.168.1.17 ,然后在你的 Mac 电脑上打开终端(与 iPhone 连接同一 WiFi),就可以通过 SSH 登录到你的手机上了(具体的细节详见 Cydia 上 OpenSSH 下载页面的使用说明):

ssh root@192.168.1.17

本文标签

:备案管家服务帮您把复杂流程变简单,解决您在进行网站备案过程中遇到的效率低下和成功率不高的问题。个人300/2个域名,企业500/5个域名,qq1650004.