How answer2/altercore works
AlterCore is a pure-Java Android ART method-hooking library. An application registers before/after or replacement callbacks for a method; AlterCore installs the hook, and ART dispatches calls through the registered callback logic, which can inspect or change invocation state and invoke the original implementation. The optional Xposed module loads Xposed-style modules, routes hook registration through AlterCore, and dispatches package-load callbacks. README features establish Android/API and architecture support, but the sampled excerpts do not show every ART installation detail or all Xposed module initialization paths.
Main entry points: AlterCore.java AlterCore API · Hooks.java ART hook operations · MethodHook.java Hook callbacks · AlterXposed.java Module lifecycle
Components 19
Hook API
- AlterCore API
altercore/src/main/java/dev/answer/altercore/AlterCore.java - Hook callbacks
altercore/src/main/java/dev/answer/altercore/callback/MethodHook.java - Replacement callback
altercore/src/main/java/dev/answer/altercore/callback/MethodReplacement.java - Invocation parameters
altercore/src/main/java/dev/answer/altercore/core/HookParams.java
ART Hook Engine
- Hook records
altercore/src/main/java/dev/answer/altercore/core/HookRecord.java - ART hook operations
altercore/src/main/java/dev/answer/altercore/core/Hooks.java - Call transformer
altercore/src/main/java/dev/answer/altercore/core/HookTransformer.java - ART entry points
altercore/src/main/java/dev/answer/altercore/core/EntryPoints.java - Scoped suspension
altercore/src/main/java/dev/answer/altercore/core/ScopedSuspendAll.java - Runtime support
altercore/src/main/java/dev/answer/altercore/core/Runtime.java
Xposed Compatibility
- Module loader
xposed/src/main/java/dev/answer/altercore/xposed/ModuleClassLoader.java - Module lifecycle
xposed/src/main/java/dev/answer/altercore/xposed/AlterXposed.java - Xposed hook bridge
xposed/src/main/java/de/robv/android/xposed/XposedBridge.java - Xposed callbacks
xposed/src/main/java/de/robv/android/xposed/callbacks/XCallback.java
Other components
- Android application
- Target method
- Android ART
- Xposed module
- Package-load event
Connections 23
- Android application → AlterCore API: registers hook
- AlterCore API → Target method: selects method
- AlterCore API → Hook callbacks: registers callback
- Hook callbacks → Replacement callback: specializes
- AlterCore API → ART hook operations: installs hook
- AlterCore API → Hook records: tracks hooks
- ART hook operations → Scoped suspension: suspends runtime
- ART hook operations → ART entry points: uses entry points
- ART hook operations → Call transformer: builds dispatch
- ART hook operations → Android ART: patches methods
- Android ART → Call transformer: dispatches calls
- Call transformer → Invocation parameters: provides state
- Call transformer → Hook callbacks: dispatches callbacks
- Hook callbacks → Invocation parameters: reads or changes
- Invocation parameters → Target method: invokes original
- Xposed module → Module loader: loads module
- Module lifecycle → Module loader: creates loader
- Module lifecycle → Xposed module: initializes module
- Module lifecycle → Xposed callbacks: dispatches package events
- Package-load event → Module lifecycle: notifies
- Xposed hook bridge → AlterCore API: installs via
- Xposed hook bridge → Hook callbacks: adapts callbacks
- Xposed callbacks → Xposed hook bridge: registers hooks