V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sky96111
V2EX  ›  Android

刷视频看到了 360 优化大师,想起了十年前手机的 360 卫士极客版

  •  1
     
  •   sky96111 · 10 天前 · 2604 次点击
    刷视频的时候刷到了 360 优化大师,唤起了我一些古早的记忆。
    当时有个叫 360 卫士极客版的软件,使用 Root 权限就可以开启一个好像叫晶核模式的功能。
    让我印象深刻的是他的隐私管理,开启后可以像 PC 一样,应用读取 IMEI 、短信等隐私权限的时候 360 实时弹窗,用户可以允许或拒绝。

    现代 Android 进行隐私权限管理无外乎两种方案,要么 root/shell 使用系统 AppOpsManager ,要么让 Xposed 介入权限控制。以我浅薄的知识判断,要实现运行时动态控制只能是后者吧。

    让我比较惊讶的几点在于,首先晶核模式只使用了 Root ,不依赖 Xposed 。其次它可以在 2.3 上正常工作,而 AppOpsManager 在 API Level 19 也就是 Android 4.4 才引入。并且它的隐私信息拦截确实是有效的,十几年前的离线软件多用 IMEI 来绑定付费权限,拦截 IMEI 后认证会失效。

    所以一直存在疑问,开发团队是怎么在这种原始的环境下实现出这样的功能的。
    可惜这个软件在 17 年已经停止更新,官网下载链接还在,但由于 CPU 指令集、TargetAPI 低等原因已经无法在现代设备上安装,而且我也有理由相信安装后也无法按照预期工作。

    可以想象有相同记忆的人不会很多,所以也不奢望能找到答案。
    权当是对 Android 早期时代回忆的一些记录吧。
    14 条回复    2024-06-17 00:30:57 +08:00
    ysc3839
        1
    ysc3839  
       10 天前 via Android   ❤️ 1
    应该是使用了某些 hook 技术的,只是它不暴露底层细节给你而已,有 root 就能实现 hook 了。
    另外即使不能运行,也可以静态逆向,或者用模拟器运行。
    ysc3839
        2
    ysc3839  
       10 天前 via Android   ❤️ 1
    另外 hook 框架也不只是有 Xposed ,当你 Android 平台下有很多 hook 框架,比如 iOS 著名的 Cydia substrate 一开始就是有 Android 版本的。
    ysc3839
        3
    ysc3839  
       10 天前 via Android
    @ysc3839 打错字了,是“当年 Android 平台下有很多 hook 框架”
    sky96111
        4
    sky96111  
    OP
       10 天前
    @ysc3839 #1 谢谢,很有说服力的解释。360 可能自己实现了一套私有的 hook 方案,但随着 root 边缘化、hook 框架维护成本大而放弃了这个产品线
    paperseller
        5
    paperseller  
       10 天前 via iPhone   ❤️ 1
    这个极客版还有个牛的地方在于它能利用当时很多机型特定系统漏洞,在系统未 root 前提下将自己提权从而实现 op 刚刚说的那些功能。后来随着 android 本身安全性发展,极客版特性自然不复存在从而停更了
    Rehtt
        6
    Rehtt  
       10 天前 via Android   ❤️ 2
    我记得当时还有个主打主动防御的 LBE 安全大师,可以在没有 root 的情况下管理权限
    ysc3839
        7
    ysc3839  
       10 天前 via Android   ❤️ 2
    另外考虑到 Android 最初设计就有考虑权限隔离,读取 IMEI 、短信等基本是要通过 IPC 去跟对应的服务进程通信,那 hook 的设计也比较简单,只需要 hook 服务进程就可以了。再加上服务进程是常驻运行的,可能只需要 ptrace 就能注入代码进去,不需要考虑 app 启动后再注入的时间差问题。以及 Android 服务 IPC 通信用的是 Binder ,这部分似乎是 C/C++实现的,那甚至只需要 hook native 层,不需要动 Java 层,整体复杂度进一步降低。
    july1995
        8
    july1995  
       10 天前 via iPhone   ❤️ 1
    Lbe 应该是鼻祖,不知道还活着没有。
    w568w
        9
    w568w  
       10 天前   ❤️ 4
    补充一下上面的评论。

    LBE 是第一个提出主动防御概念的,当年也是红极一时。

    刚才搜了一下,LBE 安全大师大概 2013 年左右提出 [1],利用最广泛的应该是当年的签名漏洞 MasterKey [2]:Android 系统对 .apk 包内同名的文件,只会校验第一个文件的签名,因此可以对系统应用创建第二个 classes.dex 来绕过签名检测、获得系统签名权限,360 极客版应该也利用了类似的漏洞。接下来要做的事就很简单了,Hook 不同 API 在原生层面是很容易实现的事。

    360 极客版 14 年推出、17 年停更 [3],LBE 安全大师 19 年停更 [4],现在 LBE 唯一运营的产品应该就是 LBE 平行空间了。

    360 极客版另一个学习的应该是 oasisfeng (即「绿色守护」开发者)的休眠机制,可以说是集众家之长的成果。今天,这些功能都已集成进 Android API 或国产 ROM 底层了,极客版们自然就不复存在。现在是 Magisk/KernelSU 、Xposed 的时代。


    [1] https://sspai.com/post/19595
    [2] https://nvd.nist.gov/vuln/detail/CVE-2013-4787
    [3] https://bbs.360.cn/thread-15205527-1-1.html
    [4] https://www.lbesec.com/#/products/2
    Yadomin
        10
    Yadomin  
       10 天前   ❤️ 1
    时代的眼泪😭
    yanbo92
        11
    yanbo92  
       10 天前 via iPhone   ❤️ 1
    这个贴子勾起无数回忆啊,想当年初中的我找到了 superoneclick 给手上搭载 Android 2.2 的一台 LG 搞到了 Root ,疯狂搞机十余年
    ysc3839
        12
    ysc3839  
       10 天前 via Android   ❤️ 1
    @w568w 个人认为 MasterKey 漏洞不足以实现权限管理,Android 的权限机制比较严格,即使是系统应用,应该也只是能调用一些特权 API ,没法向系统服务进程注入代码。同时系统服务是不可升级的 Linux 原生程序或者 jar 程序,上述 MasterKey 漏洞应该没法影响这部分代码。
    同时印象中当时 360 在推 360 杀毒极客版的时候还在推它的一键 root ,需要 root 后才能使用高级功能,所以应该是不能免 root 使用的。
    另外“主动防御”应该是 360 先提出来的,是在 Windows 平台上。个人感觉这更多是个营销概念,其实就是与安全卫士内核模块相关联的服务。安全卫士通过内核模块可以实现拦截一些危险操作,某种程度上可以看成是权限管理,但是这种功能是不是 360 最先推出的还不好说,似乎更早就有一些一些 HIPS 类防毒软件了。
    https://m.qudong.com/pcarticle/53564
    https://www.51cto.com/article/151939.html
    w568w
        13
    w568w  
       10 天前   ❤️ 3
    @ysc3839 #12

    > MasterKey 漏洞不足以实现权限管理

    我去查了一下,发现了一些分析的博文 [1]。LBE 是否单纯利用此系列漏洞实现权限管理存疑,但当年的 Android 权限管理并没有现在这么严格,以此漏洞作为跳板实现 ROOT 提权应该是可行的。

    [1] https://blog.csdn.net/androidsecurity/article/details/13293789
    ZeroDu
        14
    ZeroDu  
       10 天前
    还记得当年有个软件只有几十 k 还是怎么多少来着,反正很小,一键 root
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3373 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:18 · PVG 12:18 · LAX 21:18 · JFK 00:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.