Invention Grant
- Patent Title: System and method for branch function based obfuscation
- Patent Title (中): 基于分支函数的混淆的系统和方法
-
Application No.: US13195748Application Date: 2011-08-01
-
Publication No.: US08751823B2Publication Date: 2014-06-10
- Inventor: Gideon M. Myles , Julien Lerouge , Jon McLachlan , Ganna Zaks , Augustin J. Farrugia
- Applicant: Gideon M. Myles , Julien Lerouge , Jon McLachlan , Ganna Zaks , Augustin J. Farrugia
- Applicant Address: US CA Cupertino
- Assignee: Apple Inc.
- Current Assignee: Apple Inc.
- Current Assignee Address: US CA Cupertino
- Agency: Novak Druce Connolly Bove + Quigg LLP
- Main IPC: G06F21/22
- IPC: G06F21/22

Abstract:
Disclosed herein are systems, methods, and non-transitory computer-readable storage media for obfuscating branches in computer code. A compiler or a post-compilation tool can obfuscate branches by receiving source code, and compiling the source code to yield computer-executable code. The compiler identifies branches in the computer-executable code, and determines a return address and a destination value for each branch. Then, based on the return address and the destination value for each branch, the compiler constructs a binary tree with nodes and leaf nodes, each node storing a balanced value, and each leaf node storing a destination value. The non-leaf nodes are arranged such that searching the binary tree by return address leads to a corresponding destination value. Then the compiler inserts the binary tree in the computer-executable code and replaces each branch with instructions in the computer-executable code for performing a branching operation based on the binary tree.
Public/Granted literature
- US20130036473A1 SYSTEM AND METHOD FOR BRANCH FUNCTION BASED OBFUSCATION Public/Granted day:2013-02-07
Information query