IP Library Granted Patent US 7,779,270
Granted Patent B2
US 7,779,270 · App. 11/129,106 · Granted Aug 17, 2010

Software self-defense systems and methods

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,779,270
App. No.
11/129,106
Granted
Aug 17, 2010
Kind
B2
Abstract

Systems and methods are disclosed for protecting a computer program from unauthorized analysis and modification. Obfuscation transformations can be applied to the computer program's local structure, control graph, and/or data structure to render the program more difficult to understand and/or modify. Tamper-resistance mechanisms can be incorporated into the computer program to detect attempts to tamper with the program's operation. Once an attempt to tamper with the computer program is detected, the computer program reports it to an external agent, ceases normal operation, and/or reverses any modifications made by the attempted tampering. The computer program can also be watermarked to facilitate identification of its owner. The obfuscation, tamper-resistance, and watermarking transformations can be applied to the computer program's source code, object code, or executable image.

Claims (7)

1. A method for protecting an executable computer program from unauthorized tampering, the method including:

adding a first segment of code or data to a portion of the executable program, the first segment of code or data not materially affecting the normal operation of the executable program;

upon a first execution of a first predefined code sequence in the executable program, overwriting at least part of a first memory region containing the first segment of code or data with a second segment of code or data;

upon a subsequent execution of the first predefined code sequence, overwriting at least part of a memory region substantially adjacent to the first memory region with a third segment of code or data, such that at least part of the executable program is overwritten with the third segment of code or data.

2. A method as in claim 1 , in which the third segment of code or data comprises invalid instructions or data.

3. A method as in claim 1 , in which the first predefined code sequence comprises startup code.

4. A method as in claim 1 , in which the second memory region is substantially logically or physically adjacent to the first memory region.

Assignments (3)
PATENT ASSIGNMENT Recorded May 27, 2025
From: INTERTRUST TECHNOLOGIES CORPORATION
To: INNOVATION TECHNOLOGIES PARTNERS LP
Reel/Frame 071408/0320 →
RELEASE OF SECURITY INTEREST Recorded Feb 14, 2023
From: ORIGIN FUTURE ENERGY PTY LTD.
To: INTERTRUST TECHNOLOGIES CORPORATION
Reel/Frame 062747/0742 →
SECURITY INTEREST Recorded Mar 18, 2020
From: INTERTRUST TECHNOLOGIES CORPORATION
To: ORIGIN FUTURE ENERGY PTY LTD
Reel/Frame 052189/0343 →