Burns Doane Swecker & Mathis LLP
Merging of separate executable computer programs to form a single executable computer program
The present invention, generally speaking, provides a method for modifying an original executable by injecting it with an injection executable, using a code injection utility. The original executable and the injection executable are of the same or compatible file formats, and the structure of both executables is either known in advance or ascertainable, i.e., by "dumping" and analyzing the contents of the executable. Preferably, the injection executable is a complete, self-contained executable written using standard development tools, such as a graphical, object-oriented development environment. In an exemplary embodiment, the code injection utility combines the original executable and the injection executable in such a way as to control execution of the original executable through prior execution of the injection executable. The user need only run the code injection utility, specify the names of the original executable and the injection executable, and specify the name of the new executable to be created. The code injection utility then automatically reads and analyzes the original executable and the injection executable, combines the original and injection executables in a predetermined fashion, and writes out a new executable. During the foregoing process, addresses are automatically adjusted as necessary. The execution pointer of the new executable points to code from the injection executable, and export entry points of the original executable are stored within and can only be obtained through code from the injection executable. Execution of code from the original executable is therefore entirely mediated by code from the injection executable.
Preview Systems
G
G06F
inventional
Weijun
Li