首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序中的“水印”是如何工作的?

应用程序中的“水印”是如何工作的?
EN

Stack Overflow用户
提问于 2011-07-23 09:22:30
回答 1查看 1.9K关注 0票数 5

我所说的水印是指:以某种方式集成到.exe / .dll文件中的字节数组,可供搜索。许多反盗版/反反向工程程序都包含一个称为“水印”的系统作为一个特征。例如VMProtect。

这是怎么回事?如果有人要破解和/或复制受保护的二进制文件,究竟是什么阻止了他删除水印。这个想法是,作为你的软件的创建者,你可以下载你自己程序的盗版副本,然后你就可以知道到底是谁泄露/上传了这个副本。究竟是什么阻止了攻击者只扫描水印并将其删除?

这个问题的第二部分:据说一个水印被(或应该被)多次包含在二进制文件中不同的随机位置。显然,它们不是完全随机的。因为这将以与损坏硬盘驱动器相同的方式损坏二进制文件。程序不能仅仅用水印覆盖二进制代码,这是肯定的。保护程序如何在二进制文件的不同(和随机)位置包含水印?这些位置是如何选择的?

第三部分:假设我有一个带水印的二进制文件。保护程序稍后将如何扫描水印。它是如何再次找到水印的?

另外,如何在水印中包含信息(一个小字符串,用于标识副本的原始所有者)?信息以某种方式加密到水印中了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-23 09:29:32

我不知道你的目标是什么但是:

数字水印(

)正如您所描述的那样,将一些独特的字节序列放入二进制水印中,字节序列mst要小心插入,以免使二进制文件不可用(取决于二进制文件的类型-即.NET或.jar或原生.EXE等)

  • 字节序列必须使得任何不熟悉此特定水印系统的人都很难识别(例如,您可以使用某种类型的水印,这使得在破解
  • 保护程序时很难删除水印可以扫描水印,因为它知道用于watermarking
  • you的算法和密钥可以包含水印中的任何内容(取决于算法)……水印软件应该在将其放入水印之前以某种方式对其进行加密(它甚至可以只将散列放入二进制而不是真实信息中,并且仍然能够识别它)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6797653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档