【问题标题】:Copy Protection Scheme复制保护计划
【发布时间】:2011-07-02 20:10:33
【问题描述】:

我想为我的程序创建一些简单的复制保护,我希望我的程序只能从原始只读光盘 (CD/DVD) 运行,我的问题是:

  1. 我可以对照我的程序检查每种光学介质的唯一编号吗?
  2. 是否有一种简单的方法(或 C++ sn-ps)以编程方式检查我的程序是否从光盘而不是可写磁盘启动?
  3. 是否有任何你知道我可以使用的复制保护方案,但我更喜欢最终用户不需要输入任何序列号,不需要互联网访问或使用一些 USB 加密狗。

【问题讨论】:

  • 投票迁移到 Programmers.SE,但我认为那里是重复的,结果是,作为某人 想要 被破解的一切,这不值得被破解。
  • 我认为 CSS 的源代码是公开的,这是一种成功的 DVD 内容复制保护和收入保证机制。你应该实现它!
  • 它不需要,我也不想制作不可破解的软件,这只是客户对我们要求规范的一种形式。
  • 仅仅因为您不喜欢 DRM 并不意味着这是一个坏问题。我认为这是一个有效的问题,它具有潜在的真实答案,可以指向图书馆做 DRM 的形式(我个人不知道,但我想知道)。 +1 抵消 -1
  • uray,真正的答案是Content Scramble System,它是DVD 复制保护已被破解,今天相当无用。

标签: c++ media copy-protection dvd dongle


【解决方案1】:

没有。您没有指定操作系统,但我知道没有一种常用的操作系统可以将虚拟内存中的代码状态与启动它的介质联系起来。一旦你的程序开始运行,“它从哪里启动”的整个概念通常都没有明确定义。

您标记了“加密狗”。需要 USB 密钥或某些特定媒体是可能的,但您不能保证代码是从它启动的。

【讨论】:

  • 哇,根本没有办法检测 CD 是否存在?男人 somone 应该告诉SecureRom的伙计们@
  • 我不想使用加密狗,请问有没有关于 dvd 的信息,例如我可以查看的卷 ID、媒体序列号?
  • @scott:检测 CD 是否存在的机制会很有用,知道如何在 C++ 中做到这一点,或者是否有任何库?
  • @Scott:我想 DaemonTools 的人已经告诉他们了 :-)
  • @scott。读我写的。 “某些特定媒体”包括 CD。
【解决方案2】:

简答:“否”,加长回答,为了能够运行您的程序,计算机必须全部阅读。没有简单有效的方法可以将程序绑定到该物理磁盘。

【讨论】:

  • 是的,当然需要读取,但是我的程序不需要写入磁盘,这就是为什么我需要检查我的程序是否从只读媒体运行
  • 是的,您可以这样做,但您不能说他们只是复制了 CD 或从 ISO 映像运行。担心这一点没有什么意义,大型游戏公司要么要求用户在启动程序(starcraft2、steam 等)时通过他们的服务器进行身份验证,要么就不用费心了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 2014-05-16
相关资源
最近更新 更多