发明名称 METHOD OF PROGRAM OBFUSCATION AND PROCESSING DEVICE FOR EXECUTING OBFUSCATED PROGRAMS
摘要 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 the mutually disjoint ranges (33a-d). Because an n-dimensional path is used a form of locality is preserved that provides for cache efficiency, whereas the multi-dimensional nature of the path makes it possible to combine this locality with pseudo-random steps.
申请公布号 US2010332759(A1) 申请公布日期 2010.12.30
申请号 US20090866866 申请日期 2009.02.09
申请人 NXP B.V. 发明人 VAUCLAIR MARC
分类号 G06F9/30;G06F12/08;G06F21/14 主分类号 G06F9/30
代理机构 代理人
主权项
地址