所需环境
- 一台root过的手机或者模拟器,安装MT管理器
- 抓包工具:charles或者其他
- 小程序反编译工具(github上搜索)
案例目标
- 小程序名称:5paw55S16YCU
- 接口地址:aHR0cHM6Ly9hcHAueGR0ZXYuY29tL2Fzc2V0L29wZW5hcGkvdjAuNC9jaGFyZ2Utc3RhdGlvbi1saXN0
- 以上均做了脱敏处理,Base64 编码及解码方式:
import base64
# 编码
# result = base64.b64encode('待编码字符串'.encode('utf-8'))
# 解码
result = base64.b64decode('待解码字符串'.encode('utf-8'))
print(result)
小程序 逆向思路
- 获取到小程序的wxapkg包
- 反编译wxapkg包
- 导入到微信开发者工具进行调试
通过抓包工具分析该接口
通过抓包,可以发现请求头,请求参数,返回值都有加密。
反编译小程序拿到源码导入到微信开发者进行分析(这步我就省略了,直接开始)
-
请求参数encryptData分析
1. 直接源码里搜索encryptData,可以看到就一个,直接点进去
可以看到这块调用了aesEncrypt方法,直接搜索,看见这块有一个aesEncrypt(加密)和aesDecrypt(解密)
直接在aesEncrypt方法中写入debugger,重新编译 看传入的参数是什么。
调试下来使用的是aes加密,到这块encryptData就分析完了。
-
请求头noncestr,sign参数分析
1. 按照参数名搜索
可以看到sign 实际上是调用的Y()方法,该方法实际生成的是随机数
tm是当前时间戳
noncestr 实际上是 e的结果进行了md5
e = 请求参数+nonceStr+sign+tm
-
响应体解密
是调用的aesDecrypt方法进行的解密,上面的文件中有提到文章来源:https://www.toymoban.com/news/detail-790340.html
成功解密拿到数据!文章来源地址https://www.toymoban.com/news/detail-790340.html
到了这里,关于【小程序 逆向】某电途列表接口逆向的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!