首页 > 编程语言 >android逆向—头条新闻app的token算法

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

时间:2025-01-09 21:31:13浏览次数:3  
标签:逆向 加密 app token 密钥 android 抓包

某刷新闻赚钱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.补充

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

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

标签:逆向,加密,app,token,密钥,android,抓包
From: https://blog.csdn.net/2403_87755661/article/details/145042910

相关文章

  • 百度Android最新150道面试题及参考答案 (中)
    Android中一个View的显示渲染过程,自定义View的时候需要避免什么操作?一、View的显示渲染过程测量(Measure)阶段这个阶段是View渲染的第一步。父容器会调用子View的measure()方法来确定子View的大小。measure()方法会传入两个参数,即MeasureSpec(测量规格),它包含......
  • 小程序uniapp+java校园社团管理系统 rgu6d3
    目录系统实现截图技术栈开发核心技术介绍:为什么选择最新的Vue与SpringBoot技术核心代码部分展示代码执行流程详细视频演示源码获取系统实现截图技术栈jdk版本:jdk1.8+编程语言:java框架支持:springboot/ssm数据库:mysql版本不限数据库工具:Navicat/SQ......
  • 小程序uniapp+java易物小店物品交换系统 0439y
    目录系统实现截图技术栈开发核心技术介绍:为什么选择最新的Vue与SpringBoot技术核心代码部分展示代码执行流程详细视频演示源码获取系统实现截图技术栈jdk版本:jdk1.8+编程语言:java框架支持:springboot/ssm数据库:mysql版本不限数据库工具:Navicat/SQLyog......
  • 【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
    本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7863046.html?templateId=1718516现象mybatis或mybaits-plus的mapper文件sql结尾加分号";"执行时报错:”YAS-04209unexpectedword;“解决办法将sql结尾分号“;”去掉。使用注解方式写的sql语句也......
  • 小程序uniapp+java校园服务闲置物品交易失物招领系统
    目录系统实现截图技术栈开发核心技术介绍:为什么选择最新的Vue与SpringBoot技术核心代码部分展示代码执行流程详细视频演示源码获取系统实现截图技术栈jdk版本:jdk1.8+编程语言:java框架支持:springboot/ssm数据库:mysql版本不限数据库工具:Navicat/SQLyog......
  • uniapp小程序中隐藏顶部导航栏和指定某页面去掉顶部导航栏小程序
    uniapp+vue3开发小程序过程中隐藏顶部导航栏和指定某页面去掉顶部导航栏方法在page.json中  "globalStyle":{    "navigationStyle":"custom",  },如果是指定某个页面关闭顶部导航栏,在style中添加"navigationStyle":"custom"   {  ......
  • uniapp开发微信小程序获取用户头像、昵称和手机号一键登录
    1<!--登录页面版本一-->2<!--#ifdefMP-WEIXIN-->3<viewclass="mpwx-logincolumn-center">4<viewclass="loginLogo">5<form@submit="onSubmit(true,$eve......
  • Android运行第一个hello world项目
    AndroidStudio安装公众号:木木与代码本文作者:@MuMu编写日期:2024年01月25日本文字数:1861个字符关注可了解更多的教程。问题或建议,请公众号留言;/开始/ 01环境系统:Windows10专业版软件:AndroidStudio2022.3.1Patch102创建项目打开AndroidStudio......
  • 2025年百科荣创Android -- AI视觉检测模型集成--
    文章目录文章目录前言AndroidOCR文字识别简介PyddleOCR实现方法Android智能交通灯检测简介智能交通灯检测实现方法Android手势识别简介手势识别实现方法Android车牌矫正识别简介车牌矫正与识别方法Android口罩识别简介口罩识别实现方法结语文章目录......
  • Spring Cloud - bootstrap.yml vs application.yml
    WhenusingSpringCloud,the'real'configurationdataisusuallyloadedfromaserver.InordertogettheURL(andotherconnectionconfiguration,suchaspasswords,etc.),youneedanearlieror"bootstrap"configuration.Thus,you......