Systems, methods, and computer-readable media for fertilizing machine-executable code
US9128722B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Mar 27, 2013 |
| Grant date | Sep 8, 2015 |
| Priority date | — |
| Expiry date | Mar 27, 2033 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F21/14
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
Disclosed herein are systems, computer-implemented methods, and non-transitory computer-readable storage media for obfuscating code, such as instructions and data structures. Also disclosed are non-transitory computer-readable media containing obfuscated code. In one aspect, a preprocessing tool (i.e. before compilation) identifies in a source program code a routine for replacement. The tool can be a software program running on a computer or an embedded device. The tool then selects a function equivalent to the identified routine from a pool of functions to replace the identified routine. A compiler can then compile computer instructions based on the source program code utilizing the selected function in place of the identified routine. In another aspect, the tool replaces data structures with fertilized data structures. These approaches can be applied to various portions of source program code based on various factors. A software developer can flexibly configure how and where to fertilize the source code.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.