Method of program obfuscation and processing device for executing obfuscated programs
US8621187B2 · kind B2 · utility
Assignee
Inventor
Key dates
| Filing date | Feb 9, 2009 |
| Grant date | Dec 31, 2013 |
| Priority date | — |
| Expiry date | Jan 26, 2031 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F21/14
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A program is obfuscated by reordering its instructions. Original instruction addresses are mapped to target addresses. A cache efficient obfuscated program is realized by restricting target addresses of a sequence of instructions to a limited set of the disjoint ranges (33a-d) of target addresses, which are at lease half filled with instructions. Mapped address steps (34) are provided between the target addresses to which successive ones of the original instruction addresses are mapped. The address steps (34) include first address steps within at least a first one of the mutually disjoint ranges (33a-d). Between said first address steps, second address steps within at least a second one of the mutually disjoint ranges (33a-d). Thus, a deviation from successive addresses for logically successive instructions is realized. In an embodiment the mapping of original instruction addresses to target addresses may be visualized by means of a path (36) along points in an n-dimensional array, where n is greater than one. Successive original instruction addresses are mapped to successive locations in the path, and locations along respective rows of the array are mapped to respective ones of th…
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.