Generating a replacement binary for emulation of an application
AssigneeAmazon Technologies, Inc.
InventorVenelin N. Efremov
Life of this patent
Estimating the term…
Abstract
Disclosed are various embodiments for generating a replacement binary for emulation of an application. A computer ingests native object code and identifies a central processing unit (CPU) from the native object code. The computer transforms the native object code to produce replacement object code. When executed on the computing device, the replacement code invokes an emulator for the CPU to execute the native code.
Claims20
A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising:
- code that obtains an application package file including native code in a shared library and intermediate code, the native code being specific to a hardware platform and the intermediate code being agnostic with respect to the hardware platform;
- code that identifies one or more native methods in the shared library;
- code that transforms the native methods in the shared library to produce replacement code, wherein the replacement code, when executed on the computing device, invokes an emulator for the hardware platform to emulate the native code;
- and
- code that generates a transformed application package file to include the intermediate code and the replacement code,
- wherein the code that transforms further comprises:
- code that generates one or more transformed native methods corresponding to the identified one or more native methods, wherein the one or more transformed native methods invoke an emulator for the hardware platform to emulate the native the one or more native methods;
- code that adds the one or more transformed native methods to another shared library;
- and
- code that adds the another shared library to the application package file to produce a transformed application file.
A method implemented in a computing device, the method comprising the steps of:
- ingesting, by the computing device, native object code;
- identifying, by the computing device and based at least upon the native object code, a central processing unit (CPU) associated with the native object code;
- and
- transforming, by the computing device, the native object code to produce replacement object code, wherein the replacement object code, when executed on the computing device, invokes an emulator for the identified CPU to execute the native object code.
A system, comprising:
- at least one computing device;
- and
- an application implemented in the at least one computing device, the application comprising:
- logic configured to obtain an application package file including native code and intermediate code, the native code being specific to a hardware platform and the intermediate code being agnostic with respect to the hardware platform;
- logic configured to transform the native code to produce replacement code, wherein the replacement code, when executed on the computing device, invokes an emulator for the hardware platform to execute the native code;
- and
- logic configured to generate a transformed application package file to include the intermediate code and the replacement code.
Dependencies are inferred from the claim text.