Modifying mobile application binaries to call external libraries
First Claim
Patent Images
1. A method, comprising:
- determining an application library method for modification of an application library based on a configuration file, the configuration file specifying areas in application execution where instrumentation is desired, wherein the application library is compiled into bytecode designed for execution on a first virtual machine without access to an external mobile operating system instrumentation library;
generating, using a first environment, a wrapper method for a system library method invoked at the area in application execution, wherein the wrapper method comprises;
an instruction to invoke an instrumentation method in the external mobile operating system instrumentation library that is accessible by a second virtual machine associated with mobile operating systems; and
modifying the application for execution on the second virtual machine by replacing an instruction that invokes the system library method with an instruction that invokes the wrapper method, wherein the second virtual machine does not have access to the system library method.
1 Assignment
0 Petitions
Accused Products
Abstract
A method includes determining a system library method based on a configuration file in an application library. The method also includes generating a wrapper method for the system library method, wherein the wrapper method includes a first instruction to invoke the system library method, and a second instruction to invoke a method in an external library. The method further includes replacing a third instruction that invokes the system library method with a fourth instruction that invokes the wrapper method. A binary class in a plurality of binary classes in the application library comprises the third instruction.
14 Citations
20 Claims
-
1. A method, comprising:
-
determining an application library method for modification of an application library based on a configuration file, the configuration file specifying areas in application execution where instrumentation is desired, wherein the application library is compiled into bytecode designed for execution on a first virtual machine without access to an external mobile operating system instrumentation library; generating, using a first environment, a wrapper method for a system library method invoked at the area in application execution, wherein the wrapper method comprises; an instruction to invoke an instrumentation method in the external mobile operating system instrumentation library that is accessible by a second virtual machine associated with mobile operating systems; and modifying the application for execution on the second virtual machine by replacing an instruction that invokes the system library method with an instruction that invokes the wrapper method, wherein the second virtual machine does not have access to the system library method. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer configured to access a storage device, the computer comprising:
-
a processor; and a non-transitory, computer-readable storage medium storing computer-readable instructions that when executed by the processor cause the computer to perform; determining an application library method for modification of an application library based on a configuration file, the configuration file specifying areas in application execution where instrumentation is desired, wherein the application library is compiled into bytecode designed for execution on a first virtual machine without access to an external mobile operating system instrumentation library; generating, using a first environment, a wrapper method for a system library method invoked at the area in application execution, wherein the wrapper method comprises; an instruction to invoke an instrumentation method in the external mobile operating system instrumentation library that is accessible by a second virtual machine associated with mobile operating systems; and modifying the application for execution on the second virtual machine by replacing an instruction that invokes the system library method with an instruction that invokes the wrapper method, wherein the second virtual machine does not have access to the system library method. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising:
a non-transitory computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code comprising; computer-readable program code configured to determine an application library method for modification of an application library based on a configuration file, the configuration file specifying areas in application execution where instrumentation is desired, wherein the application library is compiled into bytecode designed for execution on a first virtual machine without access to an external mobile operating system instrumentation library; computer-readable program code configured to generate, using a first environment, a wrapper method for a system library method invoked at the area in application execution, wherein the wrapper method comprises; an instruction to invoke an instrumentation method in the external mobile operating system instrumentation library that is accessible by a second virtual machine associated with mobile operating systems; and computer-readable program code configured to modify the application for execution on the second virtual machine by replacing an instruction that invokes the system library method with an instruction that invokes the wrapper method, wherein the second virtual machine does not have access to the system library method. - View Dependent Claims (16, 17, 18, 19, 20)
Specification