安卓逆向加密篇(一):某应用sign逆向分析过程

本文记录了一次针对APP签名算法的逆向分析过程。通过对不同环节的Hook尝试,最终定位到WebView中的JavaScript加密逻辑,揭示了MD5算法结合盐值的应用。

一.前言

近日对某APP进行逆向分析时,发现请求数据进行了参数加密,如图。由于经验不足,逆向该签名算法过程颇有些曲折,所以写这篇文章来记录下。

二.正文

总共三个额外参数:code、awardType、time,先对sign的值进行观察,长度32位,因此猜测采用的是MD5算法加密的,所以就从这方面入手了。

1.先尝试常规方法,对参数进行简单排序然后MD5测试下,发现都不对,只能换种方法了。

 2.大多情况下MD5加密会将排序后的参数+salt值再加密,或者将MD5后的值再偏移一下,这种情况只能采用反编译或Hook来解决了。

(1)先用jadx反编译工具查看下,搜索“sign”和URL值,并没有发现有用的信息,此时还可以从Activity分析下去,但分析混淆后的代码,这方法工作量就有点大了,于是转换Hook方法。

(2)先直接Hook加密类MessageDigest,因为采用原生MD5加密的一定会经过该类,所以先来试试

XposedBridge.hookAllMethods(classLoader.loadClass("java.security.Message
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

开发大观园

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

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

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

打赏作者

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

抵扣说明:

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

余额充值