这种方法,并不能反编译出所有的小程序源码,请自知!下面是原文:
最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了一个滴滴他们家的青桔单车小程序的前端实现,过程一言难尽,差不多两周时间过去了,发现小程序的坑远比想象的要多的多!!在实际练手中,完全是黑盒的,看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来。很想一窥源码,查看究竟,看看大厂的前端大神们是如何规避了小程序的各种奇葩的坑。 于是就想到获取到小程序地源文件,然后再对其进行反编译还原为源代码,来作为学习参考。我百度了各种关于小程序地反编译教程,但是感觉都不太适合像我这样地初学小白,踩了挺多坑。在这里把我重新简化好的,快速地获取一个微信小程序源码的方式记录下来。
#一、简单聊一下xxxxx.wxapkg
先来想想一个很简单的问题,小程序的源文件存放在哪**?**
- 当然是在微信的服务器上。
但是在微信服务器上,普通用户想要获取到,肯定是十分困难的,有没有别的办法呢?
- 简单思考一下我们使用小程序的场景就会明白,当我们点开一个微信小程序的时候,其实是微信已经将它的从服务器上下载到了手机,然后再来运行的。
- 所以我们应该可以从
手机本地
找到到已经下载过的小程序文件
那么如何才能在手机里找到小程序的源文件包呢?
- 这里只以安卓手机为例,毕竟穷逼不曾拥有过苹果手机
- 具体目录位置直接给出:
根目录/data/data/com.tencent.mm/MicroMsg/{一串16进制字符}/appbrand/pkg/
- 在这个目录下,会发现一些
xxxxxxx.wxapkg
类型的文件,这些就是微信小程序的包微信小程序的格式就是:.wxapkg
!!! PS !!!:
这里重要声明一下:虽然微信小程序的包后缀是.wxapkg
,但有一些包的依赖后缀也是.wxapkg
,真正的小程序包大小1M
左右,而依赖包大小2、3M
甚至更多。所以一股脑的反编译.wxapkg
类型的文件可能会报错:Error: This Package is unrecognizable, please decrypted every type of file by hand.
,遇见这个问题的小伙伴请自知,你可能没找对包哦! .wxapkg
是一个二进制文件,有其自己的一套结构。- 微信小程序源码阅读笔记