From cc23c9397a45a9c489f0f01f5e98c9de2dc77ecc Mon Sep 17 00:00:00 2001 From: xerox Date: Fri, 2 Oct 2020 16:38:35 -0700 Subject: [PATCH] added splash screen ascii art for amd & intel --- Voyager-1/Voyager-1 (1703-1511)/BootMgfw.c | 13 ++-- .../Voyager-1 (1703-1511)/SplashScreen.c | 67 +++++++++++++++++++ .../Voyager-1 (1703-1511)/SplashScreen.h | 2 + Voyager-1/Voyager-1 (1703-1511)/UefiMain.c | 13 +++- .../Voyager-1 (1703-1511).vcxproj | 2 + .../Voyager-1 (1703-1511).vcxproj.filters | 6 ++ Voyager-1/Voyager-1 (1703-1511)/WinLoad.h | 3 +- Voyager-1/Voyager-1 (2004-1709)/BootMgfw.c | 50 ++++++-------- Voyager-1/Voyager-1 (2004-1709)/PayLoad.c | 64 +++++++++--------- .../Voyager-1 (2004-1709)/SplashScreen.c | 67 +++++++++++++++++++ .../Voyager-1 (2004-1709)/SplashScreen.h | 2 + Voyager-1/Voyager-1 (2004-1709)/UefiMain.c | 15 ++++- .../Voyager-1 (2004-1709).vcxproj | 2 + .../Voyager-1 (2004-1709).vcxproj.filters | 6 ++ Voyager-2/Voyager-2 (1703-1511)/BootMgfw.c | 17 ++--- .../Voyager-2 (1703-1511)/SplashScreen.c | 67 +++++++++++++++++++ .../Voyager-2 (1703-1511)/SplashScreen.h | 2 + Voyager-2/Voyager-2 (1703-1511)/UefiMain.c | 14 +++- .../Voyager-2 (1703-1511).vcxproj | 2 + .../Voyager-2 (1703-1511).vcxproj.filters | 6 ++ Voyager-2/Voyager-2 (2004-1709)/BootMgfw.c | 26 +++---- .../Voyager-2 (2004-1709)/SplashScreen.c | 67 +++++++++++++++++++ .../Voyager-2 (2004-1709)/SplashScreen.h | 2 + Voyager-2/Voyager-2 (2004-1709)/UefiMain.c | 14 ++-- .../Voyager-2 (2004-1709).vcxproj | 2 + .../Voyager-2 (2004-1709).vcxproj.filters | 6 ++ 26 files changed, 432 insertions(+), 105 deletions(-) create mode 100644 Voyager-1/Voyager-1 (1703-1511)/SplashScreen.c create mode 100644 Voyager-1/Voyager-1 (1703-1511)/SplashScreen.h create mode 100644 Voyager-1/Voyager-1 (2004-1709)/SplashScreen.c create mode 100644 Voyager-1/Voyager-1 (2004-1709)/SplashScreen.h create mode 100644 Voyager-2/Voyager-2 (1703-1511)/SplashScreen.c create mode 100644 Voyager-2/Voyager-2 (1703-1511)/SplashScreen.h create mode 100644 Voyager-2/Voyager-2 (2004-1709)/SplashScreen.c create mode 100644 Voyager-2/Voyager-2 (2004-1709)/SplashScreen.h 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