×

Software self-defense systems and methods

  • US 7,430,670 B1
  • Filed: 07/31/2000
  • Issued: 09/30/2008
  • Est. Priority Date: 07/29/1999
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for obfuscating a computer program, the computer program being designed to carry out one or more specified tasks, the method including:

  • obtaining an object code representation of the computer program;

    searching the object code representation of the computer program for first and second object code sequences, the first and second object code sequences being similar, at least in part; and

    modifying the object code representation of the computer program without materially affecting completion of the one or more specified tasks, the modification comprising;

    inserting a third object code sequence into the object code representation of the computer program such that the third object code sequence is executed before the second object code sequence, the third object code sequence comprising one or more instructions, and being operable to pass control to an instruction that logically begins the first object code sequence;

    executing instructions in the first object code sequence in place of instructions in the second object code sequence;

    inserting a branch at the end of the first object code sequence, the branch being operable to;

    pass control, upon detection of a first predefined condition, to an instruction that logically followed the first object code sequence in the unmodified object code representation of the computer program, and topass control, upon detection of a second predefined condition, to an instruction that logically followed the second object code sequence in the unmodified object code representation of the computer program.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×