同济大学

基于壳技术的软件保护技术研究

作者:
赵东方

关键词:
壳技术软件保护可执行文件保护方式注册码加密保护技术可执行程序可执行代码解软件

摘要:
为了维护自身版权利益、保护自有技术成果,软件作者在最终发布软件时通常会对软件进行加密保护。常用的软件保护技术包括:注册码保护方式、加密狗方式、注册文件保护方式和时间限制保护方式等。针对常用的注册码保护方式,软件破解者通常使用调试软件,动态跟踪可执行程序的执行流程或者静态反汇编程序,找出注册码的验证位置,然后修改可执行文件跳过注册码验证过程来达到破解软件的目的。所以,即使生成与检查注册码的机制再复杂,如果可执行程序可以被任意修改,破解者还是可能通过相应的方法破解软件,所以要对软件实施有效的保护,必须保护软件发布的可执行代码以防被跟踪和修改,而对可执行文件进行加壳便是保护其不被非法修改和反编译的有效方法。加壳是指在原可执行文件的基础上附加一定的代码、数据,并对原文件进行加密或压缩,然后修改原文件的运行参数,使其被加载执行时程序流程发生改变,先执行附加的代码,再执行原文件的代码。加壳不仅可以改变原可执行文件的运行流程和特征,并且可以有效改变原可执行文件的静态特征。加上外壳后,原可执行文件代码在磁盘文件中一般是以加密或压缩后的形式存在,只在执行时从内存中还原,这样可以有效地防止破解者对程序文件非法修改,同时也可以防止程序被静态反编译,从而最终达到软件保护的目的。    本文将以壳技术为落脚点,详细阐述软件保护技术的实现方式,特别是壳技术对于软件保护的重要性以及如何实现加壳保护。相关的理论知识包括:软件保护技术概述、壳技术概述与通用壳、加密算法、PE文件格式、外壳编写与实现等。

在线下载

相关文章:
在线客服:
对外合作:
联系方式:400-6379-560
投诉建议:feedback@hanspub.org
客服号

人工客服,优惠资讯,稿件咨询
公众号

科技前沿与学术知识分享