我正试图从一个低完整性的过程中创建一个新的命名突变体。此代码在高完整性过程中工作很好,但在低完整性和中等完整性上却失败。
RtlInitUnicodeString(&Name, L"\\MutantName");
InitializeObjectAttributes(&Attr, &Name, OBJ_INHERIT | OBJ_OPENIF, NULL, NULL);
NTStatus = NtCreateMutant(&Mutant, MUTANT_ALL_ACCESS, &Attr, 0);我要去接NTStatus = ERROR_ACCESS_DENIED (0xc0000022)了。
是否有可能从一个低完整性的过程中产生一个突变体?如果是-有人知道我做错了什么吗?谢谢!
发布于 2017-05-11 17:17:43
低完整性进程只能在具有低强制性标签的对象目录中创建对象。根对象目录没有此标签。\BaseNamedObjects是这样做的,因此您可以从低完整性过程中创建您的突变体:
RtlInitUnicodeString(&Name, L"\\BaseNamedObjects\\MutantName");https://stackoverflow.com/questions/43921561
复制相似问题