发明名称 SYSTEM AND METHOD FOR BRANCH FUNCTION BASED OBFUSCATION
摘要 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.
申请公布号 US2013036473(A1) 申请公布日期 2013.02.07
申请号 US201113195748 申请日期 2011.08.01
申请人 APPLE INC.;MYLES GIDEON M.;LEROUGE JULIEN;MCLACHLAN JON;ZAKS GANNA;FARRUGIA AUGUSTIN J. 发明人 MYLES GIDEON M.;LEROUGE JULIEN;MCLACHLAN JON;ZAKS GANNA;FARRUGIA AUGUSTIN J.
分类号 G06F21/00;G06F9/38;G06F9/45 主分类号 G06F21/00
代理机构 代理人
主权项
地址