V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
feng32
V2EX  ›  Android

Android 应用的权限控制适用于 App 内部的 .so 文件吗?

  •  
  •   feng32 · Jun 30, 2022 · 12512 views
    This topic created in 1397 days ago, the information mentioned may be changed or developed.

    不太了解这一块

    我理解 .so 文件应该是直接调用 Linux 系统 API 了,和 App 不在一个层面

    但是如果 .so 可以做 (root 权限之外的) 所有事情,那么 Android 的权限控制不是形同虚设了吗?

    如果并非如此,难道有一个 "Android 权限" 到 "Linux 系统 API" 的映射表这样一个存在吗?

    5 replies    2022-06-30 21:44:41 +08:00
    ysc3839
        1
    ysc3839  
       Jun 30, 2022 via Android
    适用,不同 app 对应不同的 Linux user id ,可以通过 user id 区分是否授权
    codehz
        2
    codehz  
       Jun 30, 2022 via iPhone   ❤️ 3
    大部分权限是在 IPC 的时候由服务端检查调用者的 uid 来实现控制的,这部分权限 native 层无法自行实现(要实现也是自己造 binder 发请求,但内核保证了你没法伪造 uid ,所以也绕不过)
    网络权限是通过类似 iptables 的机制限制
    文件权限现在是用的挂载命名空间实现,没有全部文件访问权限的话 /sdcard 就干脆没给挂,内部 /data 则是由目录权限(你只有自己 data 目录的读写权限)和 selinux 共同限制,常规文件访问用 SAF 框架的话也是走 IPC
    404neko
        3
    404neko  
       Jun 30, 2022
    12101111
        4
    12101111  
       Jun 30, 2022
    你可以装一个 Termux, 不给任何权限, 看看里面的 native 代码有什么权限.

    Android 本身的功能, 比如定位、电话无论如何都必须要靠 Java 才能访问的就更不用说了
    nicocho
        5
    nicocho  
       Jun 30, 2022
    菜鸡最近在学着写相关的,发现有 Selinux 这个概念,好像就是收敛权限
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5679 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 07:55 · PVG 15:55 · LAX 00:55 · JFK 03:55
    ♥ Do have faith in what you're doing.