Computer Engineering and Applications ›› 2021, Vol. 57 ›› Issue (20): 125-132.DOI: 10.3778/j.issn.1002-8331.2007-0109

Previous Articles     Next Articles

Control Flow Obfuscation Technology Based on Implicit Jump

CHEN Yaoyang, CHEN Wei   

  1. College of Computer, Nanjing University of Posts and Telecommunications, Nanjing 210023, China
  • Online:2021-10-15 Published:2021-10-21



  1. 南京邮电大学 计算机学院,南京 210023


The traditional control flow obfuscation schemes introduce some special structures to obfuscate or hide the control flow information of the original program, but this will cause a lot of extra overhead. In addition, for sensitive information in the control flow, the commonly used obfuscation techniques do not have complete protection in program. To solve these problems, a control flow obfuscation technique based on implicit jump is proposed. First the control flow diagram of the program is analyzed and established to obtain the dependencies of each basic block; then a state transition model is established to assign a runtime state to each basic block; finally, the proposed method encrypts and protects sensitive information such as control flow jumps, function calls, and variable references based on the keys generated by this state. These sensitive information are converted into an implicit form that needs to be decrypted at runtime to achieve anti-static analysis. In addition, in view of the duplication of ciphertexts of the same object, a two-stage encryption scheme based on environmental keys is proposed to further reduce the exposure of sensitive information. Experimental results show that compared with the traditional obfuscation technology, this scheme will not have a great impact on the runtime performance of the program, and it can also help the program resist static analysis more comprehensively.

Key words: control flow graph, obfuscation, implicit jump, anti-static analysis



关键词: 控制流图, 代码混淆, 隐式跳转, 反静态分析