美文网首页微信小程序开发
手把手-获取微信小程序源码

手把手-获取微信小程序源码

作者: nianyounan | 来源:发表于2018-10-18 14:50 被阅读1012次

先来皮一下

  • 微信小程序的源代码在哪里?
    开发者电脑里(不是人造革,是真的皮)
  • 微信小程序的源代码到底在哪里?
    那肯定是腾讯加的服务器上,不过是编译过的执行包。
  • 那怎么在手机上执行?
    当然是先下载到手机上。
  • 下载到手机上的执行包文件能获取到吗?
    iOS没试过,Android那是轻而易举。可以获取root权限的手机或者模拟器都可以。
  • 有了执行包文件怎么办?
    参考大神对于.wxapkg文件结构的分析,就有思路了

使用到的工具

获取微信小程序源码实例

以下是获取某微信小程序“ABC”的源码的实例步骤。

1,使用Android模拟器获取.wxapkg文件

打开夜神模拟器安装微信(自带市场),RE文件管理器

  • 在模拟器上打开微信并登陆,搜索小程序ABC
  • 打开小程序ABC,玩耍一下
  • 在如下目录找到相应的.wxapkg,可以根据时间戳来判断
/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串文件夹}}/appbrand/pkg/

示例如下:


.wxapkg文件
  • 选中_126431493_6.wxapkg,压缩所选文件->查看


    .wxapkg压缩文件
  • 选择“发送”,将压缩文件通过微信发送到电脑版微信
  • 电脑版微信接收到压缩文件解压缩以备下一步使用

2,使用解包工具还原小程序源码

  • 安装nodejs
  • 下载wxappUnpacker,并使用npm安装它的依赖包,依赖包说明
  • 进入wxappUnpacker目录,调用node wuWxapkg.js file.wxapkg


    解包.wxapkg
  • 解包完成


    解包完成
  • 源码包结果


    源码包结果
  • 开发过小程序的对这个源码包应该是一目了然了

例外

  • 现在好多小程序都是框架编译,所以解包完了也是很多压缩,混淆,很难读懂。
  • 对于分包小程序处理来说,由于分包下载依赖于分包触发机制,所以对于此类小程序需要额外的步骤来确保分包下载完成。另外遗憾的是wxappUnpacker分包功能没有完成。

参考

.wxapkg文件分析

总结

小程序源代码(虽然不是100%源代码)能如此简单的被获取,原因在于微信团队没有对编译完的执行包进行加密保护。如果使用一些对称加密的手段,只有微信客户端才可以解密得到执行包,并且执行包只保存于内存不缓存于磁盘,这样的话会对开发者有较好的保护。

此内容仅供学习参考。

相关文章

网友评论

    本文标题:手把手-获取微信小程序源码

    本文链接:https://www.haomeiwen.com/subject/ifyjzftx.html