扒小程序代码,抓取源码

主要思路

  小程序运行时,会先下载资源再运行,拿到小程序的资源包后,通过反编译程序,对微信压缩后的包进行反编译,即可还原大部分代码。

  截至记录当天,此方法未被微信修复。

1. 抓取源码包 wxapkg

  点开小程序图标的过程,微信就已经从远端服务器下载其源文件到手机上了,原则上,手机本地已经有这个源文件了,只要有root权限或者越狱,能访问到。没有root权限的话,可以使用安卓模拟器。推荐使用 夜神,自带root,附上地址:下载地址  

  开启模拟器后,安装微信、RE管理器( 用于访问源文件 )。然后从设置里开启: 超级用户 => 右上角菜单设置 => 自动响应 => 允许

      

 

 

 随后进入微信,点开小程序,运行一会儿后,用 RE管理器,找到一下位置文件

  根目录/data/data/com.tencent.mm/MicroMsg/{ User}/appbrand/pkg/

{ User } 为一串16进制字符

 

 

将这些文件压缩后,通过发送给微信好友 等方式分享出来,不走压缩步骤的话,会提示获取资源失败。

微信在压缩打包的时候会按照一定规则来,分包基本是单独的一个 wxapkg 文件,包括一些 依赖。wxapkg 是微信自己的二进制文件,戳这里看大神解析 

 

2. 反编译

  拿到 wxapkg 文件后,接下来就可以进行反编译了。

  node 环境下,clone 这个 git 资源 https://github.com/qwerty472123/wxappUnpacker ,

  此资源已被移除,参考其他资源 https://github.com/xuedingmiaojun/wxappUnpacker ,

  安装依赖  npm install 

    随后安装其他依赖


npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen

 

  安装完成后,执行命令, node wuWxapkg.js < file path…>

  < file path…>  为 wxapkg 的资源位置,如: 

    node wuWxapkg.js d:\wxapp\resource\_1123949441_304.wxapkg

  执行后即可反编译出程序源码,编译后的文件地址同 wxapkg 资源地址目录

 

参考:两步快速获取小程序源码

或  使用TBS爬取已经上线的微信小程序页面   

posted @ 2019-10-23 15:03  晨の风  阅读(8028)  评论(0编辑  收藏  举报