Dynamically-Loaded Code Analysis via Tag Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods fail to accurately identify and distinguish between original and dynamically-loaded codes in mobile applications, leading to erroneous detection of user information transmission, as they cannot specify which code is responsible for transmitting user information.

Innovation Solution

A dynamically-loaded code analysis device that includes a memory unit for storing dynamically-loaded code information and call method information, an extraction unit to detect user information transmission and match tag information, and a specification unit to identify the dynamically-loaded code corresponding to the extracted class structure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the static method is used to analyze applications, then analysis can be performed without operating the application, but the dynamically-loaded code cannot be acquired at all

Engineering Contradiction:
Improveease of analysisVSAvoiddynamically-loaded code acquisition
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent applies preliminary action by recording the class structure of dynamically-loaded code and call method information before actual execution occurs. The analysis device pre-prepares tracking mechanisms that will enable later identification of dynamically-loaded code during application operation, thus combining the ease of static analysis with the capability to detect dynamic code.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the dynamic method is used to analyze applications, then user information transmission can be detected, but the original code and dynamically-loaded code cannot be discriminated from each other

Engineering Contradiction:
Improvedetection accuracyVSAvoidcode source identification
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent applies copying by creating and storing a copy of the class structure information for dynamically-loaded code in advance. When user information transmission is detected during dynamic analysis, the system compares the actual code against this pre-stored copy to identify whether the transmission originates from original code or dynamically-loaded code, thus resolving the discrimination problem.

Inventive Principle:
Principle #26Copying

3Productivity

If conventional analysis methods are used, then a large amount of applications can be analyzed cyclopaedically, but dynamically-loaded code causing user information transmission cannot be specified without erroneous detection

Engineering Contradiction:
Improveanalysis throughputVSAvoiddetection accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies segmentation by separating the analysis into distinct components: recording class structure information, tracking call methods, detecting user information transmission, and identifying the specific code segment responsible. This segmented approach enables cyclopaedic analysis of large numbers of applications while maintaining high reliability by precisely locating the source of information transmission.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10242191B2Dynamically-loaded code analysis device, dynamically-loaded code analysis method, and dynamically-loaded code analysis program
Publication Date: 2019.03.26 NIPPON TELEGRAPH & TELEPHONE CORP
  • US10242191B2 patent drawing
  • US10242191B2 patent drawing
  • US10242191B2 patent drawing

AI summary

A dynamically-loaded code analysis device includes a memory unit, an extraction unit, and a specification unit. The memory unit memorizes dynamically-loaded code information indicating a class structure of a dynamically-loaded code and call method information in which tag information added to user information is associated with a class structure of a code performed for the user information, for each of the dynamically-loaded codes acquired via a network. The extraction unit detects transmission of user information to another device and specifies tag information that matches the tag information added to the user information from the call method information memorized in the memory unit, to extract a class structure associated with the tag information. The specification unit searches the memory unit for dynamically-loaded code information indicating the class structure, to specify a dynamically-loaded code corresponding to the dynamically-loaded code information.