diff --git a/Cobalt/Cobalt.vcxproj b/Cobalt/Cobalt.vcxproj index de707e4..a468f06 100644 --- a/Cobalt/Cobalt.vcxproj +++ b/Cobalt/Cobalt.vcxproj @@ -148,6 +148,7 @@ + diff --git a/Cobalt/Cobalt.vcxproj.filters b/Cobalt/Cobalt.vcxproj.filters index e4570f9..e323d34 100644 --- a/Cobalt/Cobalt.vcxproj.filters +++ b/Cobalt/Cobalt.vcxproj.filters @@ -32,6 +32,9 @@ Header Files + + Header Files + diff --git a/Cobalt/README.md b/Cobalt/README.md deleted file mode 100644 index 71790af..0000000 --- a/Cobalt/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Cobalt - SSL Bypass for Fortnite diff --git a/Cobalt/curlhook.h b/Cobalt/curlhook.h index 4c95b3a..af66c6e 100644 --- a/Cobalt/curlhook.h +++ b/Cobalt/curlhook.h @@ -5,13 +5,12 @@ #include "curldefinitions.h" #include "memcury.h" +#include "settings.h" // #define HYBRID_ENABLED auto (*curl_easy_setopt_original)(CURL* Curl, uintptr_t opt, ...)->CURLcode; -std::string FNhost = "127.0.0.1:3551"; - //This routine is used for setting up curl. we will be hijacking this to change the values. auto Hijacked_curl_easy_setopt(CURL* Curl, uintptr_t opt, va_list info) -> CURLcode { @@ -36,22 +35,22 @@ auto Hijacked_curl_easy_setopt(CURL* Curl, uintptr_t opt, va_list info) -> CURLc std::regex Host(("(.*).ol.epicgames.com")); #ifdef HYBRID_ENABLED if (std::regex_search(info, std::regex(("/fortnite/api/cloudstorage/system")))) { - url = std::regex_replace(info, Host, FNhost); + url = std::regex_replace(info, Host, REDIRECT_TO_HOST); } else if (std::regex_search(info, std::regex(("/fortnite/api/v2/versioncheck/")))) { - url = std::regex_replace(info, Host, FNhost); + url = std::regex_replace(info, Host, REDIRECT_TO_HOST); } else if (std::regex_search(info, std::regex(("/fortnite/api/game/v2/profile")))) { - url = std::regex_replace(info, Host, FNhost); + url = std::regex_replace(info, Host, REDIRECT_TO_HOST); } else if (std::regex_search(info, std::regex(("/content/api/pages/fortnite-game")))) { - url = std::regex_replace(info, Host, FNhost); + url = std::regex_replace(info, Host, REDIRECT_TO_HOST); } else if (std::regex_search(info, std::regex(("/affiliate/api/public/affiliates/slug")))) { - url = std::regex_replace(info, Host, FNhost); + url = std::regex_replace(info, Host, REDIRECT_TO_HOST); } else if (std::regex_search(info, std::regex(("/socialban/api/public/v1")))) { - url = std::regex_replace(info, Host, FNhost); + url = std::regex_replace(info, Host, REDIRECT_TO_HOST); } /* else if (std::regex_search(info, std::regex(ENC("player.platform")))) { // idk if this even works if (version == S13) @@ -62,7 +61,7 @@ auto Hijacked_curl_easy_setopt(CURL* Curl, uintptr_t opt, va_list info) -> CURLc } */ #else if (std::regex_search(info, Host)) { - url = std::regex_replace(info, Host, FNhost); + url = std::regex_replace(info, Host, REDIRECT_TO_HOST); } #endif return curl_easy_setopt_original(Curl, opt, url.c_str()); diff --git a/Cobalt/dllmain.cpp b/Cobalt/dllmain.cpp index 3324c8f..09dc08a 100644 --- a/Cobalt/dllmain.cpp +++ b/Cobalt/dllmain.cpp @@ -26,7 +26,7 @@ bool InitializeCurlHook() if (!CurlEasySetOptAddr) { - std::cout << "Failed to find CurlEasySetOptAddr!"; + std::cout << "Failed to find CurlEasySetOptAddr!\n"; return false; } @@ -38,7 +38,7 @@ bool InitializeCurlHook() } else { - Memcury::VEHHook::AddHook(curl_easy_setopt_original, Hijacked_curl_easy_setopt); + Memcury::VEHHook::AddHook(curl_easy_setopt_original, Hijacked_curl_easy_setopt); // TODO find a better way to "bypass" UAC. } return true; @@ -81,7 +81,7 @@ DWORD WINAPI Main(LPVOID) if (result) { - std::cout << "Cobalt v0.1 initialized sucessfully."; + std::cout << "Cobalt v0.1 initialized sucessfully.\n"; } else { diff --git a/Cobalt/settings.h b/Cobalt/settings.h new file mode 100644 index 0000000..c3e7a41 --- /dev/null +++ b/Cobalt/settings.h @@ -0,0 +1,3 @@ +#pragma once + +#define REDIRECT_TO_HOST "127.0.0.1:3551" \ No newline at end of file