飞Young逆向分析-第三章

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 飞Young逆向分析-第三章

飞Young逆向分析-第三章

由于沃派老是莫名掉线,于是基于之前的文章,把沃派的认证程序撸了出来,耽误了飞young第三章,加急赶了出来

在第一章我们分析了密码和日志加密算法

在第二章我们分析了认证参数加密算法

本章我们将解密这些参数,即模拟后端校验参数,当然密码除外,众所周知md5无法还原,这也就没意义了,退一万步来讲有人能解md5, 密码是被截取的,仅凭那16位也根本无法还原。可以大概猜测数据库中存的是密码原文,用户发起认证,根据用户名取出密码,走一遍加密流程,比对密文即可。

还原参数

这个地方很巧妙,用到了 异或运算 的特性:异或运算的逆运算是其本身,这样一来,原本可能复杂的解密算法,只需要复制加密算法修改一个位置即可实现,什么意思呢?如下代码:

int a = 10, b = 20;
int xorRes = a ^ b; // a 与 b的异或结果
System.out.println(xorRes); // 30
System.out.println(b ^ xorRes); // 10
System.out.println(a ^ xorRes); // 20

也就是说,我们已知异或结果,和另一个值即可还原原来两个相异或的值,于是乎我们不难写出解密函数decode_param

fyoung_decode_param

鉴于此,我写了一个node服务,用于解密参数,以及生成密码,无需繁琐抓包(只需要传入密码即可,无需担心账号密码泄露)

服务地址:校园网服务

有问题加群反馈:874629948,点击此处直接加群

还原日志

注: 以下日志均是在 Android 设备下,其他设备暂未尝试

日志是先对数据进行了压缩,压缩算法为 deflate

DEFLATE是同时使用了 LZ77算法哈夫曼编码(Huffman Coding)的一个无损数据 压缩算法

这个地方目前没用 js 还原出来,这里也是先用Java简单的写了一个日志解析,待js还原出来,一并上线到校园网服务

fyoung_decode_android_log

从日志我们可以看到更多的东西,日志打的挺多的,每个步骤干了啥,基本都有

至此,飞Young告一段落

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
C++ Windows
Visual Studio 2019 实现并行编译
使用 Visual Studio 2019 实现并行编译
649 0
Visual Studio 2019 实现并行编译
|
安全 IDE 开发工具
SGX入门:如何开发第一个最简单的 SGX 应用 HelloWorld
本文将向大家展示如何基于 Intel SGX SDK 开发一个最简单 SGX 应用:HelloWorld,这个程序在可信区生产 "Hello world"并传递给不可信代码(缓冲区)打印输出到终端。 虽然 Intel SGX SDK 安装目录中默认提供了数个 Sample,但每个 Sample 对于初学者来说非常复杂和难以理解。 关于 SGX 开发运行环境的搭建可参考:[《SGX入门:
|
Oracle Ubuntu Java
Ubuntu安装JDK
一. Ubuntu 安装JDK的两种方式 1. 通过apt安装. 2. 通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 二. 通过apt安装(jdk有很多版本, 这里介绍两种: openjdk和oracle的JDK) 1.
71255 4
|
开发工具 git 缓存
Git忽略规则.gitignore不生效
在项目开发过程中个,一般都会添加 .gitignore 文件,规则很简单,但有时会发现,规则不生效。 原因是 .gitignore 只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
60821 4
|
安全 物联网 数据安全/隐私保护
UEFI的一点点概识
UEFI的一点点概识
872 0
|
Shell Android开发
Android USB系统初始化init.usb.rc
Android USB系统初始化init.usb.rc
1087 0
|
Web App开发 Linux Android开发
常见浏览器User-Agent大全
下面是工作中需要用到的常见浏览器User-Agent字符串的收集整理,不断更新中。 OperaMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.
12349 2
powershell 设置代理
powershell 设置代理
485 0
|
程序员 C++ 编译器
error LNK2005 已经在***.obj中定义 的解决办法
为什么会出现这个错误??“error LNK2005: 已经在aaa.obj中定义” 编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。
4686 0
|
JavaScript 数据安全/隐私保护
TikTok加密中的套娃模式
TikTok加密中的套娃模式
1050 0
TikTok加密中的套娃模式