You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Theodosius/DemoDrv/Theodosius.h

27 lines
780 B

#pragma once
#include <intrin.h>
#define ObfuscateRoutine __declspec(code_seg(".theo"), noinline)
#define MutatedRoutine __declspec(code_seg(".theo1"), noinline)
#define EncryptedRoutine __declspec(code_seg(".theo2"), noinline)
extern "C" unsigned long DbgPrint(const char* format, ...);
extern "C" unsigned long long IoGetCurrentProcess();
namespace cppdemo
{
unsigned long long get_dirbase();
}
typedef union
{
struct
{
unsigned long long reserved1 : 3;
unsigned long long page_level_write_through : 1;
unsigned long long page_level_cache_disable : 1;
unsigned long long reserved2 : 7;
unsigned long long address_of_page_directory : 36;
unsigned long long reserved3 : 16;
};
unsigned long long flags;
} cr3;