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.
30 lines
756 B
30 lines
756 B
#pragma once
|
|
#include "Utils.h"
|
|
#include "PagingTables.h"
|
|
#include <Library/ShellLib.h>
|
|
|
|
extern VOID* PayLoad;
|
|
extern PPTE_T PayLoadPt;
|
|
extern PPDE_T PayLoadPd;
|
|
extern PPDPTE_T PayLoadPdPt;
|
|
extern UINT64 PayLoadPtPhysAddr;
|
|
extern UINT64 PayLoadPdPhysAddr;
|
|
extern UINT64 PayLoadPdPtPhysAddr;
|
|
|
|
#pragma pack(push, 1)
|
|
typedef struct _VOYAGER_T
|
|
{
|
|
UINT64 VmExitHandlerRva;
|
|
UINT64 HypervModuleBase;
|
|
UINT64 HypervModuleSize;
|
|
UINT64 ModuleBase;
|
|
UINT64 ModuleSize;
|
|
} VOYAGER_T, *PVOYAGER_T;
|
|
#pragma pack(pop)
|
|
|
|
#define WINDOWS_BOOTMGFW_PATH L"\\efi\\microsoft\\boot\\bootmgfw.efi"
|
|
#define PAYLOAD_PATH L"\\efi\\microsoft\\boot\\payload.dll"
|
|
|
|
UINT32 PayLoadSize(VOID);
|
|
EFI_STATUS LoadPayLoadFromDisk(VOID** PayLoadBufferPtr);
|
|
VOID* PayLoadEntry(VOID* ModuleBase); |