Binary Translation for Cross-System Application Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Different operating systems have distinct API interfaces, making it difficult to run application programs developed for one system on another without modifying the original code, which is a cumbersome process.
Innovation Solution
A method and device that load a target application program, modify the addresses of global variables and absolute jump instructions, redirect SWI instructions, and perform binary translation to enable the application program to run on a different operating system without modifying the source code, thereby simplifying the process of running applications across systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If application programs are developed based on specific operating systems with different API interfaces, then the application programs can run natively on those systems, but the application programs cannot be directly run on other operating systems without modifying original codes
Solution Approach 1:
The patent introduces a binary translation mechanism as an intermediary layer between the target application program and the current operating system. This translator intercepts and translates system calls and API interfaces, enabling the application program to run on different operating systems without modifying its original source code, thus resolving the contradiction between cross-system compatibility and operation process complexity
Solution Approach 2:
The patent modifies parameters such as memory space addresses, global variable addresses, and instruction addresses through binary translation. By dynamically changing these parameters during the translation process, the application program can adapt to different operating system environments without requiring source code modifications
2Adaptability or versatility
If original codes of the application program are modified to run on other operating systems, then the application program can be run on different systems, but the operation process becomes very troublesome
Solution Approach 1:
The binary translation mechanism serves as an intermediary that handles all system-specific adaptations automatically. The translation layer intercepts system calls and API interfaces, performing the necessary code modifications in the background without requiring users to manually modify the application program's source code, thus maintaining operation simplicity while achieving cross-system compatibility
3Adaptability or versatility
If binary translation is performed on the application program, then the application program can run on different operating systems without source code modifications, but additional translation processing is required
Solution Approach 1:
The patent performs preliminary analysis of the application program's binary code to identify global variables, absolute jump instructions, and SWI instructions before execution. By pre-processing and marking these critical elements, the binary translation process becomes more efficient and manageable, reducing the overall translation processing complexity while maintaining cross-system compatibility
Data Source
AI summary
A method of running an application program across systems is proposed, the method comprises loading a target application program; applying for a memory space on a current operating system for the target application program; modifying an address of a global variable and an address of an absolute jump instruction in the target application program according to an address of the applied memory space to adapt to the memory space of the current operating system; obtaining a SWI instruction of the target application program; and redirecting the SWI instruction to an instruction of calling the current operating system.


