Co-existential wrapping system for mobile applications
First Claim
Patent Images
1. A computer program product, comprising:
- a non-transitory computer readable storage medium storing computer readable program code which when executed by a processor of an electronic device causes the processor to perform operations comprising;
disassembling executable code of an application program to provide disassembled code;
identifying first wrapping code in the disassembled code;
receiving second wrapping code;
generating a consolidated application wrapper that manages operation of both the first wrapping code and the second wrapping code;
inserting the second wrapping code and the consolidated application wrapper into the disassembled code to form modified disassembled code; and
assembling the modified disassembled code to form modified executable code;
wherein inserting the second wrapping code into the disassembled code comprises identifying a conflict between the first wrapping code and the second wrapping code and inserting aggregating code into the disassembled code that resolves the identified conflict; and
wherein identifying the conflict between the first wrapping code and the second wrapping code comprises determining that the first wrapping code and the second wrapping code are configured to intercept a first application programming interface call by the disassembled code, and wherein the aggregating code intercepts the first application programming interface call by the disassembled code and responsively calls both the first wrapping code and the second wrapping code.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer program product according to some embodiments causes a processor to perform operations including disassembling executable code of an application program to provide disassembled code, identifying first wrapping code in the disassembled code, receiving second wrapping code, generating a consolidated application wrapper that manages operation of both the first wrapping code and the second wrapping code, inserting the second wrapping code and the consolidated application wrapper into the disassembled code to form modified disassembled code, and assembling the modified disassembled code to form modified executable code.
8 Citations
17 Claims
-
1. A computer program product, comprising:
-
a non-transitory computer readable storage medium storing computer readable program code which when executed by a processor of an electronic device causes the processor to perform operations comprising; disassembling executable code of an application program to provide disassembled code; identifying first wrapping code in the disassembled code; receiving second wrapping code; generating a consolidated application wrapper that manages operation of both the first wrapping code and the second wrapping code; inserting the second wrapping code and the consolidated application wrapper into the disassembled code to form modified disassembled code; and assembling the modified disassembled code to form modified executable code; wherein inserting the second wrapping code into the disassembled code comprises identifying a conflict between the first wrapping code and the second wrapping code and inserting aggregating code into the disassembled code that resolves the identified conflict; and wherein identifying the conflict between the first wrapping code and the second wrapping code comprises determining that the first wrapping code and the second wrapping code are configured to intercept a first application programming interface call by the disassembled code, and wherein the aggregating code intercepts the first application programming interface call by the disassembled code and responsively calls both the first wrapping code and the second wrapping code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product, comprising:
-
a non-transitory computer readable storage medium storing computer readable program code which when executed by a processor of an electronic device causes the processor to perform operations comprising; disassembling executable code of an application program to provide disassembled code; receiving first and second wrapping code; analyzing the first and second wrapping code to identify conflicts between the first and second wrapping code, wherein identifying conflicts between the first wrapping code and the second wrapping code comprises determining that the first wrapping code and the second wrapping code are configured to intercept a first application programming interface call by the disassembled code; automatically generating a consolidated application wrapper that enables the first and second wrapping code to coexist without conflict in the application program; inserting the first and second wrapping code and the consolidated application wrapper into the disassembled code to form modified disassembled code; and assembling the modified disassembled code to form modified executable code; wherein the consolidated application wrapper intercepts the first application programming interface call by the disassembled code and responsively calls both the first wrapping code and the second wrapping code. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification