2 Commits
v1.3.0 ... main

Author SHA1 Message Date
Alexander
fb0dd1c9c4 Update README.md 2025-11-11 22:03:55 +00:00
Alexander
e02a559c2b download 1.8 injector separately
most dont use mercury for 1.8 so no reason to include this in a zip
2025-08-13 00:15:41 +01:00
2 changed files with 13 additions and 14 deletions

View File

@@ -24,6 +24,7 @@
#define PAKS_PATH_1_8 L".\\FortniteGame\\Content\\Paks\\"
#define PRODUCT_VERSION_1_8 L"3724489"
#define DLL_URL "https://github.com/absoluteSpacehead/MercuryLauncher-Assets/raw/refs/heads/main/Mercury-1.8.dll"
#define INJECTOR_URL "https://github.com/absoluteSpacehead/MercuryLauncher/releases/latest/download/MercuryInjector.dll"
#define PAK_URL_18 "https://github.com/absoluteSpacehead/MercuryLauncher-Assets/raw/refs/heads/main/zzz_LawinServer.pak"
#define SIG_URL_18 "https://github.com/absoluteSpacehead/MercuryLauncher-Assets/raw/refs/heads/main/zzz_LawinServer.sig"
@@ -405,19 +406,12 @@ int Setup18()
return 1;
std::wstring localAppData;
GetLocalAppData(localAppData);
// check that we have our dll. this isn't required for OT so it's not linked, means you only need one file in the OT dir
if (!std::filesystem::exists(".\\MercuryInjector.dll"))
{
std::cerr << "Required DLL (MercuryInjector.dll) is missing. Ensure all files were extracted properly.\n";
return 4;
}
// check that we have the mercury dll AND the sig. someone could be using the same build folder but have wiped their appdata, etc
// check that we have the mercury dlls AND the sig. someone could be using the same build folder but have wiped their appdata, etc
// check for injector for backcomp
std::wstring pathAsWstring(PAKS_PATH_1_8);
if (!std::filesystem::exists(localAppData + L"\\Mercury-1.8.dll") || !std::filesystem::exists(pathAsWstring + L"zzz_LawinServer.sig"))
if (!std::filesystem::exists(localAppData + L"\\Mercury-1.8.dll") || !std::filesystem::exists(localAppData + L"\\MercuryInjector.dll") || !std::filesystem::exists(pathAsWstring + L"zzz_LawinServer.sig"))
{
std::cout << "Required Mercury files are missing. Downloading...\n";
@@ -427,6 +421,12 @@ int Setup18()
return 2;
}
if (DownloadFile(INJECTOR_URL, (localAppData + L"\\MercuryInjector.dll").c_str()) != 0)
{
std::cerr << "\nFailed to download MercuryInjector.dll.\n";
return 2;
}
if (DownloadFile(PAK_URL_18, (pathAsWstring + L"zzz_LawinServer.pak").c_str()) != 0)
{
std::cerr << "\nFailed to download zzz_LawinServer.pak.\n";
@@ -463,8 +463,7 @@ int Setup18()
AssignProcessToJobObject(job, processInformation.hProcess);
std::wstring dllPath(std::filesystem::current_path().c_str());
dllPath += L"\\MercuryInjector.dll";
std::wstring dllPath((localAppData + L"\\MercuryInjector.dll").c_str());
// reference https://github.com/ZeroMemoryEx/Dll-Injector/blob/master/DLL-Injector/Dll-Injector.cpp#L43
HANDLE fnHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processInformation.dwProcessId);

View File

@@ -1,6 +1,6 @@
Temporary, sloppily written Mercury launcher designed to keep things simple until the next update (eventually) releases.
Temporary, sloppily written Mercury launcher designed to keep things simple until the next update (never) releases.
Uses a bunch of libraries that I'm too lazy to write here, notably MinHook, libcurl & libzip
# Usage
![image](https://github.com/user-attachments/assets/ee3285e7-213e-4c05-82f6-2fd320ee0244)
<img src="https://github.com/user-attachments/assets/3e063e39-95a5-43df-b942-7bf90f1496e4" />