转载于:blog.csdn.net/qq_41139830…
一 引言
在获取小程序代码前,需要知道一下几点:
-
微信小程序的源文件存放在哪里:
微信的服务器上,普通用户想要获取是十分困难的
-
如何获取小程序的源文件:
当我们在手机上点开一个小程序时,微信已经将它从服务器上下载到了手机,然后再运行。所以我们可以从手机本地找到已经下载过的小程序文件。
-
微信小程序源文件类型:
小程序源文件是.wxapkg类型的文件
-
有了源文件怎么将其还原成源码?
将.wxapkg反编译
-
备注:
此方法不能反编译出所有的源码
二 准备环境和工具
1. node.js运行环境
下载地址: nodejs.org/en/
2.反编译工具
3.安卓模拟器
夜神模拟器: www.yeshen.com/cn/download…
三 获取步骤
-
打开安装好的夜神模拟器,在应用商店中下载微信 (夜神模拟器启动需要一定时间,耐心等待) 点击右上角的应用商店,搜索微信,点击下载安装即可
-
登录微信,点击想要获取源码的小程序,以美团门票为例
- 找小程序的源文件
(1)点击右侧的文件助手,打开安卓文件夹
(2)在安卓模拟器中找到小程序源文件
文件路径为:根目录/data/data/com.tencent.mm/MicroMsg/{一串16进制字符}/appbrand/pkg/
选中小程序文件,并复制
(3)将小程序文件粘贴到安卓共享路径(从图3(1)中可以共享路径)
(4)打开电脑共享路径
可以看到微信小程序的源文件已经自动复制到本地计算机了
(5)将源文件反编译
a. 安装反编译工具
从上面的链接中下载项目.zip文件夹,解压
打开PowerShell,进入到项目目录cd 项目路径,输入 npm install
,
b. 反编译小程序文件:
在PowSell中执行命令
node .\wuWxapkg.js 本地共享目录\_-1404031685_362.wxapkg,实现反编译
发现出错了,看报错信息是没有实现所有的源码解析,应该是美团门票小程序时分开了好几个包,因为在点击美团门票后,有三个.wxapkg文件,我分别进行了解析,下面的截图是生成的解析文件夹的结构:
根据文件夹名称,猜想是不同的包对应了不同的功能
(6)使用微信开发者工具运行反编译源码:
点击开发者工具的项目菜单,点击导入项目,输入项目的配置信息如下图,其中的APPID可以申请测试号(申请方法可参考官网)
因为此目录中没有app.json文件,所以导入失败,额,可能美图的保护太好了,不过这个方法亲测对于一些不太复杂的小程序还是可以获取到前端页面的源码并解析成功的。美图门票的也没有那么糟,解析完后的代码还是有一些参考性的。