【小程序 逆向】某电途列表接口逆向

所需环境

  • 一台root过的手机或者模拟器,安装MT管理器
  • 抓包工具:charles或者其他
  • 小程序反编译工具(github上搜索)

案例目标

  1. 小程序名称:5paw55S16YCU
  2. 接口地址:aHR0cHM6Ly9hcHAueGR0ZXYuY29tL2Fzc2V0L29wZW5hcGkvdjAuNC9jaGFyZ2Utc3RhdGlvbi1saXN0
  3. 以上均做了脱敏处理,Base64 编码及解码方式:
import base64
# 编码
# result = base64.b64encode('待编码字符串'.encode('utf-8'))
# 解码
result = base64.b64decode('待解码字符串'.encode('utf-8'))
print(result)

小程序 逆向思路

  1. 获取到小程序的wxapkg包
  2. 反编译wxapkg包
  3. 导入到微信开发者工具进行调试

通过抓包工具分析该接口

通过抓包,可以发现请求头,请求参数,返回值都有加密。

反编译小程序拿到源码导入到微信开发者进行分析(这步我就省略了,直接开始)

  • 请求参数encryptData分析

1. 直接源码里搜索encryptData,可以看到就一个,直接点进去

可以看到这块调用了aesEncrypt方法,直接搜索,看见这块有一个aesEncrypt(加密)和aesDecrypt(解密)

直接在aesEncrypt方法中写入debugger,重新编译 看传入的参数是什么。

调试下来使用的是aes加密,到这块encryptData就分析完了。

  • 请求头noncestr,sign参数分析

1. 按照参数名搜索

可以看到sign 实际上是调用的Y()方法,该方法实际生成的是随机数

tm是当前时间戳

noncestr 实际上是 e的结果进行了md5 

e = 请求参数+nonceStr+sign+tm

  • 响应体解密

是调用的aesDecrypt方法进行的解密,上面的文件中有提到

成功解密拿到数据!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忆白亦白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值