问题 制作一张CD [关闭]


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

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

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

还有其他想法吗?


4136
2017-09-03 18:11


起源

如果您的参与者可以访问互联网,这可能正是您想要的。 http://www.destructingmessage.com - qwertyuu
我们目前根本没有任何内容。我的另一个想法是USB驱动器上的Silverlight / Flash应用程序,但CD更便宜。 - Nathan DeWitt


答案:


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

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

替代方案可能是Flash相当于cookie,但如果脚本被锁定,那么Flash也可能如此。


3
2017-09-03 18:15





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

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


3
2017-09-03 18:48



锌是350美元。我正在寻找简单便宜的东西。对不起,我之前没有提到过。如果我制作Flash应用程序,我不能在OS X,Win和Linux的CD上包含运行时或其他内容吗? - Nathan DeWitt


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

这需要网络访问和一些加密工具,但是一个非常简单的实现可以做你想做的事情,是可行的,并且除非捕获和存储一个时间垫,否则它将是“牢不可破的”。

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


2
2017-09-03 18:28



这是一个好主意,但我不认为人们会有互联网连接。这就像一场寻宝游戏......他们会在外面走来走去。 - Nathan DeWitt


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

看看REG_OPTION_VOLATILE 这里


2
2017-09-08 01:48



我无法控制将运行的平台,因此它可能是OSX,Vista,Linux等。我可能无法完成编写这样的多平台应用程序的任务(Java能够做到这一点吗? ) - Nathan DeWitt


运行的计算机是否可以访问互联网?您可以轻松加载远程URL(执行'开始 http://yoururl.com'from autorun.inf),存储cookie并防止cookie存在时再次加载。


1
2017-09-03 18:26



可能没有互联网接入。我会证实这一点。如果他们有互联网,那么我可以创建一个网站并控制谁可以通过这种方式看到它,也许是通过给他们一个独特的代码或其他东西。这是一个益智活动,所以我可以完全生成一些GUID然后让它们输入以查看内容。在服务器端,我只能允许GUID查看一次内容。 - Nathan DeWitt


如果它被允许被黑客攻击,那么我只需要一个简单的HTML + JavaScript解决方案,需要(比方说)一个GUID进入,在代码中进行一些愚蠢的混淆以验证GUID。

我的意思是愚蠢的混淆验证就像把一大堆ROT13的GUID放在一起,然后添加代码只接受 Math.floor(PI * E + 32/(new DateTime()).getYear())'数组中的GUID,ROT13再次使用充分未注释/不清楚的代码, 然后 根据结果​​检查用户输入。在一行中完成所有操作,或使用已知种子以某种伪随机方式生成GUID ...您明白了:)。

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


1
2017-09-03 19:50





您也可以设置一个阻止播放的注册表项,但可以绕过它。


1
2017-09-03 19:59



设置注册表标志将此限制为Windows。我怀疑会有很多Mac用户,但可能没有Linux笔记本电脑用户参加此次活动。 - Nathan DeWitt


我认为你最好的选择是使用可重写媒体。您可以轻松地创建应用程序,例如HTML站点或类似的东西,并且在最后一个链接或最后一页之后,无论您决定如何执行脚本,都可以使用某些命令行刻录机来擦除可擦写介质,甚至可以写入您使用文本文件或闪存保存在CD中的ISO,说明CD永远丢失。

看看一些命令行燃烧器。对于可以使用的Windows,Linux有几个,这里不值得一提 猎豹CommandLine燃烧器 其中几个。

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

此外,您还可以为小型HTTP服务器提供多种选择,例如lighthttpd甚至是从文本界面到图形界面的多种浏览器。

祝你好运:D。好主意BTW!


1
2017-09-04 18:52



CD-RW上的自毁可执行文件非常棒!应用程序可以自动访问CD刻录机吗? - Nathan DeWitt


制作Java Swing应用程序。这不需要Internet,它可以在Mac,Windows和Linux上运行。您可以写入锁定的文件系统。 System.getProperty( “的user.home”) 为您提供平台的家庭等价物。您可能需要在CD中包含jre。


1
2017-09-06 18:40





不是你想要的,但是你可以放入可重写的媒体并且可执行覆盖本身(或其自身的一部分)。

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


0
2017-09-03 18:17



我们目前根本没有任何内容。我的另一个想法是USB驱动器上的Silverlight / Flash应用程序,但CD更便宜。 CD-RW上的自毁可执行文件非常棒!应用程序可以自动访问CD刻录机吗? - Nathan DeWitt