Chinese Journal of Network and Information Security ›› 2020, Vol. 6 ›› Issue (6): 25-34.doi: 10.11959/j.issn.2096-109x.2020061

• Special Column:Network Application and Protection Technology • Previous Articles     Next Articles

Research on construction of conditional exception code used in branch obfuscation

Pu GENG(),Yuefei ZHU   

  1. Information Engineering University,Zhengzhou 450001,China
  • Revised:2020-02-04 Online:2020-12-15 Published:2020-12-16
  • Supported by:
    The National Key R&D Program of China(2016YFB0801601);The National Key R&D Program of China(2016YFB0801505)

Abstract:

Using conditional exception code construction and exception handler to replace conditional jump code,the branch obfuscation get the right branch selection,but the address of branch point was concealed,so this obfuscation method can defeat symbolic execution by impeding the constraint condition collecting.The normal method of conditional exception code construction has a fault that the key data in conditional exception code has two-value problem,this fault make down the ability of branch obfuscation in impeding symbolic execution.Based on this shortcoming,a novel method which can make the key data in conditional exception code diversity was proposed.This method can improve the difficulty of constraint condition fetching,so the ability to defeat symbolic execution of branch obfuscation was enhanced.At last,a prototype obfuscation system based on structural exception handler was implemented to test the new method of conditional exception code construction.

Key words: conditional exception code construction, branch obfuscation, symbolic execution, structural exception handler

CLC Number: