Invention Grant
- Patent Title: Control flow flattening for code obfuscation where the next block calculation needs run-time information
-
Application No.: US14259395Application Date: 2014-04-23
-
Publication No.: US10599820B2Publication Date: 2020-03-24
- Inventor: Jan Hoogerbrugge , Phillippe Teuwen , Wil Michiels
- Applicant: NXP B.V.
- Applicant Address: NL Eindhoven
- Assignee: NXP B.V.
- Current Assignee: NXP B.V.
- Current Assignee Address: NL Eindhoven
- Main IPC: G06F21/00
- IPC: G06F21/00 ; G06F21/14

Abstract:
A method of obscuring software code including a plurality of basic blocks wherein the basic blocks have an associated identifier (ID), including: determining, by a processor, for a first basic block first predecessor basic blocks, wherein first predecessor basic blocks jump to the first basic block and the first basic block jumps to a next basic block based upon a next basic block ID; producing, by the processor, a mask value based upon the IDs of first predecessor basic blocks, wherein the mask value identifies common bits of the IDs of the first predecessor basic blocks; and inserting, by the processor, an instruction in the first basic block to determine a next basic block ID based upon the mask value and an ID of one of the first predecessor basic blocks.
Public/Granted literature
- US20150310193A1 CONTROL FLOW FLATTENING FOR CODE OBFUSCATION WHERE THE NEXT BLOCK CALCULATION NEEDS RUN-TIME INFORMATION Public/Granted day:2015-10-29
Information query