-1

问题是我需要在 2 个程序之间共享文件,但我不希望计算机用户和除这 2 个程序之外的其他程序可以访问这些文件。所以文件的流程是这样的:程序 A(我将自己编码)从互联网上接收一个文件并将其放在计算机上的某个位置。然后程序 A 调用程序 B(我没有编码也无法更改)。程序 B 读取下载的文件并用它做一些事情并生成另一个文件,程序 B 也将其放在计算机的某个位置。然后程序 A 读取该文件并将其上传到互联网。

我发现 我认为 Windows Sandbox 可能很有趣,但 Windows Sandbox 的问题在于它仅适用于 windows 10 pro 和 windows 11,并且它是虚拟化的,性能对于程序 B 非常重要......所以任何虚拟化软件都不是很有用,除非它接近原生性能。

对于 Linux,我发现了 FreeBSD 监狱。但这似乎更侧重于保持监狱中的应用程序禁止访问监狱外的文件,而不是禁止监狱外的程序读取和写入监狱中的文件。所以实际上我需要相反的...

另一个有趣的概念是像 Linux 中的 mmap 一样将文件保存在 RAM 中,但是由于我无法更改程序 B,所以我不知道如何实现它。是否有某种容器应用程序可以封装程序 B 的 IO 并将其重定向到 RAM 中的文件?

有人有什么建议吗?谢谢!

4

1 回答 1

1

如果您将文件存储在他们的磁盘上,您无法真正阻止计算机的用户/所有者读取文件。您可以尝试使访问内容变得更加困难(这就是 DRM 所做的),但最终,只要有足够的动力和资源,用户总是可以绕过您的控制。即使您将文件纯粹存储在 RAM 中,具有管理权限的用户也可以转储程序的内存,并从那里提取文件。

于 2022-01-07T21:02:42.497 回答