摘要
代码混淆作为一种保留语义的代码变换技术,在解释性语言和脚本语言的源代码保护中得到了广泛应用。随着软件项目越来越复杂,一个项目由多种语言共同编写,传统的代码混淆技术主要针对局部逻辑混淆,无法对不同类型的代码进行全局混淆,当一个子系统的代码混淆后,可能导致整个软件系统无法组装运行。设计跨语言的代码元素及其关联关系的描述规则,以统一的方式描述同一项目中不同类型的代码元素以及它们之间的关联关系,将相互关联的代码对应起来。提出跨语言的项目级代码混淆方法,实现对不同类型代码的全局混淆以及代码关联关系的自动化维护,并在真实的基于Struts2框架的源代码项目中进行混淆实验,说明所提方法及技术的可行性和有效性。
protection written in As a semantic-preserving code conversion technology, the code obfuscation is widely used in source code for interpretive languages and scripting languages. As software projects is getting complex, a project is usually multiple languages. The traditional code obfuscation technology which targets the local logic obfuscation cannot implement global obfuscation for different types of code. When the code of a sub-system is obfuscated, it may lead that the entire software system cannot be assembled to run. This paper designs description rules of cross-language code elements and the association between them, thus supporting the correspondence between interrelated code elements. We propose the method of cross-language code obfuscation at a project level which realizes global obfuscation for different types of code and the automatic maintenance of the code association, and do the confusing experiments on real source code projects which based on Struts2 framework to verify the feasibility and effectiveness of the method and technology.
出处
《计算机应用与软件》
北大核心
2018年第1期15-20,43,共7页
Computer Applications and Software
基金
上海市科技发展基金项目(16JC1400801)