IP Library Granted Patent US 11,336,448
Granted Patent B2
US 11,336,448 · App. 16/313,273 · Granted May 17, 2022

On demand code decryption

Inventors: Laurent Dore (Cheseaux-sur-Lausanne, CH); Eric Piret (Cheseaux-sur-Lausanne, CH); Yasser Belaidi (Cheseaux-sur-Lausanne, CH); Brecht Wyseur (Cheseaux-sur-Lausanne, CH)
Assignee: NAGRAVISION S.A.
H04L9/32G06F21/14G06F21/56G06F21/602G06F2221/033
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 11,336,448
App. No.
16/313,273
Granted
May 17, 2022
Kind
B2
Abstract

A system and a method for protecting code are provided. Extraction of code to be protected takes place during an object-to-object transformation and that code is replaced with fake binary code. The extracted code to be protected may then be encrypted or otherwise obscured and stored in a separate region of an object file. A prior source-to-source file transformation can be provided to isolate and mark the code to be protected, and to inject additional source code to handle later decryption.

Claims (33)

1. A method for protecting code, comprising carrying out an object-to-object file transformation, the object-to-object transformation comprising:

identifying, within an input object file to be encrypted, code to be protected;

extracting the identified code to be protected from the input object file;

to generate a first output object file, deleting and replacing, in the input object file, the identified code to be protected with a fake code; and

injecting the identified code to be protected into a second output object file,

wherein, prior to the object-to-object transformation, the method includes a source-to-source transformation comprising:

marking the identified code to be protected within an input source file; and

providing additional code to the input source file for a later decryption operation.

2. The method according to claim 1 , further comprising consolidating the first output object file and the second output object file in to a final object file.

3. The method according to claim 1 , wherein the source-to-source transformation further comprises isolating the identified code to be protected.

4. The method according to claim 1 , wherein the object-to-object transformation further comprises:

identifying relocation directions within the input object file;

excluding the relocation directions from replacement by the fake code.

5. The method according to claim 1 , wherein the fake code is selected to resemble real code.

6. The method according to claim 1 , wherein the object-to-object transformation further comprises encrypting the identified code to be protected.

7. A non-transitory computer readable medium storing computer-readable instructions that, when executed by processing circuitry, cause the processing circuitry to perform the method of claim 1 .

8. The method according to claim 1 , wherein the fake code is random code.

9. A system for protecting code, the system comprising:

processing circuitry that carries out an object-to-object file transformation by being configured to:

identify, within an input object file to be encrypted, code to be protected;

extract the identified code to be protected from the input object file;

to generate a first output object file, delete and replace, in the input object fie, the identified code to be protected with a fake code; and

inject the identified code to be protected into a second output object file,

wherein, prior to the object-to-object transformation, the processing circuitry is configured to perform a source-to-source transformation comprising, to perform said source-to-source transformation said processing circuitry is configured to

mark the identified code to be protected within an input source file; and

provide additional code to the input source file to provide instructions for a later decryption operation.

10. The system according to claim 9 , wherein the processing circuitry is further configured to consolidate the first output object file and the second output object file in to a final object file.

11. The system according to claim 9 , wherein to perform the source-to-source transformation, the processing circuitry is further configured to isolate the identified code to be protected.

12. The system according to claim 9 , wherein to perform the object-to-object transformation, the processing circuitry is further configured to:

identify relocation directions within the input object file; and

exclude the relocation directions from replacement by the fake code.

13. The system according to claim 9 , wherein the fake code is selected to resemble real code.

14. The system according to claim 9 , wherein to perform the object-to-object transformation, the processing circuitry is further configured to encrypt the identified code to be protected.

Assignments (4)
CHANGE OF NAME Recorded May 8, 2023
From: NAGRAVISION SA
To: NAGRAVISION SÀRL
Reel/Frame 063566/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2019
From: E.D.S.I. SAS
To: NAGRAVISION S.A.
Reel/Frame 051032/0856 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2019
From: DORE, LAURENT; WYSEUR, BRECHT
To: NAGRAVISION S.A.
Reel/Frame 050972/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2019
From: PIRET, ERIC; BELAIDI, YASSER
To: E.D.S.I. SAS
Reel/Frame 050972/0957 →
Priority Claims (1)
EP 16305797 · Jun 29, 2016 · regional
Continuity (1)
Related Publication 20190158286A1 · May 23, 2019