-
-
[原创]android逆向——某阅读新闻app的token算法
-
发表于:
2021-6-10 00:34
11267
-
[原创]android逆向——某阅读新闻app的token算法
因为学校被当作高考考点,所以有了几天假期,正好可以用来逆逆前几天找到的一个刷新闻赚钱app。
通过抓包,发现手机验证码提交时有一个token。
在jadx-gui里直接搜索token,并没有找到符合条件的代码。
通过搜索sdktype参数后,找到一个
发现有sm_id、token与抓包到的参数都吻合,token是由一个l1类的i方法生成的
找到l1的i方法后,发现i方法是一个加密的方法
通过查找
q()是获取加密的密钥
c()是url编码
b.e()是进行PBEWITHMD5andDES加密
B()是获取Openid
到这里,token的生成方法已经被逆向出来。
接着通过编写一个Xposed模块对我们找到一些可疑函数进行hook
找到一个加密结果与我们之前抓包抓到的token是一样的,接着通过Xposedhook的输出结果发现Token的密钥是由一个请求返回的结果进行加密形成的
返回的请求
app在启动后向服务器发送一个请求,这个请求中的token是"_"+当前时间无密钥加密的,在服务器回复这个请求后,app把skey进行2次url解码后,把结果Base64解密,接着用openid对它加密得到提交验证码时token的密钥。最后提交验证码的token是用上面得到的密钥对
加密得到的。
因为这个是我在逆向后写的,所以一些细节忘记了,后续想起会对文章进行补充。
本人的文笔很烂,很多地方写得不流畅,读起来很困难,希望各位看雪大佬见谅。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课