我在android文档中有一个问题,提到android进程可以使用本地套接字进行通信。这是否意味着具有不同用户ID的两个应用程序可以使用本地套接字进行通信并“绕过”沙箱?
答案 0 :(得分:1)
确实可以在Android上使用本地套接字进行IPC,请参阅LocalSocketServer
和LocalSocket
类。这些转换为抽象命名空间中的UNIX套接字。
警告:三星已经开始通过SELinux在其最新固件中限制本地套接字使用(不幸的是,他们不使用与AOSP相同的策略)。我还没有完全清楚细节,但我已经看到SELinux阻止本地套接字连接这些固件的情况。可能取决于尝试使用不匹配的本地套接字的不同进程的SELinux上下文。如果你最终走这条路,一定要测试一下。