On demand code decryption

US11336448B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11336448-B2
Application numberUS-201716313273-A
CountryUS
Kind codeB2
Filing dateJun 29, 2017
Priority dateJun 29, 2016
Publication dateMay 17, 2022
Grant dateMay 17, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 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.

Assignees

Inventors

Classifications

  • G06F21/14Primary

    against software analysis or reverse engineering, e.g. by obfuscation · CPC title

  • Computer malware detection or handling, e.g. anti-virus arrangements · CPC title

  • Providing cryptographic facilities or services · CPC title

  • H04L9/32Primary

    including means for verifying the identity or authority of a user of the system {or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials} · CPC title

  • Test or assess software · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11336448B2 cover?
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 a…
Who is the assignee on this patent?
Nagravision Sa
What technology area does this patent fall under?
Primary CPC classification G06F21/14. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 17 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).