`

软件水印技术学习

阅读更多

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

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

 

软件水印分类

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

 

1.1 静态数据水印


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


1.2 静态代码水印


    利用人类视觉和听觉的不敏感性,多媒体水印通常是加在载体上的冗余部分.也可以用相同的方式来构造
代码水印,因为目标代码也包含了冗余信息.比如通过调整两条无依赖关系指令的顺序可以嵌入1bit 的水印信
息.IBM 提出了一种把寄存器出入栈的顺序作为水印的方法,同样可以通过排列有m 个分支的case 语句的顺序
来编码log(m!) 比特信息.Davidson[3]描述一种类似的代码水印,它在程序的控制流图的一个基本模块中对软件
的序列号进行编码.
    许多代码水印都经不起一些简单的水印攻击(比如,调整指令的顺序).既然交换指令的顺序不影响原程序,
那么就可以把源代码中所有满足这个条件的指令都交换位置,这样就无法检测到先前加入的水印了.
很多代码迷乱技术能够破坏代码水印.对于Davidson 的方法,只要能够准确地找到控制流图的基本模块.我
们很容易通过插入一个布尔值始终为TRUE 的条件分支破坏这个基本模块,使水印无法检测.通过迷乱变换,所
有静态结构水印都会被破坏.内嵌、循环变换和代码都是常见的优化技术,这些技术也很容易破坏静态代码水
印.Moslkowitz[4]提出了一种具有防篡改的水印算法,其基本思想是把关键代码的一部分隐藏在软件的资源(如
图标、声音)中,并且程序会不时地从资源中提取出这段代码执行,如果资源被破坏,那么程序就会出错.
静态代码水印更难抵抗语义保持变换攻击.出于安全考虑,Java 程序不能检测自己的代码,比如语句if
(instruction #100!="add" ) exit()在Java 语法中是不允许的,虽然在其他语言如C 中是可能的.但是由于这种语句的特殊性,它要检查指令,而不是可执行程序数据段中的数据,所以很容易找到这种语句在程序中的位置.
总之,尽管静态水印比较简单,但是由于它容易遭到破坏、鲁棒性不好,因而不能得到广泛应用.


1.3 Easter Egg水印


    这种水印无须检测,它通过一个输入产生一个输出.比如输入一个字符串,然后屏幕上就显示出版权信息或
一幅图像.Easter Egg 水印的主要问题是水印在程序中的位置容易找到,一旦输入正确信息,用softice 这样的标
准调试软件就可以跟踪程序执行情况,进而找到水印的位置,所以这种水印不是很安全。

 

1.4 动态数据结构水印


    这种水印的机制是:输入特定信息激发程序把水印信息隐藏在堆、栈或者全局变量域等程序状态中.当所
有信息都输完之后,通过检测程序变量的当前值来进行水印提取.可以安排一个提取水印信息的进程或在调试
器下运行程序查看变量取值.
    与Easter Egg 水印不同的是,动态数据水印没有输出,而且水印的提取过程不是封装在应用程序中,因而不
容易找到水印在程序中的位置,但是这种水印也经不住迷乱变换的攻击.


1.5 动态执行过程水印


    当程序在特定的输入下运行时,对程序中指令的执行顺序或内存地址走向进行编码生成水印.水印检测则
通过控制地址和操作码顺序的统计特性来进行.

分享到:
评论

相关推荐

    去掉水印的软件

    模式识别技术帮助软件识别并区分水印与背景,而深度学习算法则能更智能地学习和模仿原始图像的无水印部分,实现更自然的修复。 在给定的压缩包中,有一个名为“去掉水印的特工具.exe”的文件,这很可能是我们要找的...

    最好用的去水印软件

    2. 技术支持:开发者是否提供及时的技术支持和更新,以应对不断变化的水印技术。 3. 软件价格:免费软件可能有广告干扰,付费软件则可能提供更高级的功能和服务。 在提供的文件“去水印”中,可能包含了一些去水印...

    傻瓜式去水印软件简单易用

    "傻瓜式去水印软件"就是一种专为此设计的工具,它以简单易用为特点,使得即便是没有专业技术背景的普通用户也能轻松操作。 去水印的基本原理是通过算法对图像进行分析,识别并修复水印覆盖区域,恢复图像原有的颜色...

    去水印软件 一键处理水印.rar

    标题"去水印软件 一键处理水印.rar"表明这是一个专用于去除水印的软件工具,且具备一键操作的特性,简化了用户界面,使得即使是技术不熟练的用户也能轻松上手。 描述中提到的“专业技术,简单易用”,暗示了这款软件...

    去视频水印软件

    去视频水印软件的工作原理通常是基于图像处理和机器学习算法。它会分析视频帧,识别水印的存在,然后通过遮罩、插值或其他图像修复技术来消除水印的影响,尽可能保持画面的原始质量和连续性。 描述中提到的"Remove ...

    很好用的去水印软件

    这可能通过图像识别技术实现,比如机器学习模型,能够识别并定位常见类型的水印。 3. **智能修复技术**:软件可能使用了内容感知填充技术,这是一种基于周围像素的算法,能够智能地填补水印被移除后留下的空白,使...

    超强去水印软件

    去水印软件通常采用先进的图像处理算法,如像素级别的颜色匹配、内容感知填充、深度学习等技术。这些技术能够分析周围的图像内容,并尝试以最自然的方式填充或替换水印区域,以达到视觉上难以察觉的效果。然而,值得...

    图像处理 软件 水印 软件

    水印技术: 水印分为可见水印和不可见水印两种。可见水印通常是在图片上添加半透明的文字、图案或日期,以直观地显示图像的所有权信息。这些水印通常是叠加在图像的前景或背景上,不会严重影响图像的主要内容,但又...

    水印擦除软件

    在实际使用中,用户应根据自身需求,结合软件的说明文档或在线教程,学习如何有效地去除图像水印。 总的来说,水印擦除软件是一种强大的工具,它利用先进的图像处理技术,帮助用户摆脱不想要的图像水印,同时尽可能...

    水印技术的一个实现程序含有一个帮助文档

    水印技术是数字时代保护知识产权和原创作品的重要手段,它涉及到图像处理、计算机视觉和信息安全等多个领域。...通过学习和使用这个程序,用户可以更好地理解和掌握水印技术,提升自己的版权保护意识和能力。

    基于深度学习的小波转化的数字水印去除算法

    【标题】"基于深度学习的小波转化的数字水印去除算法"主要涉及到现代信息技术中的数字图像处理、水印技术和深度学习应用。数字水印是一种在数字媒体中嵌入隐藏信息的技术,通常用于版权保护和防伪。而深度学习是人工...

    数字水印软件试用版

    数字水印技术是一种在数字媒体(如图像、音频或视频)中嵌入不可见或几乎不可察觉的信息的技术,主要用于版权保护、数据认证和追踪原始来源等目的。在本案例中,我们关注的是“小波变换的数字水印程序试用版”,这是...

    轻松水印轻松水印.轻松水印.轻松水印.

    【轻松水印技术详解】 在数字时代,保护个人或企业创作的知识产权变得至关重要。"轻松水印"是一种简便有效的解决方案,旨在为图像、视频等数字内容添加不可见或可见的标识,以防止未经授权的使用。本文将深入探讨...

    快速去除图片水印软件

    综上所述,"快速去除图片水印软件"是针对特定场景下的高效工具,它利用先进的图像处理技术帮助用户快速去除图片上的水印,以达到优化视觉效果或满足特定业务需求的目的。在使用过程中,了解其工作原理、功能特性以及...

    基于MATLAB的数字水印技术实现.pdf

    摘要:本文介绍了一种高效、实用的数字水印技术实现方法,基于MATLAB软件。数字水印技术是保护数字媒体信息安全的有效方法,近年来引起了人们的高度重视,并逐步成为多媒体信号处理领域的一个研究热点。本文首先介绍...

    视频去水印软件

    描述中提到的这款软件操作简单,用户可以通过矩形或自由格式的选择工具来指定需要去除水印的区域。矩形选择工具适用于规则形状的水印,如常见的角标或边框;而自由格式选择则更适合不规则形状的水印,例如文字或手绘...

    去水印软件(无广告)

    去水印技术通常基于图像处理算法,如像素分析、内容感知填充、深度学习等,这些技术能够智能地分析并替换水印所在区域的内容,使得结果图像看起来自然且无缝。 Inpaint是压缩包内的文件名,这很可能就是我们要找的...

    数字水印技术

    数字水印技术是一种在数字媒体上嵌入隐蔽信息的技术,用于证明版权、验证真实性或跟踪非法复制。在图像处理和多媒体安全领域,数字水印的应用日益广泛。在本主题中,我们将聚焦于一种特殊的方法——基于小波变换的...

    去除图片水印 图片水印去除软件 去除图片水印工具

    它提供了简单易用的界面和高效的工作流程,用户无需深入学习复杂的图像编辑技术,只需几步操作就能去除图片上的水印。该软件强调无毒安全,这意味着它可以放心下载和使用,不必担心潜在的恶意软件风险。同时,其完全...

    一款可以擦除图片水印的小软件

    总的来说,这款名为Inpaint的小型软件提供了一个方便快捷的解决方案,对于那些希望去除图片水印但又不想投入大量时间和精力学习复杂图像编辑软件的用户来说,无疑是一个理想的选择。其高效能、易用性以及对图像质量...

Global site tag (gtag.js) - Google Analytics