一、简介
最近在学习Momo小程序的开发。 经过半个月的学习,我很想在实战中踩坑,所以扩展了一个阿里妈妈淘宝客小程序的后端实现。 过程一言难尽,时间已经过去快两周了。 我发现小程序的陷阱远比想象的多! ! 在实际应用中,它完全是一个黑匣子。 看到别人网上小程序的疗效,纯属推断。 有些疗效是绞尽脑汁就能大致实现的,但有些细节是费尽心思却无法实现的。 真想看一眼源码,查到底app源码反编译,看看大厂的后端前辈们是如何避免小程序各种可笑的陷阱的。
于是我想到了获取小程序的源文件,然后反编译恢复成源代码作为学习参考。 我在百度上搜索过各种小程序的反编译教程,但感觉没有一个适合我这样的初学者,踩了很多坑。 这里我重新简化一下,以快速获取一个陌陌小程序源码的形式记录一下。
2. 简单说一下xxxxx.wxapkg 3. 准备材料 4. 详细步骤
使用Android模拟器获取.wxapkg文件
5.使用反编译脚本解压wxapkg
依赖安装完毕后,最后一步就是反编译.wxapkg文件
在当前目录下输入node wuWxapkg.js [-d]//files是你要反编译的文件名比如:我有一个需要反编译的文件_163200311_32.wxapkg已经解压到根目录了磁盘,然后输出命令node.wuWxapkg.js C:_163200311_32.wxapkg
输入运行
反编译脚本可以将.wxapkg文件一步还原为只能由Momo开发者工具运行的源文件。 该目录地址与你的反编译文件的地址相同。 然后在Momo开发者工具中添加新项目即可打开并运行成功。 源代码获取完成 VI. 结论
至此,我们通过极其简单的方法就获得了想要的小程序源文件app源码反编译,并对其进行了对齐和反编译恢复。 之后我们想要反编译其他小程序,速度非常快,只需要两步就可以完成。
使用这种方法,大部分小程序都可以正常反编译,但也会有一些特殊情况,具体可以查看qwerty472123前辈的readme文件
反编译.apk这样的文件是非常困难的,但是一个小程序的源代码却可以如此轻松、随意地获得。 根本原因是小程序的开发团队没有对小程序的执行文件进行有效的保护,即对其进行加密,所以我们可以使用别人编写的脚本直接反编译,过程与解压类似。
其实小程序只是将图片、js、json文件压缩在一起,压缩过程为Wxml -> Html、Wxml -> JS、Wxss -> Css,转换后文件的二进制格式及后缀为wx二进制格式是完全一样的。
在线源代码可以很容易获得。 不得不说,小程序的源代码安全存在很大的隐患。 很多开发者应该也知道这一点,所以他们发现有些小程序会将重要的js逻辑代码合并在一个js文件中,这样一来,即使拿到了源码,也不容易理解,但仍然无法避免问题被偷看。 小程序作为陌生生态中的生力军,不仅受到政府的期待,也受到众多开发者和内容创业者的期待。 考虑到代码的安全性,这个漏洞迟早会在三天内修复(封存)。
因此,这里介绍的获取小程序源代码的方法应该不会持续太久。