1
FrameworkレイヤのSystemServerにシステムサービスを追加しました。システムサービス間のAndroid IPCセキュリティ
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を試すことができます。
他のシステムサービスでのみ許可できますか?
ありがとうございました:)
誰かがこのIPCを試してみると違法な利益を得ることができると知っている場合、彼らは試してみます。とにかく.. :)どのように私たちは呼び出し側が呼び出し側でシステムレベルのアクセス許可を持って知っていますか? – Jin
https://developer.android.com/reference/android/content/Context.html#checkCallingPermission%28java.lang.String%29 –
コンテキストはParcelableオブジェクトではないため、呼び出し側は呼び出し元のコンテキストを取得できません。 – Jin