SepGetDefaultsSubjectContext
VOID __fastcall SepGetDefaultsSubjectContext(
_SECURITY_SUBJECT_CONTEXT *SubjectContext,
VOID **Owner,
VOID **Group,
VOID **ServerOwner,
VOID **ServerGroup,
VOID **IntegrityLabel,
VOID **TrustLabel,
_ACL **Dacl){
unsigned int *ClientToken;
unsigned int *PrimaryToken;
VOID *v11;
_ACL *v12;
VOID **TokenIntegrity;
SECURITY_SUBJECT_CONTEXT *v14;
VOID *v15;
ClientToken = (unsigned int *)SubjectContext->ClientToken;
PrimaryToken = (unsigned int *)SubjectContext->PrimaryToken;
if( !ClientToken )
ClientToken = (unsigned int *)SubjectContext->PrimaryToken;
v11 = (VOID *)*((_QWORD *)ClientToken + 21);
*Owner = *(VOID **)(*((_QWORD *)ClientToken + 19) + 16i64 * ClientToken[36]);
v12 = (_ACL *)*((_QWORD *)ClientToken + 23);
*Group = v11;
*Dacl = v12;
*ServerOwner = *(VOID **)(*((_QWORD *)PrimaryToken + 19) + 16i64 * PrimaryToken[36]);
*ServerGroup = (VOID *)*((_QWORD *)PrimaryToken + 21);
TokenIntegrity = (VOID **)SepLocateTokenIntegrity((INT64)ClientToken);
if( TokenIntegrity )
*IntegrityLabel = *TokenIntegrity;
else
*IntegrityLabel = SepDefaultMandatorySid;
LODWORD(v15) = SepLocateTokenTrustLevel(v14);
*TrustLabel = v15;
}Referenced by:
RtlpSetSecurityObject