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

为啥没有 rom 集成 hide-my-applist 的功能

  •  
  •   s82kd92l · 6 天前 · 831 次点击

    android 发展到现在,文件系统方面的隐私保护已经相对之前好很多了,应用列表的可见已经成为了最薄弱的隐私洼地。虽然可以通过 zygisk + hide-my-applist 来隐藏列表,但毕竟涉及 hook/反 hook ,猫捉老鼠的游戏无穷无尽。如果在 rom 里面实现就没有 zygisk 的问题,也解决了目前安卓最大痛点。

    我之前修改过一个冷门 rom 的 framework/base/services/core/java/com/android/server/pm/AppsFilterBase.java , 通过读取 DeviceConfig 里面自定义两个 uid 列表字段,很粗暴地实现了类似 hide-my-applist 的的功能。然后自己编译 rom 。代码很糙没脸提交上游,而且上游是个很小众的 rom 影响力有限。后来上游停更,android 大版本升级了,我就懒得换 rom 再编译了,毕竟编译太花时间精力。

    这应该不是小众需求吧,为啥就没有 rom 做这个呢,反而是 fake signature 之类的不痛不痒的功能大家争相集成?

    6 条回复    2024-12-06 07:56:26 +08:00
    UTC0700
        1
    UTC0700  
       6 天前
    期待声音被听见
    Donaldo
        2
    Donaldo  
       6 天前
    因为很多工具软件有这个需求,而且又有模块可以解决。。
    yyzh
        3
    yyzh  
       6 天前 via Android
    额...直接不给权限也行的吧?
    s82kd92l
        4
    s82kd92l  
    OP
       6 天前
    @yyzh 第三方 rom 都没这个功能。而且 miui 不给权限还是能拿到列表,也许是因为我关闭了"miui 优化"
    yyzh
        5
    yyzh  
       6 天前 via Android
    @s82kd92l 好吧...查了一下官方标准的话要用新版 api 写的才会限制...
    https://developer.android.com/training/package-visibility
    ysc3839
        6
    ysc3839  
       5 天前 via Android
    我个人猜测是因为 AOSP 本身就有类似功能。
    当 app target api 大于等于 Android 11 的时候,就会限制读取应用列表。
    而当 target api 为 Android 10 或更低时,在 Java 端限制读取应用列表,解决不了直接读 /data/data/<包名> 进行探测的问题。如果对应包名的应用存在,会返回 Permission denied 而不是 No such file or directory 。虽然说上述方法只能探测不能直接拿到完整列表,但问题还是存在。
    当 app target api 大于等于 Android 11 的时候,上述探测问题也是修复了的,也就是说 Google 是故意给老应用留了漏洞,那问题就变成取舍问题了,Google 为什么要故意这么做?是不是有什么真实数据支撑?我估计即使某人想让第三方系统做出修改,也拿不出说服力高于 Google 的依据,结果就不了了之了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1133 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:41 · PVG 07:41 · LAX 15:41 · JFK 18:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.