Hook Framework for Android Virtual Machine Data Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvehooking capabilityVSAvoidsystem structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvehooking capabilityVSAvoidimplementation feasibility
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata access capabilityVSAvoidmodification feasibility
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10545775B2Hook framework
Publication Date: 2020.01.28 MICRO FOCUS LLC
  • US10545775B2 patent drawing
  • US10545775B2 patent drawing
  • US10545775B2 patent drawing

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.