Skip to content

Commit ae0de7e

Browse files
committed
Improve token capability RID guid lookup
1 parent f2ba0eb commit ae0de7e

File tree

1 file changed

+29
-18
lines changed

1 file changed

+29
-18
lines changed

ProcessHacker/tokprp.c

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2177,24 +2177,24 @@ BOOLEAN PhpAddTokenCapabilities(
21772177
else if (subAuthoritiesCount == SECURITY_CAPABILITY_RID_COUNT)
21782178
{
21792179
PPH_STRING capabilityName;
2180-
GUID capabilityGuid;
2181-
ULONG firstPart;
2182-
ULONG secondPart;
2183-
ULONG thirdPart;
2184-
ULONG lastPart;
2185-
2186-
firstPart = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 1);
2187-
secondPart = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 2);
2188-
thirdPart = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 3);
2189-
lastPart = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 4);
2190-
2191-
capabilityGuid.Data1 = firstPart;
2192-
capabilityGuid.Data2 = LOWORD(secondPart);
2193-
capabilityGuid.Data3 = HIWORD(secondPart);
2194-
*((PULONG)&capabilityGuid.Data4[0]) = thirdPart;
2195-
*((PULONG)&capabilityGuid.Data4[4]) = lastPart;
2196-
2197-
if (name = PhFormatGuid(&capabilityGuid))
2180+
union
2181+
{
2182+
GUID Guid;
2183+
struct
2184+
{
2185+
ULONG Data1;
2186+
ULONG Data2;
2187+
ULONG Data3;
2188+
ULONG Data4;
2189+
};
2190+
} capabilityGuid;
2191+
2192+
capabilityGuid.Data1 = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 1);
2193+
capabilityGuid.Data2 = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 2);
2194+
capabilityGuid.Data3 = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 3);
2195+
capabilityGuid.Data4 = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 4);
2196+
2197+
if (name = PhFormatGuid(&capabilityGuid.Guid))
21982198
{
21992199
PhpAddAttributeNode(&TokenPageContext->CapsTreeContext, node, PhFormatString(L"Guid: %s", PhGetString(name)));
22002200

@@ -2206,6 +2206,17 @@ BOOLEAN PhpAddTokenCapabilities(
22062206

22072207
PhDereferenceObject(name);
22082208
}
2209+
2210+
//ULONG firstPart = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 1);
2211+
//ULONG secondPart = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 2);
2212+
//ULONG thirdPart = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 3);
2213+
//ULONG lastPart = *RtlSubAuthoritySid(TokenPageContext->Capabilities->Groups[i].Sid, 4);
2214+
//GUID capabilityGuid;
2215+
//capabilityGuid.Data1 = firstPart;
2216+
//capabilityGuid.Data2 = LOWORD(secondPart);
2217+
//capabilityGuid.Data3 = HIWORD(secondPart);
2218+
//*((PULONG)&capabilityGuid.Data4[0]) = thirdPart;
2219+
//*((PULONG)&capabilityGuid.Data4[4]) = lastPart;
22092220
}
22102221
}
22112222
}

0 commit comments

Comments
 (0)