某高考逆向分析

查看 70|回复 7
作者:Colinxu2020   
[color=]必读:本文章在相关软件的入群验证长时间取消后才发出,目前已经不涉及对相关软件的任何影响
0x00 前言
相关网址:aHR0cHM6Ly9leGFtLmtlcm5lbHN1Lm9yZw==。
0x01 分析方法
首先随机刷一个东西看看反应:


Clip_20250830_165710.png (192.84 KB, 下载次数: 2)
下载附件
2025-8-30 16:57 上传

发现提示设备变砖了,不妨把 JS dump 下来,发现被混淆过,直接搜字符串可以发现相关字符串被包在了一个字符串池(_0x883837)里。因为他希望仿真,所以不妨推断下成功的提示里也有类似的刷写进度片段,搜一下发现 index=166。(划线的是刷写错误的提示)


Clip_20250830_170148.png (898.38 KB, 下载次数: 3)
下载附件
2025-8-30 17:01 上传

追一下 _0x883837 的引用,发现 _0x883837 是作为 a0_0x2d97 的返回值使用的,再追 a0_0x2d97 的引用,发现有一个意义不明的自执行函数和一个 wrapper 函数 a0_0x5e00,先追 a0_0x5e00。


image.png (77.4 KB, 下载次数: 4)
下载附件
2025-8-30 17:06 上传

_0x2d97df 是我们前面追出来的字符串池,人工反混淆下是 function(_0x12dfdd){ return _0x2d97df[_0x12dfdd-0x1c9] },参数里的 _0x79cb22 看起来并没有什么用,因此有新的 index=166+457=623。
继续追 a0_0x5e00 的引用,发现他有很多别名,但全局的只有一个 a0_0x2c5fc4。继续追 a0_0x2c5fc4 的引用,发现大部分已经直接调用这个函数来取字符串了,但被加了 hex,于是这个字符串实际的索引是 0x26f,直接搜 0x26f 找到引用在 customCommands['fastboot'] 里,整理一下恶心的三目运算符。/md]


image.png (48.26 KB, 下载次数: 3)
下载附件
2025-8-30 17:21 上传

[md]重现一下上次的操作,下个断点看看。


image.png (44.42 KB, 下载次数: 3)
下载附件
2025-8-30 17:13 上传



image.png (30.35 KB, 下载次数: 4)
下载附件
2025-8-30 17:22 上传

发现除了倒数第二个外其他的都满足了,而_0x418f7f[0x3] 正是我们刷入的映像,容易发现 true_filename 可以直接读取,于是我们就获取了正确答案,直接 fastboot flash true_filename 即可
其实还有一个分析方法是通过 TerminalFaker 的 customCommands 去抓,但我不太了解 TerminalFaker 所以没想到。
逆向小白请多多指教

下载次数, 发现

kindbigbear0   

kernelsu分析的非常细致到位,感谢分享!
xixicoco   

这个高考有意思啊,看似刷机实际上是js
ytfrdfiw   

感谢分享!
3pen   

想请教一下作者,这题目的意思是什么,获得了网站之后无从下手。
brainbow   

太高深,看不懂
msweetheart   

太深奥,看不懂。
Colinxu2020
OP
  


3pen 发表于 2025-9-2 18:36
想请教一下作者,这题目的意思是什么,获得了网站之后无从下手。

这个需要你给一台 Android 设备刷写正确的 GKI 内核的 KernelSU。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部