飞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日志并进行多维度分析。
目录
相关文章
|
6月前
|
Arthas 监控 算法
JVM成神路终章:深入死磕Java虚拟机序列总纲
JVM成神路终章:深入死磕Java虚拟机序列总纲
169 1
|
5月前
|
算法 Java 程序员
【JVM的秘密花园】揭秘垃圾收集器的神秘面纱!
【8月更文挑战第25天】在Java虚拟机(JVM)中,垃圾收集(GC)自动管理内存,回收未使用的对象以避免内存泄漏和性能下降。本文深入介绍了JVM中的GC算法,包括串行、并行、CMS及G1等类型及其工作原理。选择合适的GC策略至关重要:小型应用适合串行收集器;大型应用或多核CPU环境推荐并行收集器或CMS;需减少停顿时间时,CMS是好选择;G1适用于大堆且对停顿时间敏感的应用。理解这些能帮助开发者优化程序性能和稳定性。
40 0
|
8月前
|
算法 Java UED
【五一创作】值得一看的JVM垃圾收集器
【五一创作】值得一看的JVM垃圾收集器
|
存储 安全 Python
python多线程------>这个玩意很哇塞,你不来看看吗
python多线程------>这个玩意很哇塞,你不来看看吗
|
存储 缓存 搜索推荐
《现代操作系统第四版》第一章课后答案
《现代操作系统第四版》第一章课后答案
132 0
|
消息中间件 存储 程序员
计算机操作系统(慕课版)第二章课后题答案
计算机操作系统(慕课版)第二章课后题答案
|
缓存 算法 Java
【修正版】5张图带你彻底理解G1垃圾收集器
【修正版】5张图带你彻底理解G1垃圾收集器
871 0
【修正版】5张图带你彻底理解G1垃圾收集器
|
Java
Java福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了
Java福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了
145 0
Java福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了
|
算法 Java
|
Java
烧点脑子使劲看--JVM运行时数据区详讲(上)
Java虚拟机在执行程序的过程会把它管理的内存划分为若干个不同的数据区。这些数据区有些是随着虚拟机进程的启动而一直存在的,有些区域则是依赖线程的启动和结束而创建和销毁的。
106 0