逆向实战01-嘟嘟牛在线

申明:

本文是记录本人逆向学习的过程,不会用在任何商业模式,写成博客是为了给初学者分享一些思路。若有侵权或冒犯之处,请联系我删帖,谢谢!

2021年9月29号于长沙

 

目标

抓取嘟嘟牛App接口的加密算法

工具

Charles、MuMu模拟器、Frida、jadx-gui

步骤:

1. 抓包分析

使用Charles抓包,分析user/login接口,发现post参数都已被加密。

2. jdax-gui查看源码

打开源码后,搜索user/login

 

继续搜URL_LOGIN,如下图:

红框处看着比较可疑,点击进入,果然找到接口源码:

并未发现加密算法,但红框处比较可疑,继续跟进:

 

继续进入红框处,加密近在眼前:

 

终于找到,发现2处即是加密点,继续跟进:

 

感觉像是DES算法,继续跟,终于找到加密算法类:

3. Frida设置hook点

根据代码分析,可以设置如下几个hook点:

  •  RequestUtil.encodeDesMap方法
  • RequestUtil.paraMap方法
  •  
  • Utils.md5 方法

4. 算法破解

设置好Hook点后,接下来就开始橹代码,就是MD5、DES、Base64三个算法混在一起使用,最终代码如下:

 

难点分析

主要还是对加密算法不太了解,尤其是DES算法的密钥、偏移量。本App将三种算法混在一起,对初学者挑战还是比较大。

故学习本项目的同时,还需了解以上3种加密算法在Java和Python下的实现。

原文地址:https://www.cnblogs.com/ulli/p/15352776.html