android逆向—头条新闻app的token算法

某刷新闻赚钱token算法逆向分析

1.前言

因为学校被当作高考考点,所以有了几天假期,正好可以用来逆逆前几天找到的一个刷新闻赚钱app。

2. 工具:Xposed、Charles、反射大师、VMOS Pro

3. 抓包:

通过抓包,发现手机验证码提交时有一个token。

1

4.逆向token算法

在jadx-gui里直接搜索token,并没有找到符合条件的代码。

通过搜索sdktype参数后,找到一个

2

发现有sm_id、token与抓包到的参数都吻合,token是由一个l1类的i方法生成的

找到l1的i方法后,发现i方法是一个加密的方法

3

通过查找

q()是获取加密的密钥

c()是url编码

b.e()是进行PBEWITHMD5andDES加密

B()是获取Openid

到这里,token的生成方法已经被逆向出来。

接着通过编写一个Xposed模块对我们找到一些可疑函数进行hook

6

找到一个加密结果与我们之前抓包抓到的token是一样的,接着通过Xposedhook的输出结果发现Token的密钥是由一个请求返回的结果进行加密形成的

7

返回的请求

8

5.整个token生成过程

app在启动后向服务器发送一个请求,这个请求中的token是"_"+当前时间无密钥加密的,在服务器回复这个请求后,app把skey进行2次url解码后,把结果Base64解密,接着用openid对它加密得到提交验证码时token的密钥。最后提交验证码的token是用上面得到的密钥对

9

加密得到的。

10

6.补充

因为这个是我在逆向后写的,所以一些细节忘记了,后续想起会对文章进行补充。

本人的文笔很烂,很多地方写得不流畅,读起来很困难,希望各位看雪大佬见谅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值