US 7,322,045 B2 | ||
Method of obfuscating computer instruction streams | ||
Raymond R. Kiddy, Sunnyvale, Calif. (US) | ||
Assigned to Apple Inc., Cupertino, Calif. (US) | ||
Filed on Jan. 23, 2004, as Appl. No. 10/763,881. | ||
Application 10/763881 is a continuation of application No. 09/915827, filed on Jul. 25, 2001, granted, now 6,694,435. | ||
Prior Publication US 2004/0151306 A1, Aug. 05, 2004 | ||
Int. Cl. G06F 7/04 (2006.01); G06F 17/30 (2006.01) |
U.S. Cl. 726—26 [726/27; 726/30; 713/162; 713/165; 713/167; 713/189; 717/136; 717/140; 717/148; 717/162] | 49 Claims |
1. A data processing system, comprising:
memory means for storing an obfuscated stream, the obfuscated stream comprising parts which are interleaved, the parts having
been taken from at least two operative instruction streams including a first operative instruction stream and a second operative
instruction stream, the first operative instruction streams being compiled from a first source code, the second operative
instruction streams being compiled from a second source code separate from the first source code; and
processor means for executing the obfuscated stream;
wherein the parts include a second part interleaved between a first part and a third part, the second part being of the second
operative instruction stream, the first part and the third part being of the first operative instruction stream;
wherein the second part is reachable from the first part during the execution; and
wherein when the first part and the third part are executed, the second part is also executed.
|