9 #define WIN32_NO_STATUS 34 static const UCHAR Match1[5] = { 0x0C, 0x8B, 0xFC, 0xF3, 0xA5 };
35 static const UCHAR Match2[5] = { 0x0C, 0x8B, 0xFC, 0xF3, 0xA5 };
36 static const UCHAR Match3[5] = { 0xB0, 0x8B, 0xFC, 0xF3, 0xA5 };
37 UCHAR Replacement1[5] = { 0x10, 0x89, 0x34, 0x24, 0x90 };
38 UCHAR Replacement2[5] = { 0x10, 0x89, 0x34, 0x24, 0x90 };
39 UCHAR Replacement3[5] = { 0xB4, 0x89, 0x34, 0x24, 0x90 };
40 #define OFFSET_1 0x21A6E 41 #define OFFSET_2 0x21B04 42 #define OFFSET_3 0x21C3C 110 #define SHIM_NS VMHorizonSetup 111 #include <setup_shim.inl> 113 #define SHIM_NUM_HOOKS 0 114 #define SHIM_NOTIFY_FN SHIM_OBJ_NAME(Notify) 129 if (
Prefix && Postfix && ExtraChars <= 2)
142 #include <implement_shim.inl> static const unsigned char pc2[48]
_In_ __drv_aliasesMem PSTRING Prefix
static const unsigned char pc1[56]
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
NTSTATUS NTAPI NtProtectVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *UnsafeBaseAddress, IN OUT SIZE_T *UnsafeNumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG UnsafeOldAccessProtection)
IN PVOID IN PVOID IN USHORT IN USHORT Size
static void FixupDll(PLDR_DATA_TABLE_ENTRY LdrEntry)
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
static BOOL Write(PBYTE Address, PBYTE Data, SIZE_T Size)
NTSYSAPI WCHAR NTAPI RtlUpcaseUnicodeChar(WCHAR Source)
NTSTATUS NTAPI NtFlushInstructionCache(_In_ HANDLE ProcessHandle, _In_opt_ PVOID BaseAddress, _In_ SIZE_T FlushSize)
#define NtCurrentProcess()
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
#define NT_SUCCESS(StatCode)
#define SHIM_MSG(fmt,...)
NTSTATUS NTAPI NtReadVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, OUT PVOID Buffer, IN SIZE_T NumberOfBytesToRead, OUT PSIZE_T NumberOfBytesRead OPTIONAL)
#define STATUS_MEMORY_NOT_ALLOCATED
static BOOLEAN PostfixUnicodeString(const UNICODE_STRING *String1, const UNICODE_STRING *String2)
__kernel_entry _Inout_ _Inout_ PSIZE_T RegionSize
UNICODE_STRING BaseDllName
NTSYSAPI BOOLEAN NTAPI RtlPrefixUnicodeString(IN PUNICODE_STRING String1, IN PUNICODE_STRING String2, IN BOOLEAN CaseInSensitive)
_In_ const STRING * String2
#define SHIM_REASON_DLL_LOAD
PIMAGE_NT_HEADERS WINAPI ImageNtHeader(_In_ PVOID)
#define PAGE_EXECUTE_READWRITE
NTSTATUS NTAPI NtWriteVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN PVOID Buffer, IN SIZE_T NumberOfBytesToWrite, OUT PSIZE_T NumberOfBytesWritten OPTIONAL)
#define RTL_CONSTANT_STRING(s)