基于代码混淆的软件水印方案的设计与实现

来源 :江西理工大学 | 被引量 : 0次 | 上传用户:jiangfan520
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息技术的发展,计算机已成为人们工作、学习和生活中不可缺少的部分,而计算机软件正是推动这一发展的主要动力。然而,盗版现象日益严重,引起了许多企业和学者的关注。要解决盗版问题,一方面应该依靠法律手段,另一方面应该研究和讨论如何借助各种技术手段来有效保护软件产品,这对于防止盗版有着重要的现实意义。根据产品实现手段,软件保护技术分为两类,一类是纯软件的,另一类是纯硬件或软硬结合的。由于部署便捷和几乎为零的单份拷贝附加成本,软件保护技术主要集中在第一类,而这类研究又主要集中在混淆变换、加密、软件水印三个领域。现实世界的攻击是多角度与多层次的,为了给软件提供更强的保护,使软件更能抵御静态分析、逆向工程和篡改等恶意攻击,将多种软件保护技术结合起来是一种有效的选择。文章研究了PE文件格式的特点和基本的逆向工程技术。在此基础上,设计了一套混淆与软件水印相结合的软件保护方案,利用混淆技术防止程序被反编译,利用水印来证明软件真正的拥有者。方案主要借助整数分解算法和链表结构,对PE文件反汇编形成的中间码文件进行混淆,加大了攻击者逆向分析中间码的难度,从而防止软件被轻易反编译;利用图像、音频等其他数字水印技术中的零水印思想,与程序代码切块思想相结合,设计了相应安全的水印信息转换规则;为实现水印的自动嵌入和提取,方案使用了傀儡指令技术,进一步提高混淆的力度的同时,使得该方案有效隐藏了水印信息,提高了水印的鲁棒性。为了测试实际运行效果,本文设计并实现了一个原型系统,系统集成了混淆和水印两部分,通过运行该系统反映了方案的概貌和基本思想。文章对系统进行了测试,通过对测试结果的分析证明,经过混淆和嵌入水印的程序与之前一样能够正常执行,试图对采用该方案的程序进行反编译或试图破坏水印非常困难,充分显示系统是一个实用、有效的软件保护工具,方案是实用软件保护技术的有益探索。
其他文献
基于角色的访问控制(Role-based Access Control, RBAC),是一种先进有效的安全访问控制的方法。它大大减小了授权管理的复杂性,降低管理开销,并且可以灵活地适应安全策略的变
保护网络系统中传输的数据遭到破坏、更改、泄露,是网络安全技术所要解决的主要问题和重要的研究领域。数据加密对于保证网络中数据的正确传输,起到了非常重要的作用。本文以此
随着我国经济实力不断增强,融入经济全球化的步伐不断加快,对外贸易加速发展,集装箱运输和集装箱工业稳步增长。在每天大量集装箱流转过程中,丢失集装箱的现象时有发生,尽管
医院多维分析与决策支持系统是指利用数据仓库和联机分析处理技术,实现对特定的业务进行分析和建模,并辅助管理人员制定决策方案的计算机应用系统。随着信息化技术的发展,数据库的数量和容量大得惊人,虽然医院拥有丰富的数据,但是却缺乏提取其中有用信息的工具和方案。医院多维分析与决策支持系统的研究和创建,能够充分利用大量的历史数据,将繁杂的数据转化为有利于医院管理人员的信息和知识,为提高医院的竞争力作出贡献。随
航天测控网资源分配和调度的目标是:在指定的调度时间段内,根据卫星测控任务需求,合理有效地分配各个测控站的资源,以解决日趋严重的“多星冲突”问题,实现完成任务的效益值
网络体系结构的改进和宽带技术的提高推动并加快了传统网络向下一代网络(NGN)的演进,用户对网络服务质量(QoS)的要求也越来越高。因此,如何提供端到端的QoS将是NGN的核心问题
随着信息科学技术和计算机科学的飞速发展,系统对存储、计算速度和带宽的要求也在不断的增加,单一的计算节点已经无法满足很多大规模计算密集型应用的需求,并行与分布式平台
汽车发动机是一个复杂的动力系统,其设备之间的复杂性导致汽车发动机故障诊断的复杂性和不确定性。由于这种不确定性的存在,使得难于建立一个定性的模型用于汽车发动机故障诊
本文以无线自组网中的入侵检测技术为研究重点,在总结当前该领域国内外的研究进展和无线自组网的安全现状的基础上,详细分析了入侵检测技术在无线自组网中遇到的挑战及现有技术
软件复用是提高软件生产效率和质量的现实可行的途径,其中基于构件的领域软件开发平台成为了研究的热点。零码软件生产平台是面向特定领域的基于构件的软件开发平台,提供了过