| 【论文摘要】 |
逆向工程领域的进步与发展,一方面提高了对软件的分析能力;另一方面,恶意的逆向分析给软件安全带来更大的挑战。针对日益严重的软件安全问题,除了法律方面出台与知识产权相关法律法规对软件产品加以保护以外,软件开发者这边也是采用了许许多多的软件保护技术。本文所研究探讨的是一种抵制静态逆向分析的软件保护技术——目标代码混淆,并最终实现了一个基于Windows平台的目标代码混淆器。
本文从介绍常见的软件保护技术入手,引出了一种新的软件保护技术,就是代码混淆技术。代码混淆技术是一种非常年轻的软件保护技术,它的兴起缘于跨平台的JAVA语言的迅猛发展。代码混淆的思想应用到目标代码上就出现了目标代码混淆,它不同于对源代码的混淆和对中间代码的混淆。本文介绍了逆向工程的分析技术,并引入目标代码混淆的概念,介绍了目标代码混淆技术的分类,并通过大量的实例尽可能地详细介绍现有的目标代码混淆技术。根据逆向工程静态分析的特点,了解静态分析对控制流信息的依赖,本文研究三种对抗静态分析的混淆变换技术,分别是控制流信息隐藏技术,代码节分段加密技术以及增强型随机花指令技术。
控制流隐藏技术从静态分析对控制跳转信息的依赖出发,修... |