Hook Framework for Android Virtual Machine Data Interception
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for hooking mobile operating systems like Android OS are inadequate due to the lack of an application programming interface, ROM dependencies, and impracticalities in modifying virtual machines and library files, making it difficult to intercept and alter application data.
Innovation Solution
Modifying the application process to include a hook framework that is executed upon virtual machine initiation, allowing for the insertion of a hook to access and modify data associated with applications by pre-loading system classes and duplicating the virtual machine to create an additional instance for hooking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional hooking methods are used on mobile operating systems, then hooking can be achieved on Linux or Java-based OS with virtual machine support, but mobile OS like Android cannot be hooked due to lack of application programming interface and ROM dependencies
Solution Approach 1:
The patent segments the hooking process into distinct phases: initialization phase (modifying application process to include hook framework instructions), virtual machine initiation phase (loading hook framework), and hook insertion phase (intercepting data flow). This segmentation allows hooking to be implemented on mobile OS without requiring system-wide modifications or ROM changes, resolving the contradiction between adaptability and device complexity.
Solution Approach 2:
The patent applies preliminary action by pre-modifying the application process to include hook framework instructions before the mobile device operates normally. The hook framework is pre-configured in the application process, so when the virtual machine is initiated, the hooking capability is already in place without requiring runtime modifications or ROM dependencies, enabling hooking on mobile OS while maintaining system integrity.
2Adaptability or versatility
If virtual machine modification is attempted to enable hooking, then hooking capability can be achieved, but the method becomes impractical due to ROM dependencies and startup sequence constraints
Solution Approach 1:
The patent introduces an intermediary approach by using the application process as a mediator between the hooking requirement and the mobile OS virtual machine. Instead of directly modifying the virtual machine or ROM, the hook framework is embedded in the application process, which then initiates the virtual machine with hooking capabilities. This intermediary method makes implementation practical by avoiding ROM dependencies and startup sequence constraints while maintaining hooking capability.
3Adaptability or versatility
If library files are modified to implement hooking, then data interception can be achieved, but the method is impractical on mobile OS where library files are prelinked on ROM compilation
Solution Approach 1:
The patent shifts the implementation from the traditional library file dimension to the application process dimension. Instead of modifying library files (which are prelinked on ROM compilation and immutable on mobile OS), the hook framework is embedded in the application process, a different dimensional space that allows dynamic modification and loading. This dimensional change enables data interception capability while avoiding the feasibility issues of library file modification on mobile platforms.
Data Source
AI summary
An application process can be executed based on an initialization instruction, where the application process includes instructions associated with a hook framework. A virtual machine configured to load the hook framework on the virtual machine based on instructions included in the application process can be initiated and the instructions associated with the hook framework can be executed upon initiation of the virtual machine to insert a hook on the virtual machine. A nascent process configured to initiate an additional virtual machine can be initiated based on a request to load an application, where the additional virtual machine is hooked via the hook inserted on the virtual machine.


