IDeviceCore protocol v2
Descriptor: dev.zorin.core.IDeviceCore
Service instance: dev.zorin.core.IDeviceCore/default
The no-DEX APK contains a small manual NDK Binder client for this controlled interface. User transaction codes follow append-only AIDL declaration order (FIRST_CALL_TRANSACTION + n):
| Code | Method |
|---|---|
| 1 | ping() |
| 2 | getProtocolVersion() |
| 3 | getCapabilities() |
| 4 | getCallerSummary() |
| 5 | getRuntimeStatus() |
| 6 | getKernelSummary() |
| 7 | getProcessSummary() |
| 8 | getNetworkSummary() |
| 9 | getSecuritySummary() |
| 10 | evaluatePolicy(String principalHint,String action,String resource) |
| 11 | getFilesystemSummary() |
| 12 | getSysctlSummary() |
| 13 | getBinderSummary() |
| 14 | getCapabilityMatrix() |
| 15 | getFullReport() |
The APK associates the remote binder with the known interface class, uses AIBinder_prepareTransaction() so the interface token is written correctly, submits the transaction, reads the AIDL AStatus header, and then reads the typed return value.
principalHint is audit metadata only. Device Core v2 authorizes from Binder caller identity and SELinux reachability; it never grants privileges because the caller supplied a privileged-looking string.