IP Library Granted Patent US 7,409,713
Granted Patent B2
US 7,409,713 · App. 10/724,861 · Granted Aug 5, 2008

Method of protecting software code

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,409,713
App. No.
10/724,861
Granted
Aug 5, 2008
Kind
B2
Abstract

A method of protecting application program software includes steps of (a) actuating a tracer function to copy 2 1 to n instructions from the API code; (b) storing and executing the instructions; and (c) returning to the next instruction (2 (1 to n)+1 ) of the API code, where 2 1 to n represents the number of instructions and n is the maximum number of instructions describing the API code.

Claims (12)

1. A method of protecting application program software executing API code including:

actuating a tracer function to copy a segment of instructions from the API code until an instruction from the API code is reached that is one selected from the group consisting of a call instruction ending outside of scope, a jmp instruction ending outside of scope, a sysenter instruction, a syscall instruction, and a branch instruction ending outside of scope, or until an instruction above a predetermined number of instructions is reached, wherein the predetermined number of instructions is above two instructions;

storing and executing the copied instructions; and

returning to the next instruction of the API code, wherein the next instruction of the API code is a first uncopied instruction of the API code.

2. The method of claim 1 wherein the segment of instructions is a maximum of 16 instructions and the copied instructions are stored in the Random Access Memory (RAM) of the CPU.

3. The method of claim 1 wherein the application program software is security program software.

4. The method of in claim 1 wherein the tracer function includes the following instructions:

read instruction of myfunction (interpret opcodes);

if instruction is not ((a call, jmp, sysenter, syscall or branch instruction which ends up out of scope) or (less than the 16 th instruction) ) then copy to the local buffer;

repeat above steps until out of scope;

execute the local buffer;

continue execution in the original myfunction code at the offset where the out of scope instruction was encountered.

Assignments (6)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Jun 18, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 053306/0878 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2013
From: XTREAMLOK PTY LTD
To: SYMANTEC CORPORATION
Reel/Frame 029775/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2005
From: WITMANN, JEROME
To: XTREAMLOK PTY LTD
Reel/Frame 017239/0229 →