【摘要】:目前,软件破解是软件行业的一个大问题。为保护软件不被破解,人们开发了基于硬件和软件的防篡改技术。现在软件保护受到极大关注,为此,越来越多的防篡改技术被提了出来。一旦检测出这样的篡改,软件的防篡改部分将采取措施使软件对敌手不可用。为了与软件破解做斗争,人们近来研究了大量防篡改保护机制,包括水印技术、代码扰乱、完整性验证、包装器和一些基于硬件的保护技术。
目前,软件破解是软件行业的一个大问题。为保护软件不被破解,人们开发了基于硬件和软件的防篡改技术。现在软件保护受到极大关注,为此,越来越多的防篡改技术被提了出来。
防篡改技术是为了检测或感知对软件任何未经授权的修改或使用。一旦检测出这样的篡改,软件的防篡改部分将采取措施使软件对敌手不可用。软件破解修改一个应用的执行代码,来触发或阻止程序执行中一个特定的关键分支。软件破解的一个普通例子就是去掉软件限时试用中的试用期限。有几种攻击被归入软件破解,包括获得未授权访问、逆向工程和破坏代码完整性。为了获得未授权访问,攻击者通过使访问控制机制失效,进入软件。如果攻击者能获得对软件的未授权访问,他/她就能获得一个非法复制或修改软件的某些功能。逆向工程能使程序的机器代码逆转为源代码,它是通过使用调试器逆转编译的程序代码,并写出实现的。其目标是研究程序如何执行某些特定操作,以去除软件的保护或在其他软件中重新利用部分代码。破坏代码完整性是指在程序内注入恶意代码。执行恶意代码使攻击者获得执行程序时的特权。(www.xing528.com)
为了与软件破解做斗争,人们近来研究了大量防篡改保护机制(Atallah et al.,2004),包括水印技术、代码扰乱(Code Obfuscation)、完整性验证、包装器和一些基于硬件的保护技术。不过要记住:上述方法都不能保证免受攻击。不同保护技术联合使用,每一项技术弥补了其他技术的不足,这样才能提供更好的保护。以下将讲解基于软件的保护技术。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。