Application Binary Modeling via Dynamic Call Structure Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application modeling methods require extensive source code analysis, which is time-consuming and labor-intensive, and are not reusable across different applications, leading to high barriers for users.
Innovation Solution
A processor-implemented method that utilizes dynamic binary analysis (DBA) to acquire dynamic information about an application's execution process, determining core functions with high workloads, and generates skeleton code based on a call structure without relying on source code, using a wrapper library to block non-core functions and perform parallel simulation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If source code analysis and modification methods are used for application modeling, then modeling accuracy can be achieved, but modeling time and labor costs increase significantly
Solution Approach 1:
The patent uses dynamic binary analysis to create a functional copy of the application's behavior without needing the original source code. By analyzing the binary executable file and generating a call structure that replicates the application's execution flow, the system achieves modeling accuracy equivalent to source code analysis but without the time-consuming manual processes. The dynamic information extraction creates a sufficient replica for modeling purposes.
Solution Approach 2:
The patent replaces the mechanical process of manual source code analysis and modification with an automated binary analysis system. Instead of requiring users to manually read, analyze, and modify source code, the system automatically executes the binary file, extracts dynamic information about function calls and execution flow, and generates the necessary model structures through automated processing.
2Adaptability or versatility
If manual source code analysis is performed, then application-specific modeling can be achieved, but user entry barriers become very high
Solution Approach 1:
The system performs self-service by automatically analyzing the binary file and generating the call structure without requiring user expertise in source code analysis. The automated dynamic binary analysis process handles the complex tasks of extracting function call information, determining call relationships, and generating model structures, making the tool accessible to users regardless of their programming expertise.
Solution Approach 2:
The patent introduces an intermediary layer between the binary file and the model structure through the use of dynamic information extraction. Instead of requiring users to directly analyze source code, the system acts as an intermediary that automatically processes the binary file, extracts relevant execution dynamics, and translates this information into the necessary model structures, thereby lowering the entry barrier.
3Ease of manufacture
If compiler-based or static code analysis methods are used, then modeling can be performed without source code modification, but the process cannot be reused for different applications
Solution Approach 1:
The patent achieves universality by designing a binary analysis framework that can process different types of applications through the same automated process. The dynamic binary analysis method extracts generic execution information (function calls, call relationships, control flow) that applies to any application, making the modeling process reusable across different applications without requiring application-specific customization or source code modification.
Data Source
AI summary
A processor-implemented method includes, based on an execution of a binary file of an application, acquiring dynamic information about an execution process of the binary file, acquiring a call structure for a call relationship between a plurality of functions performed in the execution process of the binary file, based on the dynamic information, and generating skeleton code of the application, based on the call structure for the call relationship between the plurality of functions.


