微信小程序“反编译”实战

北京阳光环球广告有限公司  http://www.sunad.net.cn  2018-05-08  浏览量:1000


Tags: 手机APP   手机网站建设设计   手机建站公司   SEO   SEO公司   手机网站建设   app开发  

我们知道,在微信开发者工具中开发完小程序后,我们点击“上传”按钮,微信开发者工具会进行“编译”,对 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 安装目
 
找到“微信”的目录(我手机上对应的是: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/Wechat
 
目录中有一系列以 wx... 开头的文件夹,这些 wx... 的 18 位字符串即为每个小程序对应的 AppId ,在每个 wx... 文件夹中都放着当前小程序对应的 .wxapkg 包,它以数字命名, 数字代表着当前包为开发者第几次发布的 (它与开发者在发布小程序时指定的版本号是不同的),例如我们的“知识小集”小程序一共发布了两个版本,所以 wx48...85db 文件中存放有 2.wxapkg 文件:

本文地址:http://www.sunad.net.cn/content-104-790-1.html

  • SEO知识
  • SEO热点问题
  • SEO工具
  • 建站知识
  • 网站设计
  • 网站开发

北京阳光环球广告有限公司网络分公司 版权所有 违者必究 京ICP备13002036号-1

在线咨询
热线电话
扫一扫

扫一扫

全国免费服务热线
010-83687575

返回顶部