diff --git a/Voyager-1/Voyager-1 (1703-1511)/BootMgfw.c b/Voyager-1/Voyager-1 (1703-1511)/BootMgfw.c
index 2fdb74b..ada0479 100644
--- a/Voyager-1/Voyager-1 (1703-1511)/BootMgfw.c
+++ b/Voyager-1/Voyager-1 (1703-1511)/BootMgfw.c
@@ -1,4 +1,5 @@
#include "BootMgfw.h"
+#include "SplashScreen.h"
SHITHOOK BootMgfwShitHook;
EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
@@ -138,9 +139,8 @@ EFI_STATUS EFIAPI InstallBootMgfwHooks(EFI_HANDLE ImageHandle)
if (EFI_ERROR(Result = gBS->HandleProtocol(ImageHandle, &gEfiLoadedImageProtocolGuid, (VOID**)&BootMgfw)))
return Result;
- DBG_PRINT("Module base -> 0x%p\n", BootMgfw->ImageBase);
- DBG_PRINT("Module size -> 0x%x\n", BootMgfw->ImageSize);
-
+ Print(L"BootMgfw Image Base -> 0x%p\n", BootMgfw->ImageBase);
+ Print(L"BootMgfw Image Size -> 0x%x\n", BootMgfw->ImageSize);
VOID* ArchStartBootApplication =
FindPattern(
BootMgfw->ImageBase,
@@ -152,7 +152,7 @@ EFI_STATUS EFIAPI InstallBootMgfwHooks(EFI_HANDLE ImageHandle)
if (!ArchStartBootApplication)
return EFI_ABORTED;
- DBG_PRINT("ArchStartBootApplication -> 0x%p\n", RESOLVE_RVA(ArchStartBootApplication, 5, 1));
+ Print(L"BootMgfw.ArchStartBootApplication -> 0x%p\n", ArchStartBootApplication);
MakeShitHook(&BootMgfwShitHook, RESOLVE_RVA(ArchStartBootApplication, 5, 1), &ArchStartBootApplicationHook, TRUE);
return EFI_SUCCESS;
}
@@ -168,9 +168,10 @@ EFI_STATUS EFIAPI ArchStartBootApplicationHook(VOID* AppEntry, VOID* ImageBase,
LOAD_PE_IMG_MASK
);
+ gST->ConOut->ClearScreen(gST->ConOut);
+ gST->ConOut->OutputString(gST->ConOut, AsciiArt);
+ Print(L"\n");
Print(L"PE PayLoad Size -> 0x%x\n", PayLoadSize());
- Print(L"winload base -> 0x%p\n", ImageBase);
- Print(L"winload size -> 0x%x\n", ImageSize);
Print(L"winload.BlImgLoadPEImageEx -> 0x%p\n", RESOLVE_RVA(ImgLoadPEImageEx, 5, 1));
MakeShitHook(&WinLoadImageShitHook, RESOLVE_RVA(ImgLoadPEImageEx, 5, 1), &BlImgLoadPEImageEx, TRUE);
diff --git a/Voyager-1/Voyager-1 (1703-1511)/SplashScreen.c b/Voyager-1/Voyager-1 (1703-1511)/SplashScreen.c
new file mode 100644
index 0000000..3f13639
--- /dev/null
+++ b/Voyager-1/Voyager-1 (1703-1511)/SplashScreen.c
@@ -0,0 +1,67 @@
+#include "SplashScreen.h"
+
+unsigned char AsciiArt[1473] =
+{
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x22, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00,
+ 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00,
+ 0x27, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x22, 0x00,
+ 0x27, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x7C, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x20, 0x00, 0x27, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00,
+ 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00,
+ 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00,
+ 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2D, 0x00,
+ 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x4C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00,
+ 0x5F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00,
+ 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00,
+ 0x5F, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00,
+ 0x2E, 0x00, 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x27, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00,
+ 0x2D, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x2F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x20, 0x00,
+ 0x60, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x60, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00,
+ 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00,
+ 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x22, 0x00, 0x00
+};
\ No newline at end of file
diff --git a/Voyager-1/Voyager-1 (1703-1511)/SplashScreen.h b/Voyager-1/Voyager-1 (1703-1511)/SplashScreen.h
new file mode 100644
index 0000000..3acad01
--- /dev/null
+++ b/Voyager-1/Voyager-1 (1703-1511)/SplashScreen.h
@@ -0,0 +1,2 @@
+#pragma once
+unsigned char AsciiArt[1473];
\ No newline at end of file
diff --git a/Voyager-1/Voyager-1 (1703-1511)/UefiMain.c b/Voyager-1/Voyager-1 (1703-1511)/UefiMain.c
index dc2b2ec..23bafae 100644
--- a/Voyager-1/Voyager-1 (1703-1511)/UefiMain.c
+++ b/Voyager-1/Voyager-1 (1703-1511)/UefiMain.c
@@ -1,4 +1,5 @@
#include "BootMgfw.h"
+#include "SplashScreen.h"
CHAR8* gEfiCallerBaseName = "Voyager";
const UINT32 _gUefiDriverRevision = 0x200;
@@ -16,16 +17,24 @@ EFI_STATUS EFIAPI UefiMain
{
EFI_STATUS Result;
EFI_DEVICE_PATH_PROTOCOL* BootMgfwPath;
+
+ gST->ConOut->ClearScreen(gST->ConOut);
+ gST->ConOut->OutputString(gST->ConOut, AsciiArt);
+ Print(L"\n");
+
if (EFI_ERROR((Result = RestoreBootMgfw())))
{
- DBG_PRINT("unable to restore bootmgfw... reason -> %r\n", Result);
+ Print(L"unable to restore bootmgfw... reason -> %r\n", Result);
return Result;
}
if (EFI_ERROR((Result = InstallBootMgfwHooks(ImageHandle))))
{
- DBG_PRINT("Failed to install bootmgfw hooks... reason -> %r\n", Result);
+ Print(L"Failed to install bootmgfw hooks... reason -> %r\n", Result);
return Result;
}
+
+ Print(L"Hooks installed... returning execution back to BootMgfw...\n");
+ gBS->Stall(5 * 1000000);
return EFI_SUCCESS;
}
\ No newline at end of file
diff --git a/Voyager-1/Voyager-1 (1703-1511)/Voyager-1 (1703-1511).vcxproj b/Voyager-1/Voyager-1 (1703-1511)/Voyager-1 (1703-1511).vcxproj
index 9ba8a4c..4b76e56 100644
--- a/Voyager-1/Voyager-1 (1703-1511)/Voyager-1 (1703-1511).vcxproj
+++ b/Voyager-1/Voyager-1 (1703-1511)/Voyager-1 (1703-1511).vcxproj
@@ -179,6 +179,7 @@
+
@@ -189,6 +190,7 @@
+
diff --git a/Voyager-1/Voyager-1 (1703-1511)/Voyager-1 (1703-1511).vcxproj.filters b/Voyager-1/Voyager-1 (1703-1511)/Voyager-1 (1703-1511).vcxproj.filters
index 735de7e..659bf70 100644
--- a/Voyager-1/Voyager-1 (1703-1511)/Voyager-1 (1703-1511).vcxproj.filters
+++ b/Voyager-1/Voyager-1 (1703-1511)/Voyager-1 (1703-1511).vcxproj.filters
@@ -35,6 +35,9 @@
Source Files
+
+ Source Files
+
@@ -58,5 +61,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/Voyager-1/Voyager-1 (1703-1511)/WinLoad.h b/Voyager-1/Voyager-1 (1703-1511)/WinLoad.h
index 54ac515..e6801e7 100644
--- a/Voyager-1/Voyager-1 (1703-1511)/WinLoad.h
+++ b/Voyager-1/Voyager-1 (1703-1511)/WinLoad.h
@@ -4,11 +4,10 @@
#include "PayLoad.h"
extern SHITHOOK WinLoadImageShitHook;
-
#if WINVER == 1703
#define LOAD_PE_IMG_SIG "\xE8\x00\x00\x00\x00\x85\xC0\x79\x45"
#define LOAD_PE_IMG_MASK "x????xxxx"
-#elif WINVER <= 1607 // works for 1511
+#elif WINVER <= 1607
#define LOAD_PE_IMG_SIG "\xE8\x00\x00\x00\x00\x48\x8B\x7D\xF7"
#define LOAD_PE_IMG_MASK "x????xxxx"
#endif
diff --git a/Voyager-1/Voyager-1 (2004-1709)/BootMgfw.c b/Voyager-1/Voyager-1 (2004-1709)/BootMgfw.c
index 8cd770f..361a417 100644
--- a/Voyager-1/Voyager-1 (2004-1709)/BootMgfw.c
+++ b/Voyager-1/Voyager-1 (2004-1709)/BootMgfw.c
@@ -1,4 +1,5 @@
#include "BootMgfw.h"
+#include "SplashScreen.h"
SHITHOOK BootMgfwShitHook;
EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
@@ -12,7 +13,7 @@ EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
if (EFI_ERROR((Result = gBS->LocateHandleBuffer(ByProtocol, &gEfiSimpleFileSystemProtocolGuid, NULL, &HandleCount, &Handles))))
{
- DBG_PRINT("error getting file system handles -> 0x%p\n", Result);
+ Print(L"error getting file system handles -> 0x%p\n", Result);
return Result;
}
@@ -20,13 +21,13 @@ EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
{
if (EFI_ERROR((Result = gBS->OpenProtocol(Handles[Idx], &gEfiSimpleFileSystemProtocolGuid, (VOID**)&FileSystem, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL))))
{
- DBG_PRINT("error opening protocol -> 0x%p\n", Result);
+ Print(L"error opening protocol -> 0x%p\n", Result);
return Result;
}
if (EFI_ERROR((Result = FileSystem->OpenVolume(FileSystem, &VolumeHandle))))
{
- DBG_PRINT("error opening file system -> 0x%p\n", Result);
+ Print(L"error opening file system -> 0x%p\n", Result);
return Result;
}
@@ -39,13 +40,13 @@ EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
// open bootmgfw as read/write then delete it...
if (EFI_ERROR((Result = EfiOpenFileByDevicePath(&BootMgfwPathProtocol, &BootMgfwFile, EFI_FILE_MODE_WRITE | EFI_FILE_MODE_READ, NULL))))
{
- DBG_PRINT("error opening bootmgfw... reason -> %r\n", Result);
+ Print(L"error opening bootmgfw... reason -> %r\n", Result);
return Result;
}
if (EFI_ERROR((Result = BootMgfwFile->Delete(BootMgfwFile))))
{
- DBG_PRINT("error deleting bootmgfw... reason -> %r\n", Result);
+ Print(L"error deleting bootmgfw... reason -> %r\n", Result);
return Result;
}
@@ -53,7 +54,7 @@ EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
BootMgfwPathProtocol = FileDevicePath(Handles[Idx], WINDOWS_BOOTMGFW_BACKUP_PATH);
if (EFI_ERROR((Result = EfiOpenFileByDevicePath(&BootMgfwPathProtocol, &BootMgfwFile, EFI_FILE_MODE_WRITE | EFI_FILE_MODE_READ, NULL))))
{
- DBG_PRINT("failed to open backup file... reason -> %r\n", Result);
+ Print(L"failed to open backup file... reason -> %r\n", Result);
return Result;
}
@@ -68,13 +69,13 @@ EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
gBS->AllocatePool(EfiBootServicesData, FileInfoSize, &FileInfoPtr);
if (EFI_ERROR(Result = BootMgfwFile->GetInfo(BootMgfwFile, &gEfiFileInfoGuid, &FileInfoSize, FileInfoPtr)))
{
- DBG_PRINT("get backup file information failed... reason -> %r\n", Result);
+ Print(L"get backup file information failed... reason -> %r\n", Result);
return Result;
}
}
else
{
- DBG_PRINT("Failed to get file information... reason -> %r\n", Result);
+ Print(L"Failed to get file information... reason -> %r\n", Result);
return Result;
}
}
@@ -86,14 +87,14 @@ EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
// read the backup file into an allocated pool...
if (EFI_ERROR((Result = BootMgfwFile->Read(BootMgfwFile, &BootMgfwSize, BootMgfwBuffer))))
{
- DBG_PRINT("Failed to read backup file into buffer... reason -> %r\n", Result);
+ Print(L"Failed to read backup file into buffer... reason -> %r\n", Result);
return Result;
}
// delete the backup file...
if (EFI_ERROR((Result = BootMgfwFile->Delete(BootMgfwFile))))
{
- DBG_PRINT("unable to delete backup file... reason -> %r\n", Result);
+ Print(L"unable to delete backup file... reason -> %r\n", Result);
return Result;
}
@@ -101,7 +102,7 @@ EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
BootMgfwPathProtocol = FileDevicePath(Handles[Idx], WINDOWS_BOOTMGFW_PATH);
if (EFI_ERROR((Result = EfiOpenFileByDevicePath(&BootMgfwPathProtocol, &BootMgfwFile, EFI_FILE_MODE_CREATE | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_READ, EFI_FILE_SYSTEM))))
{
- DBG_PRINT("unable to create new bootmgfw on disk... reason -> %r\n", Result);
+ Print(L"unable to create new bootmgfw on disk... reason -> %r\n", Result);
return Result;
}
@@ -109,7 +110,7 @@ EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
BootMgfwSize = FileInfoPtr->FileSize;
if (EFI_ERROR((Result = BootMgfwFile->Write(BootMgfwFile, &BootMgfwSize, BootMgfwBuffer))))
{
- DBG_PRINT("unable to write to newly created bootmgfw.efi... reason -> %r\n", Result);
+ Print(L"unable to write to newly created bootmgfw.efi... reason -> %r\n", Result);
return Result;
}
@@ -121,7 +122,7 @@ EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
if (EFI_ERROR((Result = gBS->CloseProtocol(Handles[Idx], &gEfiSimpleFileSystemProtocolGuid, gImageHandle, NULL))))
{
- DBG_PRINT("error closing protocol -> 0x%p\n", Result);
+ Print(L"error closing protocol -> 0x%p\n", Result);
return Result;
}
}
@@ -138,8 +139,8 @@ EFI_STATUS EFIAPI InstallBootMgfwHooks(EFI_HANDLE BootMgfwPath)
if (EFI_ERROR((Result = gBS->HandleProtocol(BootMgfwPath, &gEfiLoadedImageProtocolGuid, (VOID**)&BootMgfw))))
return Result;
- Print(L"Image Base -> 0x%p\n", BootMgfw->ImageBase);
- Print(L"Image Size -> 0x%x\n", BootMgfw->ImageSize);
+ Print(L"BootMgfw Image Base -> 0x%p\n", BootMgfw->ImageBase);
+ Print(L"BootMgfw Image Size -> 0x%x\n", BootMgfw->ImageSize);
VOID* ArchStartBootApplication =
FindPattern(
BootMgfw->ImageBase,
@@ -151,7 +152,7 @@ EFI_STATUS EFIAPI InstallBootMgfwHooks(EFI_HANDLE BootMgfwPath)
if (!ArchStartBootApplication)
return EFI_ABORTED;
- DBG_PRINT(L"ArchStartBootApplication -> 0x%p\n", ArchStartBootApplication);
+ Print(L"BootMgfw.ArchStartBootApplication -> 0x%p\n", ArchStartBootApplication);
MakeShitHook(&BootMgfwShitHook, ArchStartBootApplication, &ArchStartBootApplicationHook, TRUE);
return Result;
}
@@ -168,21 +169,14 @@ EFI_STATUS EFIAPI ArchStartBootApplicationHook(VOID* AppEntry, VOID* ImageBase,
ALLOCATE_IMAGE_BUFFER_MASK
);
+ gST->ConOut->ClearScreen(gST->ConOut);
+ gST->ConOut->OutputString(gST->ConOut, AsciiArt);
+ Print(L"\n");
Print(L"Hyper-V PayLoad Size -> 0x%x\n", PayLoadSize());
- Print(L"winload base -> 0x%p\n", ImageBase);
- Print(L"winload size -> 0x%x\n", ImageSize);
Print(L"winload.BlLdrLoadImage -> 0x%p\n", LdrLoadImage);
Print(L"winload.BlImgAllocateImageBuffer -> 0x%p\n", ImgAllocateImageBuffer);
- if (ImgAllocateImageBuffer && LdrLoadImage)
- {
- MakeShitHook(&WinLoadImageShitHook, LdrLoadImage, &BlLdrLoadImage, TRUE);
- MakeShitHook(&WinLoadAllocateImageHook, ImgAllocateImageBuffer, &BlImgAllocateImageBuffer, TRUE);
- }
- else
- {
- Print(L"nullptr detected, aborting...\n");
- Print(L"Please submit a screenshot of this...\n");
- }
+ MakeShitHook(&WinLoadImageShitHook, LdrLoadImage, &BlLdrLoadImage, TRUE);
+ MakeShitHook(&WinLoadAllocateImageHook, ImgAllocateImageBuffer, &BlImgAllocateImageBuffer, TRUE);
return ((IMG_ARCH_START_BOOT_APPLICATION)BootMgfwShitHook.Address)(AppEntry, ImageBase, ImageSize, BootOption, ReturnArgs);
}
\ No newline at end of file
diff --git a/Voyager-1/Voyager-1 (2004-1709)/PayLoad.c b/Voyager-1/Voyager-1 (2004-1709)/PayLoad.c
index 35bca80..1a6777f 100644
--- a/Voyager-1/Voyager-1 (2004-1709)/PayLoad.c
+++ b/Voyager-1/Voyager-1 (2004-1709)/PayLoad.c
@@ -44,18 +44,18 @@ unsigned char PayLoad[3072] =
0x6A, 0xDE, 0x5F, 0x8E, 0xDC, 0xAF, 0x5D, 0x8F, 0x6A, 0xDE, 0x5F, 0x8E,
0x52, 0x69, 0x63, 0x68, 0x6B, 0xDE, 0x5F, 0x8E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x50, 0x45, 0x00, 0x00, 0x64, 0x86, 0x05, 0x00,
- 0x13, 0xB9, 0x72, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x91, 0x77, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF0, 0x00, 0x22, 0x20, 0x0B, 0x02, 0x0E, 0x1B, 0x00, 0x02, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x60, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xD4, 0x8A, 0x00, 0x00,
+ 0x00, 0x60, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x60, 0x2D, 0x00, 0x00,
0x01, 0x00, 0x60, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00,
- 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
@@ -69,7 +69,7 @@ unsigned char PayLoad[3072] =
0xA2, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x68, 0x2E, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x00, 0x00, 0x1C, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x74, 0x61, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48,
0x2E, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
@@ -79,7 +79,7 @@ unsigned char PayLoad[3072] =
0x0C, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48, 0x2E, 0x65, 0x64, 0x61,
- 0x74, 0x61, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00,
+ 0x74, 0x61, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -156,30 +156,30 @@ unsigned char PayLoad[3072] =
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x13, 0xB9, 0x72, 0x5F, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x38, 0x20, 0x00, 0x00,
- 0x38, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xB9, 0x72, 0x5F,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x77, 0x5F, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x38, 0x20, 0x00, 0x00,
+ 0x38, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x77, 0x5F,
0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
- 0x90, 0x20, 0x00, 0x00, 0x90, 0x06, 0x00, 0x00, 0x52, 0x53, 0x44, 0x53,
- 0xD4, 0x11, 0x42, 0x7D, 0x4D, 0x15, 0x9E, 0x40, 0xAD, 0x44, 0xBC, 0xDA,
- 0x99, 0x36, 0xE3, 0xCF, 0x01, 0x00, 0x00, 0x00, 0x43, 0x3A, 0x5C, 0x55,
+ 0x94, 0x20, 0x00, 0x00, 0x94, 0x06, 0x00, 0x00, 0x52, 0x53, 0x44, 0x53,
+ 0x29, 0x18, 0x5B, 0x58, 0xF1, 0x50, 0x02, 0x48, 0x86, 0x42, 0x02, 0x28,
+ 0xE8, 0x50, 0x11, 0x93, 0x01, 0x00, 0x00, 0x00, 0x43, 0x3A, 0x5C, 0x55,
0x73, 0x65, 0x72, 0x73, 0x5C, 0x78, 0x65, 0x72, 0x6F, 0x78, 0x5C, 0x44,
0x65, 0x73, 0x6B, 0x74, 0x6F, 0x70, 0x5C, 0x76, 0x6F, 0x79, 0x61, 0x67,
- 0x65, 0x72, 0x5C, 0x78, 0x36, 0x34, 0x5C, 0x52, 0x65, 0x6C, 0x65, 0x61,
- 0x73, 0x65, 0x5C, 0x50, 0x61, 0x79, 0x4C, 0x6F, 0x61, 0x64, 0x28, 0x49,
- 0x6E, 0x74, 0x65, 0x6C, 0x29, 0x2E, 0x70, 0x64, 0x62, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00,
- 0x2E, 0x74, 0x65, 0x78, 0x74, 0x24, 0x6D, 0x6E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x20, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x2E, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x00, 0x00, 0x38, 0x20, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00,
- 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x24, 0x7A, 0x7A, 0x7A, 0x64, 0x62,
- 0x67, 0x00, 0x00, 0x00, 0x10, 0x21, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
- 0x2E, 0x78, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
- 0x28, 0x00, 0x00, 0x00, 0x2E, 0x62, 0x73, 0x73, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x2E, 0x70, 0x64, 0x61,
- 0x74, 0x61, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00,
- 0x2E, 0x65, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x02, 0x0E, 0x03, 0x00,
- 0x01, 0x16, 0x00, 0x06, 0x0E, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x65, 0x72, 0x5C, 0x56, 0x6F, 0x79, 0x61, 0x67, 0x65, 0x72, 0x2D, 0x31,
+ 0x5C, 0x78, 0x36, 0x34, 0x5C, 0x52, 0x65, 0x6C, 0x65, 0x61, 0x73, 0x65,
+ 0x5C, 0x50, 0x61, 0x79, 0x4C, 0x6F, 0x61, 0x64, 0x2E, 0x70, 0x64, 0x62,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+ 0xA2, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x24, 0x6D, 0x6E,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
+ 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x38, 0x20, 0x00, 0x00,
+ 0xDC, 0x00, 0x00, 0x00, 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x24, 0x7A,
+ 0x7A, 0x7A, 0x64, 0x62, 0x67, 0x00, 0x00, 0x00, 0x14, 0x21, 0x00, 0x00,
+ 0x0C, 0x00, 0x00, 0x00, 0x2E, 0x78, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00,
+ 0x00, 0x30, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2E, 0x62, 0x73, 0x73,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
+ 0x2E, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00,
+ 0x60, 0x00, 0x00, 0x00, 0x2E, 0x65, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00,
+ 0x02, 0x0E, 0x03, 0x00, 0x01, 0x16, 0x00, 0x06, 0x0E, 0xA2, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -199,7 +199,7 @@ unsigned char PayLoad[3072] =
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
- 0xA2, 0x10, 0x00, 0x00, 0x10, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xA2, 0x10, 0x00, 0x00, 0x14, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -245,11 +245,10 @@ unsigned char PayLoad[3072] =
0x00, 0x00, 0x00, 0x00, 0x32, 0x50, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x50, 0x00, 0x00,
0x2C, 0x50, 0x00, 0x00, 0x30, 0x50, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
- 0x45, 0x50, 0x00, 0x00, 0x00, 0x00, 0x50, 0x61, 0x79, 0x4C, 0x6F, 0x61,
- 0x64, 0x28, 0x49, 0x6E, 0x74, 0x65, 0x6C, 0x29, 0x2E, 0x64, 0x6C, 0x6C,
- 0x00, 0x3F, 0x76, 0x6F, 0x79, 0x61, 0x67, 0x65, 0x72, 0x5F, 0x63, 0x6F,
- 0x6E, 0x74, 0x65, 0x78, 0x74, 0x40, 0x40, 0x33, 0x55, 0x5F, 0x56, 0x4F,
- 0x59, 0x41, 0x47, 0x45, 0x52, 0x5F, 0x44, 0x41, 0x54, 0x41, 0x5F, 0x54,
+ 0x3E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x50, 0x61, 0x79, 0x4C, 0x6F, 0x61,
+ 0x64, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x3F, 0x76, 0x6F, 0x79, 0x61, 0x67,
+ 0x65, 0x72, 0x5F, 0x63, 0x6F, 0x6E, 0x74, 0x65, 0x78, 0x74, 0x40, 0x40,
+ 0x33, 0x55, 0x5F, 0x76, 0x6F, 0x79, 0x61, 0x67, 0x65, 0x72, 0x5F, 0x74,
0x40, 0x40, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -283,5 +282,6 @@ unsigned char PayLoad[3072] =
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
\ No newline at end of file
diff --git a/Voyager-1/Voyager-1 (2004-1709)/SplashScreen.c b/Voyager-1/Voyager-1 (2004-1709)/SplashScreen.c
new file mode 100644
index 0000000..3f13639
--- /dev/null
+++ b/Voyager-1/Voyager-1 (2004-1709)/SplashScreen.c
@@ -0,0 +1,67 @@
+#include "SplashScreen.h"
+
+unsigned char AsciiArt[1473] =
+{
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x22, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00,
+ 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00,
+ 0x27, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x22, 0x00,
+ 0x27, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x7C, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x20, 0x00, 0x27, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00,
+ 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00,
+ 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00,
+ 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2D, 0x00,
+ 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x4C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00,
+ 0x5F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00,
+ 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00,
+ 0x5F, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00,
+ 0x2E, 0x00, 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x27, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00,
+ 0x2D, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x2F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x20, 0x00,
+ 0x60, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x60, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00,
+ 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00,
+ 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x22, 0x00, 0x00
+};
\ No newline at end of file
diff --git a/Voyager-1/Voyager-1 (2004-1709)/SplashScreen.h b/Voyager-1/Voyager-1 (2004-1709)/SplashScreen.h
new file mode 100644
index 0000000..3acad01
--- /dev/null
+++ b/Voyager-1/Voyager-1 (2004-1709)/SplashScreen.h
@@ -0,0 +1,2 @@
+#pragma once
+unsigned char AsciiArt[1473];
\ No newline at end of file
diff --git a/Voyager-1/Voyager-1 (2004-1709)/UefiMain.c b/Voyager-1/Voyager-1 (2004-1709)/UefiMain.c
index 24dc87c..14db64e 100644
--- a/Voyager-1/Voyager-1 (2004-1709)/UefiMain.c
+++ b/Voyager-1/Voyager-1 (2004-1709)/UefiMain.c
@@ -1,4 +1,5 @@
#include "BootMgfw.h"
+#include "SplashScreen.h"
CHAR8* gEfiCallerBaseName = "Voyager";
const UINT32 _gUefiDriverRevision = 0x200;
@@ -6,7 +7,9 @@ const UINT32 _gUefiDriverRevision = 0x200;
EFI_STATUS EFIAPI UefiUnload(
IN EFI_HANDLE ImageHandle
)
-{ return EFI_SUCCESS; }
+{
+ return EFI_SUCCESS;
+}
EFI_STATUS EFIAPI UefiMain
(
@@ -17,16 +20,22 @@ EFI_STATUS EFIAPI UefiMain
EFI_STATUS Result;
EFI_DEVICE_PATH_PROTOCOL* BootMgfwPath;
+ gST->ConOut->ClearScreen(gST->ConOut);
+ gST->ConOut->OutputString(gST->ConOut, AsciiArt);
+ Print(L"\n");
+
if (EFI_ERROR((Result = RestoreBootMgfw())))
{
- DBG_PRINT("unable to restore bootmgfw... reason -> %r\n", Result);
+ Print(L"unable to restore bootmgfw... reason -> %r\n", Result);
return Result;
}
if (EFI_ERROR((Result = InstallBootMgfwHooks(ImageHandle))))
{
- DBG_PRINT("Failed to install bootmgfw hooks... reason -> %r\n", Result);
+ Print(L"Failed to install bootmgfw hooks... reason -> %r\n", Result);
return Result;
}
+
+ gBS->Stall(5 * 1000000);
return EFI_SUCCESS;
}
\ No newline at end of file
diff --git a/Voyager-1/Voyager-1 (2004-1709)/Voyager-1 (2004-1709).vcxproj b/Voyager-1/Voyager-1 (2004-1709)/Voyager-1 (2004-1709).vcxproj
index bd8f39f..43514d0 100644
--- a/Voyager-1/Voyager-1 (2004-1709)/Voyager-1 (2004-1709).vcxproj
+++ b/Voyager-1/Voyager-1 (2004-1709)/Voyager-1 (2004-1709).vcxproj
@@ -178,6 +178,7 @@
+
@@ -187,6 +188,7 @@
+
diff --git a/Voyager-1/Voyager-1 (2004-1709)/Voyager-1 (2004-1709).vcxproj.filters b/Voyager-1/Voyager-1 (2004-1709)/Voyager-1 (2004-1709).vcxproj.filters
index 555200b..ac81f91 100644
--- a/Voyager-1/Voyager-1 (2004-1709)/Voyager-1 (2004-1709).vcxproj.filters
+++ b/Voyager-1/Voyager-1 (2004-1709)/Voyager-1 (2004-1709).vcxproj.filters
@@ -32,6 +32,9 @@
Source Files
+
+ Source Files
+
@@ -52,5 +55,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (1703-1511)/BootMgfw.c b/Voyager-2/Voyager-2 (1703-1511)/BootMgfw.c
index 2fdb74b..f98ec7f 100644
--- a/Voyager-2/Voyager-2 (1703-1511)/BootMgfw.c
+++ b/Voyager-2/Voyager-2 (1703-1511)/BootMgfw.c
@@ -1,4 +1,5 @@
#include "BootMgfw.h"
+#include "SplashScreen.h"
SHITHOOK BootMgfwShitHook;
EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
@@ -138,9 +139,8 @@ EFI_STATUS EFIAPI InstallBootMgfwHooks(EFI_HANDLE ImageHandle)
if (EFI_ERROR(Result = gBS->HandleProtocol(ImageHandle, &gEfiLoadedImageProtocolGuid, (VOID**)&BootMgfw)))
return Result;
- DBG_PRINT("Module base -> 0x%p\n", BootMgfw->ImageBase);
- DBG_PRINT("Module size -> 0x%x\n", BootMgfw->ImageSize);
-
+ Print(L"Module base -> 0x%p\n", BootMgfw->ImageBase);
+ Print(L"Module size -> 0x%x\n", BootMgfw->ImageSize);
VOID* ArchStartBootApplication =
FindPattern(
BootMgfw->ImageBase,
@@ -152,7 +152,7 @@ EFI_STATUS EFIAPI InstallBootMgfwHooks(EFI_HANDLE ImageHandle)
if (!ArchStartBootApplication)
return EFI_ABORTED;
- DBG_PRINT("ArchStartBootApplication -> 0x%p\n", RESOLVE_RVA(ArchStartBootApplication, 5, 1));
+ Print(L"ArchStartBootApplication -> 0x%p\n", RESOLVE_RVA(ArchStartBootApplication, 5, 1));
MakeShitHook(&BootMgfwShitHook, RESOLVE_RVA(ArchStartBootApplication, 5, 1), &ArchStartBootApplicationHook, TRUE);
return EFI_SUCCESS;
}
@@ -168,11 +168,12 @@ EFI_STATUS EFIAPI ArchStartBootApplicationHook(VOID* AppEntry, VOID* ImageBase,
LOAD_PE_IMG_MASK
);
- Print(L"PE PayLoad Size -> 0x%x\n", PayLoadSize());
- Print(L"winload base -> 0x%p\n", ImageBase);
- Print(L"winload size -> 0x%x\n", ImageSize);
- Print(L"winload.BlImgLoadPEImageEx -> 0x%p\n", RESOLVE_RVA(ImgLoadPEImageEx, 5, 1));
+ gST->ConOut->ClearScreen(gST->ConOut);
+ gST->ConOut->OutputString(gST->ConOut, AsciiArt);
+ Print(L"\n");
+ Print(L"Hyper-V PayLoad Size -> 0x%x\n", PayLoadSize());
+ Print(L"winload.BlImgLoadPEImageEx -> 0x%p\n", RESOLVE_RVA(ImgLoadPEImageEx, 5, 1));
MakeShitHook(&WinLoadImageShitHook, RESOLVE_RVA(ImgLoadPEImageEx, 5, 1), &BlImgLoadPEImageEx, TRUE);
return ((IMG_ARCH_START_BOOT_APPLICATION)BootMgfwShitHook.Address)(AppEntry, ImageBase, ImageSize, BootOption, ReturnArgs);
}
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (1703-1511)/SplashScreen.c b/Voyager-2/Voyager-2 (1703-1511)/SplashScreen.c
new file mode 100644
index 0000000..3f13639
--- /dev/null
+++ b/Voyager-2/Voyager-2 (1703-1511)/SplashScreen.c
@@ -0,0 +1,67 @@
+#include "SplashScreen.h"
+
+unsigned char AsciiArt[1473] =
+{
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x22, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00,
+ 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00,
+ 0x27, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x22, 0x00,
+ 0x27, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x7C, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x20, 0x00, 0x27, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00,
+ 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00,
+ 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00,
+ 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2D, 0x00,
+ 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x4C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00,
+ 0x5F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00,
+ 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00,
+ 0x5F, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00,
+ 0x2E, 0x00, 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x27, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00,
+ 0x2D, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x2F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x20, 0x00,
+ 0x60, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x60, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00,
+ 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00,
+ 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x22, 0x00, 0x00
+};
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (1703-1511)/SplashScreen.h b/Voyager-2/Voyager-2 (1703-1511)/SplashScreen.h
new file mode 100644
index 0000000..3acad01
--- /dev/null
+++ b/Voyager-2/Voyager-2 (1703-1511)/SplashScreen.h
@@ -0,0 +1,2 @@
+#pragma once
+unsigned char AsciiArt[1473];
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (1703-1511)/UefiMain.c b/Voyager-2/Voyager-2 (1703-1511)/UefiMain.c
index dc2b2ec..42b7ad3 100644
--- a/Voyager-2/Voyager-2 (1703-1511)/UefiMain.c
+++ b/Voyager-2/Voyager-2 (1703-1511)/UefiMain.c
@@ -1,6 +1,7 @@
#include "BootMgfw.h"
+#include "SplashScreen.h"
-CHAR8* gEfiCallerBaseName = "Voyager";
+CHAR8* gEfiCallerBaseName = "Voyager 2";
const UINT32 _gUefiDriverRevision = 0x200;
EFI_STATUS EFIAPI UefiUnload(
@@ -16,16 +17,23 @@ EFI_STATUS EFIAPI UefiMain
{
EFI_STATUS Result;
EFI_DEVICE_PATH_PROTOCOL* BootMgfwPath;
+
+ gST->ConOut->ClearScreen(gST->ConOut);
+ gST->ConOut->OutputString(gST->ConOut, AsciiArt);
+ Print(L"\n");
+
if (EFI_ERROR((Result = RestoreBootMgfw())))
{
- DBG_PRINT("unable to restore bootmgfw... reason -> %r\n", Result);
+ Print(L"unable to restore bootmgfw... reason -> %r\n", Result);
return Result;
}
if (EFI_ERROR((Result = InstallBootMgfwHooks(ImageHandle))))
{
- DBG_PRINT("Failed to install bootmgfw hooks... reason -> %r\n", Result);
+ Print(L"Failed to install bootmgfw hooks... reason -> %r\n", Result);
return Result;
}
+
+ gBS->Stall(5 * 1000000);
return EFI_SUCCESS;
}
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (1703-1511)/Voyager-2 (1703-1511).vcxproj b/Voyager-2/Voyager-2 (1703-1511)/Voyager-2 (1703-1511).vcxproj
index de610d6..f0e2156 100644
--- a/Voyager-2/Voyager-2 (1703-1511)/Voyager-2 (1703-1511).vcxproj
+++ b/Voyager-2/Voyager-2 (1703-1511)/Voyager-2 (1703-1511).vcxproj
@@ -179,6 +179,7 @@
+
@@ -189,6 +190,7 @@
+
diff --git a/Voyager-2/Voyager-2 (1703-1511)/Voyager-2 (1703-1511).vcxproj.filters b/Voyager-2/Voyager-2 (1703-1511)/Voyager-2 (1703-1511).vcxproj.filters
index 7a34236..1bf04e3 100644
--- a/Voyager-2/Voyager-2 (1703-1511)/Voyager-2 (1703-1511).vcxproj.filters
+++ b/Voyager-2/Voyager-2 (1703-1511)/Voyager-2 (1703-1511).vcxproj.filters
@@ -35,6 +35,9 @@
Source Files
+
+ Source Files
+
@@ -58,5 +61,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (2004-1709)/BootMgfw.c b/Voyager-2/Voyager-2 (2004-1709)/BootMgfw.c
index 17141bf..756cc6b 100644
--- a/Voyager-2/Voyager-2 (2004-1709)/BootMgfw.c
+++ b/Voyager-2/Voyager-2 (2004-1709)/BootMgfw.c
@@ -1,4 +1,5 @@
#include "BootMgfw.h"
+#include "SplashScreen.h"
SHITHOOK BootMgfwShitHook;
EFI_STATUS EFIAPI RestoreBootMgfw(VOID)
@@ -138,8 +139,8 @@ EFI_STATUS EFIAPI InstallBootMgfwHooks(EFI_HANDLE BootMgfwPath)
if (EFI_ERROR((Result = gBS->HandleProtocol(BootMgfwPath, &gEfiLoadedImageProtocolGuid, (VOID**)&BootMgfw))))
return Result;
- DBG_PRINT("Image Base -> 0x%p\n", BootMgfw->ImageBase);
- DBG_PRINT("Image Size -> 0x%x\n", BootMgfw->ImageSize);
+ Print(L"Image Base -> 0x%p\n", BootMgfw->ImageBase);
+ Print(L"Image Size -> 0x%x\n", BootMgfw->ImageSize);
VOID* ArchStartBootApplication =
FindPattern(
BootMgfw->ImageBase,
@@ -148,7 +149,7 @@ EFI_STATUS EFIAPI InstallBootMgfwHooks(EFI_HANDLE BootMgfwPath)
START_BOOT_APPLICATION_MASK
);
- DBG_PRINT("ArchStartBootApplication -> 0x%p\n", ArchStartBootApplication);
+ Print(L"ArchStartBootApplication -> 0x%p\n", ArchStartBootApplication);
MakeShitHook(&BootMgfwShitHook, ArchStartBootApplication, &ArchStartBootApplicationHook, TRUE);
return Result;
}
@@ -165,22 +166,15 @@ EFI_STATUS EFIAPI ArchStartBootApplicationHook(VOID* AppEntry, VOID* ImageBase,
ALLOCATE_IMAGE_BUFFER_MASK
);
+ gST->ConOut->ClearScreen(gST->ConOut);
+ gST->ConOut->OutputString(gST->ConOut, AsciiArt);
+ Print(L"\n");
+
Print(L"Hyper-V PayLoad Size -> 0x%x\n", PayLoadSize());
- Print(L"winload base -> 0x%p\n", ImageBase);
- Print(L"winload size -> 0x%x\n", ImageSize);
Print(L"winload.BlLdrLoadImage -> 0x%p\n", LdrLoadImage);
Print(L"winload.BlImgAllocateImageBuffer -> 0x%p\n", ImgAllocateImageBuffer);
- if (ImgAllocateImageBuffer && LdrLoadImage)
- {
- MakeShitHook(&WinLoadImageShitHook, LdrLoadImage, &BlLdrLoadImage, TRUE);
- MakeShitHook(&WinLoadAllocateImageHook, ImgAllocateImageBuffer, &BlImgAllocateImageBuffer, TRUE);
- }
- else
- {
- DBG_PRINT("some signature for winload found nothing (0), aborting...\n");
- Print(L"nullptr detected, aborting...\n");
- Print(L"Please submit a screenshot of this...\n");
- }
+ MakeShitHook(&WinLoadImageShitHook, LdrLoadImage, &BlLdrLoadImage, TRUE);
+ MakeShitHook(&WinLoadAllocateImageHook, ImgAllocateImageBuffer, &BlImgAllocateImageBuffer, TRUE);
return ((IMG_ARCH_START_BOOT_APPLICATION)BootMgfwShitHook.Address)(AppEntry, ImageBase, ImageSize, BootOption, ReturnArgs);
}
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (2004-1709)/SplashScreen.c b/Voyager-2/Voyager-2 (2004-1709)/SplashScreen.c
new file mode 100644
index 0000000..3f13639
--- /dev/null
+++ b/Voyager-2/Voyager-2 (2004-1709)/SplashScreen.c
@@ -0,0 +1,67 @@
+#include "SplashScreen.h"
+
+unsigned char AsciiArt[1473] =
+{
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x22, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00,
+ 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00,
+ 0x27, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x22, 0x00,
+ 0x27, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x7C, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x20, 0x00, 0x27, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00,
+ 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00,
+ 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3B, 0x00,
+ 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2D, 0x00,
+ 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x4C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00,
+ 0x5C, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00,
+ 0x5F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x22, 0x00, 0x2D, 0x00, 0x2E, 0x00,
+ 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5C, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00,
+ 0x5F, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00,
+ 0x2E, 0x00, 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x27, 0x00, 0x20, 0x00, 0x22, 0x00, 0x2D, 0x00,
+ 0x2D, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x20, 0x00, 0x5C, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x2F, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2E, 0x00, 0x20, 0x00,
+ 0x60, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x20, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x60, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x27, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00,
+ 0x27, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x5F, 0x00,
+ 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x22, 0x00, 0x00
+};
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (2004-1709)/SplashScreen.h b/Voyager-2/Voyager-2 (2004-1709)/SplashScreen.h
new file mode 100644
index 0000000..3acad01
--- /dev/null
+++ b/Voyager-2/Voyager-2 (2004-1709)/SplashScreen.h
@@ -0,0 +1,2 @@
+#pragma once
+unsigned char AsciiArt[1473];
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (2004-1709)/UefiMain.c b/Voyager-2/Voyager-2 (2004-1709)/UefiMain.c
index aec8ad7..42b7ad3 100644
--- a/Voyager-2/Voyager-2 (2004-1709)/UefiMain.c
+++ b/Voyager-2/Voyager-2 (2004-1709)/UefiMain.c
@@ -1,6 +1,7 @@
#include "BootMgfw.h"
+#include "SplashScreen.h"
-CHAR8* gEfiCallerBaseName = "Voyager";
+CHAR8* gEfiCallerBaseName = "Voyager 2";
const UINT32 _gUefiDriverRevision = 0x200;
EFI_STATUS EFIAPI UefiUnload(
@@ -17,19 +18,22 @@ EFI_STATUS EFIAPI UefiMain
EFI_STATUS Result;
EFI_DEVICE_PATH_PROTOCOL* BootMgfwPath;
+ gST->ConOut->ClearScreen(gST->ConOut);
+ gST->ConOut->OutputString(gST->ConOut, AsciiArt);
+ Print(L"\n");
+
if (EFI_ERROR((Result = RestoreBootMgfw())))
{
- DBG_PRINT("unable to restore bootmgfw... reason -> %r\n", Result);
+ Print(L"unable to restore bootmgfw... reason -> %r\n", Result);
return Result;
}
- DBG_PRINT("restored bootmgfw on disk...\n");
if (EFI_ERROR((Result = InstallBootMgfwHooks(ImageHandle))))
{
- DBG_PRINT("Failed to install bootmgfw hooks... reason -> %r\n", Result);
+ Print(L"Failed to install bootmgfw hooks... reason -> %r\n", Result);
return Result;
}
- DBG_PRINT("installed bootmgfw hooks...\n");
+ gBS->Stall(5 * 1000000);
return EFI_SUCCESS;
}
\ No newline at end of file
diff --git a/Voyager-2/Voyager-2 (2004-1709)/Voyager-2 (2004-1709).vcxproj b/Voyager-2/Voyager-2 (2004-1709)/Voyager-2 (2004-1709).vcxproj
index c99bbf3..cb77f09 100644
--- a/Voyager-2/Voyager-2 (2004-1709)/Voyager-2 (2004-1709).vcxproj
+++ b/Voyager-2/Voyager-2 (2004-1709)/Voyager-2 (2004-1709).vcxproj
@@ -178,6 +178,7 @@
+
@@ -187,6 +188,7 @@
+
diff --git a/Voyager-2/Voyager-2 (2004-1709)/Voyager-2 (2004-1709).vcxproj.filters b/Voyager-2/Voyager-2 (2004-1709)/Voyager-2 (2004-1709).vcxproj.filters
index bb0d0ac..ccd7de6 100644
--- a/Voyager-2/Voyager-2 (2004-1709)/Voyager-2 (2004-1709).vcxproj.filters
+++ b/Voyager-2/Voyager-2 (2004-1709)/Voyager-2 (2004-1709).vcxproj.filters
@@ -32,6 +32,9 @@
Source Files
+
+ Source Files
+
@@ -52,5 +55,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file