运行一个句柄打开的文件(c++ winapi)



我在我的c++应用程序中包含了一个exe文件作为资源,我需要运行它,但我需要限制它的访问权限,所以用户不能复制它。我需要保持它的句柄打开,所以外部程序不能访问它,因为我使用FILE_FLAG_DELETE_ON_CLOSE作为标志,所以如果我的应用程序被杀死,它会删除。

但正因为如此,我不能运行它与CreateProcess()或WinExec()。我知道这听起来很奇怪,但我有充分的理由。我需要这些来保护游戏的可执行文件免受dll注入作弊,我没有那个exe的代码。

由于无法锁定整个文件,因此可以使用LockFile锁定非常小的一部分。您需要找到Windows不使用的字节范围。您可以通过向EXE添加虚拟资源来实现这一点。(不需要源代码)

最新更新