水印我的意思是: 一个字节数组,以某种方式集成到.exe / .dll文件中,可以搜索。 许多反盗版/反向逆向工程程序包括称为“水印”的系统作为特色。例如VMProtect。
这是如何工作的? 如果有人要破解和/或复制受保护的二进制文件,究竟是什么阻止他只删除水印。 我们的想法是,作为您软件的创建者,您可以下载自己程序的盗版副本,然后您就可以看到谁正确泄露/上传了此副本。 究竟是什么阻止攻击者只扫描水印并删除它们?
这个问题的第二部分: 据说在二进制中的不同随机位置处(或应该)多次包括水印。 显然他们并非完全随机。因为这会以有缺陷的硬盘驱动器的方式损坏二进制文件。 该程序不能只用水印覆盖二进制文件中的代码,这是肯定的。 保护程序如何在二进制文件中的不同(和随机)位置包含水印? 这些地点如何选择?
第三部分: 假设我有一个水印二进制文件。 保护程序将如何扫描水印。它是如何再次找到水印的?
此外,如何在水印中包含信息(一个小字符串,标识副本的原始所有者)?信息是否以某种方式加密到水印中?
答案 0 :(得分:1)
我不知道你的目标是什么,但是: