论文部分内容阅读
知识产权保护一直是信息安全领域中数字内容保护的一部分,越来越多有关计算机安全的研究集中到软件知识产权保护方面。随着对知识产权的攻击方法的不断演变,保护知识产权的相应对策也随之产生,针对盗版现象产生了水印技术,针对篡改现象产生了反篡改技术,同样随着出现大量的反汇编现象,产生了混淆技术。反向工程使得攻击者能够了解某个软件的功能甚至代码,由此对软件进行分析、窥探隐蔽信息以及产权信息、盗用软件的功能模块、修改程序代码。混淆技术就是在不改变语义的情况下,使得混淆后的程序不易被反汇编工具反汇编或者反汇编后可读性差,以此达到保护软件的目的。本文通过控制流转换的方法来加大程序的复杂度,降低程序的可读性,从而克制反汇编工具和攻击者对程序的解读。本文首先给出了循环结构和if结构混淆方法的改进方案,提出了新的控制转换混淆方法——执行流重整,然后综合利用这些方法构建了混淆器的模型并最终实现了混淆器工具,随后还对工具的功能进行了测试并对工具的性能进行了分析,最后与同类工具在复杂度变化、转换方式、程序可读性、引入的额外执行开销、统计特性等方面作了横向比较。通过对工具功能的测试以及与同类工具的横向比较表明,该混淆器在复杂度变化、转换方式、程序可读性方面具有很好的混淆效果。