软件水印技术学习

本文介绍了软件水印技术,作为版权保护的一种新方法,它能标识软件的作者、发行者等信息,并对抗非法复制。软件水印分为代码水印和数据水印,以及静态和动态水印。静态水印易受迷乱攻击破坏,动态水印相对更难检测,但两者都存在鲁棒性问题。Easter Egg水印通过特定输入显示版权信息,安全性较低,而动态数据结构和执行过程水印则提供了一定的隐蔽性,但同样面临攻击风险。
摘要由CSDN通过智能技术生成

   软件水印是近年来出现的软件产品版权保护技术,可以用来标识作者、发行者、所有者、使用者等,并携
带有版权保护信息和身份认证信息,可以鉴别出非法复制和盗用的软件产品.目前在软件版权保护方面,人们主要是通过加密的方式进行,比如:软件狗、Vbox、SoftSENTRY、SecuROM 和SafeDISC 等.最近出现的软件水印则是另一种全新的软件保护措施.

   所谓的软件水印就是把程序的版权信息和用户身份信息嵌入到程序中.

 

软件水印分类

   根据水印的加入位置,软件水印可以分为代码水印和数据水印.代码水印隐藏在程序的指令部分中,而数据  
水印则隐藏在包括头文件、字符串和调试信息等数据中.根据水印被加载的时刻,软件水印可分为静态水印和
动态水印.静态水印存储在可执行程序代码中,比较典型的是把水印信息放在安装模块部分,或者是指令代码
中,或者是调试信息的符号部分.对于Java 程序,水印信息也可以隐藏在类文件(包括常量池表、方法表、行号表)
的任何部分中.静态水印又可以进一步分为静态数据水印和静态代码水印.区别于静态水印,动态水印则保存在
程序的执行状态中,而不是程序源代码本身.这种水印可用于证明程序是否经过了迷乱变换处理.动态水印主要
有3 类:Easter Egg 水印、数据结构水印和执行状态水印.其中,每种情况都需要有预先输入,然后根据输入,程序
会运行到某种状态,这些状态就代表水印.

 

1.1 静态数据水印


    数据水印很容易产生和识别,是一种常见的水印.这种水印可以在程序中的一些数据中体现出来,因而很容
易被迷乱攻击破坏.比如把所有的数据分解成一系列数据,然后散布到整个程序中,这样代表水印信息的数据也
被分解,增加了水印检测的难度;或者用一个产生这些数据的子程序来代替这些数据,这样在程序中就找不到该
数据的原型,也就无法检测水印.


<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值