我的谷歌搜索导致我到这里:How to create a virtual file? 在那篇文章中,人们建议作者将文件解压到一个临时目录并从那里使用它。创建一个“虚拟”文件并执行它
实际上,我想要做的是类似于作者最初要求的东西 - 创建一个“虚拟”文件并为其分配一个“路径”,以便其他应用程序可以通过调用标准窗口来理解文件系统API。这样做的目的是为了防止复制和未经授权的使用。
的我想要做一个什么概念:
在我们公司,我们已经制定了一项计划 - 但它不是一个标准EXE应用程序,它有一个内部格式(让我们假设“应用”格式的扩展是.MDL)并且由运行时环境执行,所以运行时必须安装在客户机上。这个概念类似于Java(尽管这不是Java;只是比较,以便您可以更好地理解)。我现在想要做的是加密这个.MDL文件,并将其作为一个资源包含在常规的.exe文件中。这个.exe文件将检查是否运行okey(检查许可证条件,密钥,授权等),然后如果通过验证,解密并解压缩.MDL文件,执行运行时并传递.MDL的虚拟路径文件作为运行时的参数。 由于显而易见的原因,我不想将解密后的.mdl文件写在磁盘上的某处,因为有人可以启动应用程序,等待解密器将.MDL写入临时文件,将其从临时文件复制并分发。
那么,任何想法如何做到这一点? PS:我从EA游戏的游戏获得灵感......当你运行它们并查看你的进程表时,你会看到一个常规游戏的EXE文件,并且在一段时间后,它会产生一个名为“A003”的新进程.tmp
你意识到这不会阻止任何真正想破坏你的程序的人,对吧? – 2010-01-28 20:39:59
是的..解决方案是将其写入“内存”,但这并不能真正阻止超级用户找到解密的数据并将其保存在某处。 – mlathe 2010-01-28 21:30:09