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.
|
|
|
#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;
|