有没有办法伪造文件的文件SISTEM或写一个文件,该文件只看到我的EXE文件(Is there a

2019-07-29 02:14发布

好吧,我写的,并且使用Adobe的ActiveX控件显示PDF文件的应用程序。

的Adobe ActiveX控件加载只能从文件系统的文件。 所以我NEAD养活一个文件路径这种控制。

问题是,我不希望PDF文件存储文件系统上。 事件暂时的! 我wan't到我的PDF文件只保存在内存中 ,我想使用的Adobe ActiveX控件。

所以我NEAD:

1)的方式来在文件系统上的假文件。 所以这个控制将“思考”,有一个文件,但会从内存中加载它

2)创建的文件系统,这将是“看得见”到只有一个应用程序上的文件的一种方式,所以我的PDF控制可以加载它,其他用户甚至不会看到它..

3)别的东西

PS:我不要求为“完成我的家庭作业”,我只是问-是有办法做到这一点?

Answer 1:

几乎可以做到这一点(指:不,你不能,但你可以做一些事情,接近)。

创建一个文件FILE_ATTRIBUTE_TEMPORARY 在原则上创建一个文件,暂时的。 但是,只要有足够的缓冲区高速缓存(这通常总是这样除非你的文件是几十到几百兆),系统将不会写入到磁盘 。 这不只是发生的事情accidentially,但这个标志的实际规定的行为。

此外,指定0作为共享模式和FILE_FLAG_DELETE_ON_CLOSE将阻止打开你的文件,只要你把它打开的任何其他程序,即使有人知道它的存在,该文件将“消失”当您关闭它。 即使你的应用程序崩溃时,操作系统会收拾你的身后(DRM是否就是这个原因)。 如果你在超级偏执模式和担心系统蓝色屏蔽,而你的文件存在,你可以另外安排一个悬而未决的举动了。 这会在系统崩溃的情况下,启动过程中删除该文件。

最后,鉴于NTFS,您可以创建一个随机的,preferrably唯一的名称备用流上的任何文件或目录,即使(例如,文档或UUID的SHA1)。 目录上的备用流是......一种讨厌的黑客,但完全合法的,他们的工作只是罚款,而不会出现在资源管理器中。 这不会真正使您的文件不可见,但几乎所以(几乎在每一个实际的方面,反正)。 如果你是一个好公民,你将要使用的系统临时文件夹这样的事情,而不是程序文件夹,或者你不应该写一些其他地方。
创建一个备用流死了也很简单,只需使用普通的文件或目录名,并附加一个冒号( : )和你想要的流的名字。 无需额外的API需要。

除此之外,它变得有点困难。 你当然可以随时创造这样一个ramdisk(将很难隐藏它,虽然),或尝试使用的流从记忆功能之一愚弄应用到从内存缓冲区读取一个文件的指控......但是这不平凡的东西。



Answer 2:

如果有什么需要是一个文件系统上传递到另一个应用程序,你不能把它隐藏/它限制在一定的过程。 凡是您的应用程序可以看到,别的在同一水平privilige也可以看到/访问。 您可以将其锁定,但如何取决于你为什么要防范。

请记住,用户的电脑是他们的,不是你让他们有充分的机会来就可以了一切。



Answer 3:

您可以创建一个虚拟磁盘,仅局限于特定的应用程序访问它。 做这个,你会写一个文件系统驱动程序或文件系统过滤驱动程序。 在内核模式下工作和是棘手的编写和维护。 我们公司提供,让你避免自己编写的驱动程序,并在用户模式下编写业务逻辑(我们提供这些产品的驱动程序)组件。

你最明显的选择是摆脱ADOBE READER的控制和使用显示PDF文件,可以从内存中加载他们一些第三方组件。

但在一般智能黑客将能够捕捉到你的数据,除非你有(一)非标准数据格式,和/或(b)动态流来自服务器的数据,而不是保存在计算机上的完整数据。 这些都不是防弹的解决方案要么,但他们却为黑客的工作更难。



文章来源: Is there a way to fake file on file sistem or Write a file that visible only to my EXE file