SepInitSystemDacls
VOID __stdcall SepInitSystemDacls(){
int v0;
int v1;
unsigned int v2;
int v3;
int v4;
unsigned int v5;
int v6;
unsigned int v7;
unsigned int v8;
unsigned int v9;
unsigned int v10;
unsigned int v11;
UINT64 v12;
_ACL *v13;
UINT64 v14;
_ACL v15;
_ACL *v16;
UINT64 v17;
UINT64 v18;
UINT64 v19;
_ACL *v20;
UINT64 v21;
UINT64 v22;
UINT64 v23;
UINT64 v24;
UINT64 v25;
VOID *v26;
_ACL *v27;
VOID *v28;
VOID *v29;
VOID *v30;
UINT64 v31;
void *v32;
void *AccessMask;
_ACL *v34;
PACL Dacl;
unsigned int AclLength;
_ACL *AclLengtha;
_ACL *v38;
_ACL *Acl;
PACL Acla;
_ACL *v41;
v0 = *((unsigned __int8 *)SeAliasAdminsSid + 1);
v1 = *((unsigned __int8 *)SeLocalSystemSid + 1);
v2 = 4 * (v1 + v0) + 48;
v3 = *((unsigned __int8 *)SeWorldSid + 1);
v4 = *(unsigned __int8 *)(*(_QWORD *)&SeRestrictedSid + 1i64);
v5 = v2 + 4 * v3 + 20;
v6 = *((unsigned __int8 *)SeLocalServiceSid + 1);
v7 = v5 + 4 * v4 + 20;
AclLength = v7;
v8 = 4 * (v0 + v1 + v6 + v3) + 88;
v9 = 4 * (v0 + v1 + *((unsigned __int8 *)SeOwnerRightsSid + 1)) + 68;
v10 = v9
+ 4
* (v4
+ 25
+ *((unsigned __int8 *)SeAllAppPackagesSid + 1)
+ v6
+ *((unsigned __int8 *)SeServiceSid + 1)
+ *((unsigned __int8 *)SeNetworkServiceSid + 1));
v11 = 4 * *((unsigned __int8 *)SeMediumMandatorySid + 1) + 28;
SePublicDefaultDacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v5, 1665230163i64);
SePublicDefaultUnrestrictedDacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v7, 1665230163i64);
SePublicOpenDacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v5, 1665230163i64);
SePublicOpenUnrestrictedDacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v7, 1665230163i64);
SeSystemDefaultDacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v2, 1665230163i64);
SeLocalServicePublicDacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v8, 1665230163i64);
SeAtomDacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v7, 1665230163i64);
SepDefaultCapeDacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v9, 1665230163i64);
SepDefaultRecoveryCapeDacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v10, 1665230163i64);
SeMediumSacl = (PACL)ExAllocatePoolWithTag(0x11ui64, v11, 1665230163i64);
RtlCreateAcl(SePublicDefaultDacl, (_ACL)v5, 2ui64, v12);
v13 = SePublicDefaultUnrestrictedDacl;
Dacl = SePublicDefaultUnrestrictedDacl;
RtlCreateAcl(SePublicDefaultUnrestrictedDacl, (_ACL)AclLength, 2ui64, v14);
v15 = (_ACL)v5;
v16 = SePublicOpenDacl;
v34 = SePublicOpenDacl;
RtlCreateAcl(SePublicOpenDacl, v15, 2ui64, v17);
Acl = SePublicOpenUnrestrictedDacl;
RtlCreateAcl(SePublicOpenUnrestrictedDacl, (_ACL)AclLength, 2ui64, v18);
RtlCreateAcl(SeSystemDefaultDacl, (_ACL)v2, 2ui64, v19);
v20 = SeLocalServicePublicDacl;
RtlCreateAcl(SeLocalServicePublicDacl, (_ACL)v8, 2ui64, v21);
v41 = SeAtomDacl;
RtlCreateAcl(SeAtomDacl, (_ACL)AclLength, 2ui64, v22);
AclLengtha = SepDefaultCapeDacl;
RtlCreateAcl(SepDefaultCapeDacl, (_ACL)v9, 2ui64, v23);
v38 = SepDefaultRecoveryCapeDacl;
RtlCreateAcl(SepDefaultRecoveryCapeDacl, (_ACL)v10, 2ui64, v24);
RtlCreateAcl(SeMediumSacl, (_ACL)v11, 2ui64, v25);
v26 = SeWorldSid;
RtlAddAccessAllowedAce(SePublicDefaultDacl, 2ui64, 0x20000000, SeWorldSid);
RtlAddAccessAllowedAce(v13, 2ui64, 0x20000000, v26);
RtlAddAccessAllowedAce(v16, 2ui64, -536870912, v26);
v27 = Acl;
RtlAddAccessAllowedAce(Acl, 2ui64, -536870912, v26);
RtlAddAccessAllowedAce(v20, 2ui64, 0x20000000, v26);
RtlAddAccessAllowedAce(v41, 2ui64, 0x20000, v26);
v28 = SeLocalSystemSid;
Acla = (PACL)SeLocalSystemSid;
RtlAddAccessAllowedAce(SePublicDefaultDacl, 2ui64, 0x10000000, SeLocalSystemSid);
RtlAddAccessAllowedAce(v13, 2ui64, 0x10000000, v28);
RtlAddAccessAllowedAce(v16, 2ui64, 0x10000000, v28);
RtlAddAccessAllowedAce(v27, 2ui64, 0x10000000, v28);
RtlAddAccessAllowedAce(SeSystemDefaultDacl, 2ui64, 0x10000000, v28);
RtlAddAccessAllowedAce(v20, 2ui64, 0x10000000, v28);
RtlAddAccessAllowedAce(v41, 2ui64, 2031616, v28);
v29 = SeAliasAdminsSid;
RtlAddAccessAllowedAce(SePublicDefaultDacl, 2ui64, 0x10000000, SeAliasAdminsSid);
RtlAddAccessAllowedAce(v13, 2ui64, 0x10000000, v29);
RtlAddAccessAllowedAce(v34, 2ui64, 0x10000000, v29);
RtlAddAccessAllowedAce(v27, 2ui64, 0x10000000, v29);
RtlAddAccessAllowedAce(SeSystemDefaultDacl, 2ui64, -1610481664, v29);
RtlAddAccessAllowedAce(v20, 2ui64, 0x10000000, v29);
RtlAddAccessAllowedAce(v41, 2ui64, 2031616, v29);
v30 = *(VOID **)&SeRestrictedSid;
RtlAddAccessAllowedAce(v13, 2ui64, 0x20000000, *(VOID **)&SeRestrictedSid);
RtlAddAccessAllowedAce(v27, 2ui64, -1610612736, v30);
RtlAddAccessAllowedAce(v41, 2ui64, 0x20000, v30);
RtlAddAccessAllowedAce(v20, 2ui64, 0x10000000, SeLocalServiceSid);
RtlAddAccessAllowedAce(AclLengtha, 2ui64, 0x1FFFFF, v28);
RtlAddAccessAllowedAce(AclLengtha, 2ui64, 0x1FFFFF, v29);
RtlAddAccessAllowedAce(AclLengtha, 2ui64, 0, SeOwnerRightsSid);
RtlAddAccessAllowedAce(v38, 2ui64, 0x1FFFFF, v28);
RtlAddAccessAllowedAce(v38, 2ui64, 0x1FFFFF, v29);
RtlAddAccessAllowedAce(v38, 2ui64, 0, SeOwnerRightsSid);
RtlAddAccessAllowedAce(v38, 2ui64, 0x1FFFFF, SeLocalServiceSid);
RtlAddAccessAllowedAce(v38, 2ui64, 0x1FFFFF, SeNetworkServiceSid);
RtlAddAccessAllowedAce(v38, 2ui64, 0x1FFFFF, v30);
RtlAddAccessAllowedAce(v38, 2ui64, 0x1FFFFF, SeServiceSid);
RtlAddAccessAllowedAce(v38, 2ui64, 1179817, SeAllAppPackagesSid);
LODWORD(AccessMask) = 2;
RtlAddMandatoryAce(SeMediumSacl, v31, 0i64, (UINT64)SeMediumMandatorySid, v32, AccessMask);
SePublicDefaultSd = (__int64)&SepPublicDefaultSd;
RtlCreateSecurityDescriptor(&SepPublicDefaultSd, 1ui64);
RtlSetDaclSecurityDescriptor(&SepPublicDefaultSd, 1u, SePublicDefaultDacl, 0);
SePublicDefaultUnrestrictedSd = (__int64)&SepPublicDefaultUnrestrictedSd;
RtlCreateSecurityDescriptor(&SepPublicDefaultUnrestrictedSd, 1ui64);
RtlSetDaclSecurityDescriptor(&SepPublicDefaultUnrestrictedSd, 1u, Dacl, 0);
SePublicOpenSd = (__int64)&SepPublicOpenSd;
RtlCreateSecurityDescriptor(&SepPublicOpenSd, 1ui64);
RtlSetDaclSecurityDescriptor(&SepPublicOpenSd, 1u, v34, 0);
SePublicOpenUnrestrictedSd = (__int64)&SepPublicOpenUnrestrictedSd;
RtlCreateSecurityDescriptor(&SepPublicOpenUnrestrictedSd, 1ui64);
RtlSetDaclSecurityDescriptor(&SepPublicOpenUnrestrictedSd, 1u, v27, 0);
SeSystemDefaultSd = &SepSystemDefaultSd;
RtlCreateSecurityDescriptor(&SepSystemDefaultSd, 1ui64);
RtlSetDaclSecurityDescriptor(SeSystemDefaultSd, 1u, SeSystemDefaultDacl, 0);
SeLocalServicePublicSd = (__int64)&SepLocalServicePublicSd;
RtlCreateSecurityDescriptor(&SepLocalServicePublicSd, 1ui64);
RtlSetDaclSecurityDescriptor(&SepLocalServicePublicSd, 1u, v20, 0);
SeAtomSd = &SepAtomSd;
RtlCreateSecurityDescriptor(&SepAtomSd, 1ui64);
RtlSetDaclSecurityDescriptor(&SepAtomSd, 1u, v41, 0);
SeDefaultCapeSd = (__int64)&SepDefaultCapeSd;
RtlCreateSecurityDescriptor(&SepDefaultCapeSd, 1ui64);
RtlSetDaclSecurityDescriptor(&SepDefaultCapeSd, 1u, AclLengtha, 0);
RtlSetOwnerSecurityDescriptor(&SepDefaultCapeSd, Acla, 0);
RtlSetGroupSecurityDescriptor(&SepDefaultCapeSd, Acla, 0);
SeDefaultRecoveryCapeSd = (__int64)&SepDefaultRecoveryCapeSd;
RtlCreateSecurityDescriptor(&SepDefaultRecoveryCapeSd, 1ui64);
RtlSetDaclSecurityDescriptor(&SepDefaultRecoveryCapeSd, 1u, v38, 0);
RtlSetOwnerSecurityDescriptor(&SepDefaultRecoveryCapeSd, Acla, 0);
RtlSetGroupSecurityDescriptor(&SepDefaultRecoveryCapeSd, Acla, 0);
SeNullDaclSd = &SepNullDaclSd;
RtlCreateSecurityDescriptor(&SepNullDaclSd, 1ui64);
SeMediumDaclSd = &SepMediumDaclSd;
RtlCreateSecurityDescriptor(&SepMediumDaclSd, 1ui64);
RtlSetSaclSecurityDescriptor(&SepMediumDaclSd, 1u, SeMediumSacl, 0);
RtlSetOwnerSecurityDescriptor(&SepMediumDaclSd, Acla, 0);
RtlSetGroupSecurityDescriptor(&SepMediumDaclSd, Acla, 0);
}Referenced by:
SepVariableInitialization