Patent ID: 7383443

Claim:
A method of obfuscating a unit of code that executes on a processor, the method comprising: selecting a plurality of bytes in said unit of code; replacing each of the bytes with a replacement byte selected from a list of bytes corresponding to instructions from the instruction set of the processor to create an obfuscated code unit having the same number of bytes as said unit of code, wherein: said instructions comprise a list of one-byte instructions; each of the replacement bytes is a one-byte instruction; and said unit of code comprises at least some address data that is subject to being changed depending upon where in memory the unit of code is loaded other than at a preferred load address, and wherein the method further comprises: omitting said address data from the plurality of bytes selected by said selecting step; creating a table indicative of the bytes prior to said replacing step; and storing in an executable file at least: said obfuscated code unit; and said table.