我正在尝试了解 App-V 这样的软件和沙盒 ( http://www.sandboxie.com/ ) 工作。但就我的生活而言,我想不出任何可以使这成为可能的事情。他们如何拦截 API 调用并欺骗目标软件?如果有人说这只是魔法和仙尘,我会相信他们。说真的,有没有讨论这个问题的解决方案的白皮书?
如果这在 CLR 级别上是可能的,那会很好,但如果必须的话,我愿意使用本地语言。
最佳答案
Sandboxie 通过本质上将代码注入(inject)核心 Windows API 来实现,就像病毒一样(这就是 Vista x64 阻止这种行为的原因,也是 Sandboxie 无法在该操作系统上运行的原因)。
Here是一个解释 API Hook 的项目。我通过研究 Metamod:Source 的源代码了解了所有这些工作原理。 (用于 CounterStrike:Source 的 SourceMod :) )
关于c# - 应用程序虚拟化是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2699411/