爬小程序,抓取源码

主要思路

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

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

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 ,在其目录内安装依赖  npm install 

    或

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

  安装完成后,执行命令行, node wuWxapkg.js [-d] <files…>

  [-d] <files…>  为 wxapkg 的资源位置,如: node wuWxapkg.js d:\wxapp\resource\_1123949441_304.wxapkg

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

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

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

猜你喜欢

转载自www.cnblogs.com/_error/p/11726356.html