爬小程序,抓取源码


主要思路

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

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

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爬取已经上线的微信小程序页面    (未测)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM