13

我们正在举办“惊人的比赛”类型的活动,并认为拥有只能播放一次的 CD 会很酷……就像“这条消息将在 5 秒内自毁……”

关于如何做到这一点的任何想法?我在想它可能是一个编译好的 HTML 网站,它会编写一个 cookie 并且只播放一次。我不想写入注册表(不想依赖 Windows,不想安装任何东西等)。

我也不在乎它是否可以破解......这是一次有趣的活动,我不太关心人们是否可以删除cookie或其他东西。

还有其他想法吗?

4

10 回答 10

4

如果内容是 HTML 并且在普通浏览器窗口中运行,那么 cookie 可能会起作用,但有一些警告:

  • 当 IE 为默认浏览器时,用户运行 CD 一次。用户稍后运行,此时 Firefox 是默认浏览器,因此无法检查 cookie。
  • 浏览器的安全设置可能被锁定以防止使用脚本,因此无法设置 cookie(更多的是 IE 问题)。

另一种方法可能是 Flash 的 cookie 等价物,但如果脚本被锁定,那么 Flash 可能也是如此。

于 2008-09-03T18:15:49.140 回答
4

如果您使用 Flash 创建内容,则可以使用Zinc等包装程序来生成内容的跨平台可执行文件。

然后,Flash 可以使用它的 cookie 版本(本地共享对象)来确定内容何时显示 - 第一次写入 LSO,然后从它读取。

于 2008-09-03T18:48:20.933 回答
3

我会说使用唯一的一次性键盘加密(部分)光盘的内容,您向服务器请求,该服务器直接读取,然后删除解密密钥。你可以在每个磁盘上写一个标识符,这样你就可以使用多个磁盘,每个磁盘都有一个唯一的密钥。

这需要网络访问和一些加密工具,但是一个非常简单的实现会做你想做的事,是可行的,而且除非一次性密码被捕获和存储,否则它将是“牢不可破的”。

如果只是为了好玩,这应该足够安全。

于 2008-09-03T18:28:52.573 回答
3

您可以创建易失性注册表项。它只会在计算机重新启动之前存在。该解决方案非常“可破解”,但它很简单,可能足以满足您的需求。

看看这里的 REG_OPTION_VOLATILE 。

于 2008-09-08T01:48:27.940 回答
2

制作一个 Java Swing 应用程序。这不需要互联网,它可以在 Mac、Windows 和 Linux 上运行。您可以写入文件系统以获取锁。System.getProperty("user.home")为您提供平台的 home 等效项。您可能必须在您的 CD 中包含一个 jre。

于 2008-09-06T18:40:49.660 回答
2

如果它被允许被破解,那么我只会使用 HTML + JavaScript 的简单解决方案,需要(比如)输入 GUID,并在代码中进行一些愚蠢的混淆来验证 GUID。

我所说的愚蠢的混淆验证是指将一大堆 ROT13 的 GUID 放在一起,然后添加代码以仅接受Math.floor(PI * E + 32/(new DateTime()).getYear())数组中的第 ' 个 GUID,然后使用足够未注释/不清楚的代码再次 ROT13,然后检查用户输入反对结果。在一行中完成所有操作,或者使用已知种子以某种伪随机方式生成 GUID……你明白了 :)。

唯一的障碍可能是 IE 不允许本地 JavaScript?嗯,看起来他们需要处理 InfoBar 的事情 :(。

于 2008-09-03T19:50:12.627 回答
2

您还可以设置一个阻止播放的注册表项,尽管这可以被绕过。

于 2008-09-03T19:59:52.167 回答
2

运行此程序的计算机是否可以访问 Internet?您可以轻松加载远程 url(从 autorun.inf 执行 'start http://yoururl.com '),存储 cookie 并防止在 cookie 存在时再次加载它。

于 2008-09-03T18:26:22.297 回答
2

我认为您最好的选择是为此使用可重写媒体。您可以轻松地创建应用程序,例如 HTML 站点或类似的东西,并且在最后一个链接或最后一页之后,但是您决定这样做,您可以使用一些命令行刻录机执行脚本,该脚本将擦除可重写媒体,甚至编写保存在 CD 中的 ISO,带有文本文件或闪存,说明 CD 已永久丢失。

看看一些命令行燃烧器。Linux 有几个,这里不值一提,对于 Windows,你可以使用Cheetah CommandLine Burner等等。

如果您希望在不依赖已安装的操作系统的情况下制作 CD,您应该查看 LIVE CD。FreeDOS 是“DOS 兼容应用程序”的选择,或者我建议您使用Linux live CD

此外,对于小型 HTTP 服务器,您将有多种选择,例如 lighthttpd,甚至还有多种风格的浏览器,从文本界面到图形界面。

祝你比赛好运:D。好主意顺便说一句!

于 2008-09-04T18:52:12.057 回答
1

不完全是您正在寻找的东西,但您可以放入可重写媒体并让可执行文件覆盖自身(或自身的一部分)。

我不知道 CD-RW 是否可以自动执行此操作,或者您是否必须查看便宜的 USB 记忆棒。

于 2008-09-03T18:17:50.493 回答