Simplified CI definitions

This commit is contained in:
2023-07-03 17:45:57 +02:00
parent ede76264fb
commit 1afdd90b4e
4 changed files with 246 additions and 324 deletions
+42 -42
View File
@@ -20,7 +20,8 @@ DOMITO_CODE_INTEGRITY G_CI = {};
_IRQL_requires_max_(PASSIVE_LEVEL)
PVOID
DomitoCiFreePolicyInfo(
NTAPI
CiFreePolicyInfo(
_Inout_ MINCRYPT_POLICY_INFO* PolicyInfo
)
{
@@ -32,19 +33,18 @@ DomitoCiFreePolicyInfo(
return NULL;
}
_Success_(return == STATUS_SUCCESS)
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
NTSTATUS
DomitoCiCheckSignedFile(
_In_ PVOID Hash,
_In_ UINT32 HashSize,
_In_ ALG_ID HashAlgId,
_In_ PVOID SecurityDirectory,
_In_ UINT32 SizeOfSecurityDirectory,
_Out_ MINCRYPT_POLICY_INFO * PolicyInfo,
_Out_ LARGE_INTEGER * SigningTime,
_Out_ MINCRYPT_POLICY_INFO * TimeStampPolicyInfo
NTAPI
CiCheckSignedFile(
_In_ PVOID Hash,
_In_ UINT32 HashSize,
_In_ ALG_ID HashAlgId,
_In_ PVOID SecurityDirectory,
_In_ UINT32 SizeOfSecurityDirectory,
_Out_ MINCRYPT_POLICY_INFO* PolicyInfo,
_Out_ LARGE_INTEGER* SigningTime,
_Out_ MINCRYPT_POLICY_INFO* TimeStampPolicyInfo
)
{
if (G_CI.CiCheckSignedFile)
@@ -64,21 +64,20 @@ DomitoCiCheckSignedFile(
return STATUS_NOT_IMPLEMENTED;
}
_Success_(return == STATUS_SUCCESS)
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
NTSTATUS
DomitoCiVerifyHashInCatalog(
_In_ PVOID Hash,
_In_ UINT32 HashSize,
_In_ ALG_ID HashAlgId,
_In_ BOOLEAN IsReloadCatalogs,
_In_ UINT32 Always0,
_In_ UINT32 Always2007F,
_Out_ MINCRYPT_POLICY_INFO * PolicyInfo,
_Out_opt_ UNICODE_STRING * CatalogName,
_Out_ LARGE_INTEGER * SigningTime,
_Out_ MINCRYPT_POLICY_INFO * TimeStampPolicyInfo
NTAPI
CiVerifyHashInCatalog(
_In_ PVOID Hash,
_In_ UINT32 HashSize,
_In_ ALG_ID HashAlgId,
_In_ BOOLEAN IsReloadCatalogs,
_In_ UINT32 Always0,
_In_ UINT32 Always2007F,
_Out_ MINCRYPT_POLICY_INFO* PolicyInfo,
_Out_opt_ UNICODE_STRING* CatalogName,
_Out_ LARGE_INTEGER* SigningTime,
_Out_ MINCRYPT_POLICY_INFO* TimeStampPolicyInfo
)
{
if (G_CI.CiVerifyHashInCatalog)
@@ -101,8 +100,9 @@ DomitoCiVerifyHashInCatalog(
}
NTSTATUS
DomitoCiGetCertPublisherName(
_In_ MINCERT_BLOB * Certificate,
NTAPI
CiGetCertPublisherName(
_In_ MINCERT_BLOB* Certificate,
_In_ PMINCRYPT_ALLOCATE_ROUTINE AllocateRoutine,
_Out_ PUNICODE_STRING PublisherName
)
@@ -120,7 +120,8 @@ DomitoCiGetCertPublisherName(
}
VOID
DomitoCiSetTrustedOriginClaimId(
NTAPI
CiSetTrustedOriginClaimId(
_In_ UINT32 ClaimId
)
{
@@ -130,28 +131,27 @@ DomitoCiSetTrustedOriginClaimId(
}
}
_Success_(return == STATUS_SUCCESS)
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
NTSTATUS
DomitoCiValidateFileObject(
_In_ FILE_OBJECT * FileObject,
_In_opt_ UINT32 Unknown1,
_In_opt_ UINT32 Unknown2,
_Out_ MINCRYPT_POLICY_INFO * PolicyInfo,
_Out_ MINCRYPT_POLICY_INFO * TimeStampPolicyInfo,
_Out_ LARGE_INTEGER * SigningTime,
_Out_ UINT8 * Hash,
_Inout_ UINT32 * HashSize,
_Out_ ALG_ID * HashAlgId
NTAPI
CiValidateFileObject(
_In_ FILE_OBJECT* FileObject,
_In_opt_ UINT32 Unkonwn1,
_In_opt_ UINT32 Unkonwn2,
_Out_ MINCRYPT_POLICY_INFO* PolicyInfo,
_Out_ MINCRYPT_POLICY_INFO* TimeStampPolicyInfo,
_Out_ LARGE_INTEGER* SigningTime,
_Out_ UINT8* Hash,
_Inout_ UINT32* HashSize,
_Out_ ALG_ID* HashAlgId
)
{
if (G_CI.CiValidateFileObject)
{
return G_CI.CiValidateFileObject(
FileObject,
Unknown1,
Unknown2,
Unkonwn1,
Unkonwn2,
PolicyInfo,
TimeStampPolicyInfo,
SigningTime,