Android IPC系统服务之间的安全性

时间:2016-09-23 01:37:03

标签: android security service ipc

我在Framework层的SystemServer中添加了一个系统服务。

interface IAService {

    void valueChange(int value)
}

public class XXXService extends IAService.Stub {

}

我希望只能通过其他系统服务调用此服务。

IAService service = IAService.Stub.asInterface(ServiceManager.getService("A"));
serivce.valueChange("0");

但是,如果有人使用ServiceManager作为反射方式获得此服务实例。

他们可以尝试IPC。

我们可以只允许其他系统服务吗?

谢谢:)

1 个答案:

答案 0 :(得分:1)

我不认为有人通过反思使用各种隐藏服务。您最好的办法是使用系统级权限来保护它,以便没有该权限的任何人在尝试调用您的方法时会抛出异常。