Operations to avoid wrapped mobile application operational errors due to interference from wrapper logic components
First Claim
1. A method comprising:
- performing operations as follows on a processor of an application wrapper computer;
decompiling executable code of the application package to provide a decompiled application package comprising disassembled code;
for each of a plurality of features of an application program in the decompiled application package, performing;
associating one of a plurality of wrapper logic components in a set with a feature of the plurality of features;
identifying a location of the feature in the disassembled code;
identifying from a portion of the disassembled code at the location that the feature will have a potential operational error of the application program during execution of the portion of the disassembled code by a user device responsive to a request from the feature for access to a resource of the user device, access to the resource being blocked by the one of the plurality of wrapper logic components that, when executed by the user device, controls access to the resource of the user device; and
responsive to the potential operational error of the application program being identified,identifying default content to provide in response to the request for access to the resource of the user device from the feature to avoid the potential operational error of the application program occurring during execution of the portion of the disassembled code, andmodifying the one of the plurality of wrapper logic components to provide the default content in response to the request for access to the resource of the user device from the feature when the one of the plurality of wrapper logic components is blocking the feature of the disassembled code from accessing the resource of the user device; and
generating modified disassembled code by, for each of the features, inserting an operational hook at the location in the disassembled code where the feature was identified, the operational hook calling one of the wrapper logic components of the set that is configured to control access by the feature to a resource of the user device;
assembling the modified disassembled code to provide modified assembled code; and
combining the wrapper logic components of the set with the modified assembled code to form a wrapped application package comprising executable code from the modified assembled code and executable code from the wrapper logic components of the set that control calls by the executable code from the modified assembled code to access resources of the user device.
1 Assignment
0 Petitions
Accused Products
Abstract
A method on a processor of an application wrapper computer includes, for each of a plurality of features of an application program in an application package, associating a wrapper component with the feature, identifying a location of the feature in the application program, and identifying from a portion of the application program at the location whether the feature will have an operational error during execution responsive to a request from the feature for access to a resource of a user device being blocked by the wrapper component. For each of the plurality of features, the method further responds to an operational error being identified by identifying content of an acceptable response to the request to avoid the operational error, and modifying the wrapper component to provide the content of the acceptable response to the request when the wrapper component is blocking the request from accessing the resource.
-
Citations
20 Claims
-
1. A method comprising:
-
performing operations as follows on a processor of an application wrapper computer; decompiling executable code of the application package to provide a decompiled application package comprising disassembled code; for each of a plurality of features of an application program in the decompiled application package, performing; associating one of a plurality of wrapper logic components in a set with a feature of the plurality of features; identifying a location of the feature in the disassembled code; identifying from a portion of the disassembled code at the location that the feature will have a potential operational error of the application program during execution of the portion of the disassembled code by a user device responsive to a request from the feature for access to a resource of the user device, access to the resource being blocked by the one of the plurality of wrapper logic components that, when executed by the user device, controls access to the resource of the user device; and responsive to the potential operational error of the application program being identified, identifying default content to provide in response to the request for access to the resource of the user device from the feature to avoid the potential operational error of the application program occurring during execution of the portion of the disassembled code, and modifying the one of the plurality of wrapper logic components to provide the default content in response to the request for access to the resource of the user device from the feature when the one of the plurality of wrapper logic components is blocking the feature of the disassembled code from accessing the resource of the user device; and generating modified disassembled code by, for each of the features, inserting an operational hook at the location in the disassembled code where the feature was identified, the operational hook calling one of the wrapper logic components of the set that is configured to control access by the feature to a resource of the user device; assembling the modified disassembled code to provide modified assembled code; and combining the wrapper logic components of the set with the modified assembled code to form a wrapped application package comprising executable code from the modified assembled code and executable code from the wrapper logic components of the set that control calls by the executable code from the modified assembled code to access resources of the user device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An application wrapper computing device comprising:
a memory coupled to a processor of the application wrapper computer, the memory storing computer readable program code that when executed by the processor causes the processor to perform operations comprising; decompiling executable code of an application package containing an application program to provide a decompiled application package; identifying features of the application program based on content of the decompiled application package; disassembling the decompiled application package to provide disassembled code; for each of the features of the application program in the decompiled application package, the processor performing operations comprising; associating one of a plurality of wrapper logic components in a set with the feature; identifying a location of the feature in the disassembled code; identifying from a portion of the disassembled code at the location of the feature in the disassembled code that the feature will have a potential operational error of the application program during execution of the portion of the disassembled code by a user device responsive to a request from the feature for access to a resource of the user device, access to the resource being blocked by the one of the plurality of wrapper logic components that, when executed by the user device, controls access to the resource of the user device; and responsive to the potential operational error of the application program being identified, identifying default content to provide in response to the request for access to the resource of the user device from the feature to avoid the potential operational error of the application program occurring during the execution of the portion of the disassembled code, and modifying the one of the plurality of wrapper logic components to provide the default content in response to the request for access to the resource of the user device from the feature when the one of the plurality of wrapper logic components is blocking the feature of the disassembled code from accessing the resource of the user device; generating modified disassembled code by, for each of the features, inserting an operational hook at the location in the disassembled code where the feature was identified, the operational hook calling one of the wrapper logic components of the set that is configured to control access by the feature to a resource of the user device; assembling the modified disassembled code to provide modified assembled code; and combining the wrapper logic components of the set with the modified assembled code to form a wrapped application package comprising executable code from the modified assembled code and executable code from the wrapper logic components of the set that control calls by the executable code from the modified assembled code to access resources of the user device.
Specification