飞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告一段落

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
NoSQL 前端开发 程序员
【震撼揭秘!】程序员绝不会告诉你的秘密:掌握汇编语言调试,轻松从软件故障中全身而退——透视代码底层,成为Bug猎人!
【8月更文挑战第31天】《调试的艺术:如何利用汇编语言追踪和解决软件问题》探讨了使用汇编语言进行高效调试的方法。无论是初学者还是资深开发者,面对棘手的 bug 时,高级语言的信息往往不足。文章通过具体示例展示如何通过汇编代码定位问题,如 C 语言中数组求和函数的崩溃问题。借助 `gcc -S` 生成的汇编代码和 GDB 调试器,可以深入理解程序行为,从而更准确地解决问题。掌握这一技能,将使你在复杂问题面前更加从容。
41 2
|
3月前
|
程序员 编译器 数据处理
汇编高手秘籍:解锁性能优化新境界,用汇编语言让你的程序飞起来!
【8月更文挑战第31天】汇编语言作为编程基石,其高效性能备受推崇。尽管现代软件开发更偏爱高级语言,但在性能要求极高的场景下,汇编优化仍不可或缺。本文通过示例代码介绍四种优化技巧:循环展开、寄存器分配、指令重排及SIMD指令使用,显著提升执行效率。同时强调分析性能瓶颈、测试优化效果及保持代码可读性的重要性,助力开发者在关键代码路径上实现性能突破。
70 0
|
6月前
|
存储 Linux C语言
【C++从练气到飞升】07---内存管理
【C++从练气到飞升】07---内存管理
|
监控 安全 Java
「作者推荐!」JVM研究系列-精心准备了一套JVM分析工具的锦囊(中部)
「作者推荐!」JVM研究系列-精心准备了一套JVM分析工具的锦囊(中部)
186 0
「作者推荐!」JVM研究系列-精心准备了一套JVM分析工具的锦囊(中部)
|
存储 Java 程序员
程序员脱单秘籍 | 我跟JVM搞对象!【深度剖析对象的创建和内存分配】
程序员脱单秘籍 | 我跟JVM搞对象!【深度剖析对象的创建和内存分配】
141 0
程序员脱单秘籍 | 我跟JVM搞对象!【深度剖析对象的创建和内存分配】
|
编译器 C++
内联函数和引用<C++入门>(跑路人笔记1)
内联函数和引用<C++入门>(跑路人笔记)
内联函数和引用<C++入门>(跑路人笔记1)
|
安全 编译器 C++
内联函数和引用<C++入门>(跑路人笔记2)
内联函数和引用<C++入门>(跑路人笔记)
内联函数和引用<C++入门>(跑路人笔记2)
|
缓存 监控 算法
啥?小胖连 JVM 对锁做了那些优化都不知道?真的菜!
JDK1.6 之前,synchronized 一直被认为是重量级锁。而在 JDK1.6 之后,JVM 对 synchronized 内置锁的性能进行了很多优化,包括「自适应的自旋锁、锁消除、锁粗化、偏向锁、轻量级锁」等等。加了这些优化之后,synchronized 锁的性能得到了大幅度的提升,下面我们来瞧瞧到底咋回事?
啥?小胖连 JVM 对锁做了那些优化都不知道?真的菜!
不起眼,但是足以让你收获的JVM内存案例
不起眼,但是足以让你收获的JVM内存案例
不起眼,但是足以让你收获的JVM内存案例
J3
|
机器学习/深度学习 存储 缓存
有图有真相的Java内存模型基础,你好意思不看嘛!
有图有真相的Java内存模型基础
J3
149 0
有图有真相的Java内存模型基础,你好意思不看嘛!