赞
踩
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系作者立即删除!
工具准备
UnpackMiniApp
pc端小程序解密工具,因为pc端的小程序比手机端的小程序多了一层壳,所以需要使用该工具解密
地址:https://gitee.com/ceartmy/wxappUnpacker-master-master
wxappUnpacker
小程序反编译工具
地址:https://gitee.com/ceartmy/wxappUnpacker-master-master
HTTP Debugger
抓包工具,用来抓小程序的包非常方便,不需要做其他配置;这个软件是收费的,但是已经有大佬破解好了,直接百度一下就能找到
地址:https://www.httpdebugger.com/
微信开发者工具
用来动态调试微信小程序
地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
以上工具大家可以自行下载,也可以在微信公众号 “逆向路漫漫” 回复 “小程序工具” 获取全部工具的下载链接
抓包分析
打开某体育小程序,通过HTTP Debugger抓包发现请求有个加密参数auth_key,响应数据也是加密的,下面逐个分析
反编译小程序
微信文件默认存储位置是在c盘,建议修改到其他盘,因为微信文件占用内存空间较多,长期使用可以会占用c盘大部分存储空间,导致电脑卡顿;如果电脑内存够大,当我没说;
先打开微信文件的存储位置,找到Applet文件夹打开,这个文件就是存储小程序包的位置,Applet文件下可能会有很多 wx 开头的文件夹,这些就是使用过的小程序产生的文件夹,每个小程序一个文件夹;可以先将这些文件夹先删除,方便等会快速找到我们需要反编译的小程序文件夹;
关闭小程序,重新打开,进入小程序多点击一些页面,将小程序分包加载完整;会发现在Applet文件夹下产生了一个以wx开头的新文件夹,这个文件夹就是刚打开的小程序的文件夹,小程序包就在里面,现在先解密小程序包,再进行反编译
打开UnpackMiniApp,选择小程序包进行解密,解密完成之后,会将解密的小程序包存储到与UnpackMiniApp同级的wxpack文件下,解密后的小程序包与小程序文件夹同名
接下来使用wxappUnpacker进行反编译,进入wxappUnpacker根目录,在地址栏输入 cmd 打开终端
官方命令:
windows系统使用: ./bingo.bat testpkg/master-xxx.wxapkg
Linux系统使用: ./bingo.sh testpkg/master-xxx.wxapkg
我们这里输入的以下命令进行反编译,等待一会即可反编译完成,反编译完之后会在小程序包同一个文件夹下产生一个同名文件夹,文件夹里面就是反编译之后的小程序源码
node wuWxapkg.js ..\wxpack\wx0d2e07dc2660df76.wxapkg
动态调试寻找加解密位置
反编译完成之后就可以使用 微信开发者工具 进行调试,寻找auth_key的加密位置和响应解密位置
首先打开 微信开发者工具 ,导入反编译的小程序源码
导入小程序源码之后需要设置一下,打开 详情 -> 本地设置 -> 将 不校验合法域名…以及HTTPS证书 选项勾选上,再点击编译
编译过程中出现错误:# Error: xxx.js 已被代码依赖分析忽略,无法被其他模块引
该错误解决办法:
这里采用第二种方法,在project.config.json 中 settings 选项添加 ignoreDevUnusedFiles: false , ignoreUploadUnusedFiles: false,重新编译,发现页面可以正常显示了
寻找auth_key的加密位置,全局搜索关键字auth_key,搜到两处,均为同一个位置,打上断点,刷新页面,成功断下
阅读代码发现auth_key等于u,u是由a(e)生成的,这里重点分析a(e);单步跟进a函数,传入的参数是 api
将a函数复制到本地运行,会出现报错,这里直接缺啥补啥,没什么坑
寻找响应解密位置,由于无法进行动态调试,所以只能靠阅读代码来寻找解密的地方,结合上下文发现响应数据是通过 var o = t(a.data, a.code - 100); 进行解密的
将解密函数代码复制到本地运行,会报错,依然是缺啥补啥;传入两个参数:第一个参数是响应加密的字符串,第二个参数是响应数据的code值减去100,本地运行可以正常解密
代码测试
本地代码发送请求测试正常,可以正常解密数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。