对抗软件盗版、篡改和恶意逆向工程的理论、技巧和工具
近十年来,人们在软件防盗版和防篡改技术的研发上取得了重大进展。这些技术在保护软件开发人员的知识产权方面具有不可替代的作用。无论是研究人员、在校学生,还是开发人员,要了解这些技术及其能提供的安全级别和可能引发的性能开销,都可以从本书获得权威、全面的参考资料。
Christian Collberg和Jasvir Nagra在书中详尽地介绍了相关技术,涵盖了计算机科学的各个相关领域,包括密码学、隐写术、水印、软件度量、逆向工程和编译优化等。本书通过大量的示例代码,向读者展示了代码混淆、软件水印、代码防篡改和“胎记”技术等保护算法的实现方式,并且从理论和实践两个角度探讨了这些技术的局限。
涵盖的内容
攻击者和防御者用来分析程序的各种主要方法
代码混淆技术,用于提高程序被分析和理解的难度
软件水印和指纹,用于标识软件开发者并追踪盗版
代码防篡改技术,用于检测和响应非法修改代码和数据的行为,从而保护软件
动态水印和动态混淆技术,用于阻止软件的非法复制
软件相似性分析和“胎记”算法,用于检测代码剽窃
硬件技术,用于保护软件及各类媒体免遭盗版和篡改
在分布式系统中,检测远端不可信平台上运行的软件是否被篡改
代码混淆技术在理论上的局限性
展开