warn if steam registry doesn't exists
This commit is contained in:
parent
78c2477cdb
commit
53f053a2e9
@ -162,7 +162,6 @@ namespace auth
|
||||
|
||||
if (xuid != key.get_hash())
|
||||
{
|
||||
//MessageBoxA(nullptr, steam_id.data(), std::to_string(key.get_hash()).data(), 0);
|
||||
network::send(*from, "error",
|
||||
utils::string::va("XUID doesn't match the certificate: %llX != %llX", xuid, key.get_hash()), '\n');
|
||||
return;
|
||||
|
@ -101,7 +101,7 @@ namespace exception
|
||||
utils::thread::suspend_other_threads();
|
||||
show_mouse_cursor();
|
||||
|
||||
MessageBoxA(nullptr, error_str.data(), "H1-Mod ERROR", MB_ICONERROR);
|
||||
MSG_BOX_ERROR(error_str.data());
|
||||
TerminateProcess(GetCurrentProcess(), exception_data.code);
|
||||
}
|
||||
|
||||
|
@ -90,9 +90,8 @@ namespace system_check
|
||||
|
||||
if (!is_valid())
|
||||
{
|
||||
MessageBoxA(nullptr, "Your game files are outdated or unsupported.\n"
|
||||
"Please get the latest officially supported Call of Duty: Modern Warfare Remastered files, or you will get random crashes and issues.",
|
||||
"Invalid game files!", MB_ICONINFORMATION);
|
||||
MSG_BOX_INFO("Your game files are outdated or unsupported.\n"
|
||||
"Please get the latest officially supported Call of Duty: Modern Warfare Remastered files, or you will get random crashes and issues.");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -152,7 +152,7 @@ void loader::load_exception_table(const utils::nt::library& target, const utils:
|
||||
|
||||
if (!RtlAddFunctionTable(function_list, entry_count, DWORD64(target.get_ptr())))
|
||||
{
|
||||
MessageBoxA(nullptr, "Setting exception handlers failed.", "Error", MB_OK | MB_ICONERROR);
|
||||
MSG_BOX_ERROR("Setting exception handlers failed.");
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -81,6 +81,26 @@ void get_aslr_patched_binary(std::string* binary, std::string* data)
|
||||
*binary = patched_binary;
|
||||
}
|
||||
|
||||
bool is_steam_registry_found()
|
||||
{
|
||||
static bool is_steam_installed = false;
|
||||
static bool is_steam_installed_set = false;
|
||||
|
||||
if (!is_steam_installed_set)
|
||||
{
|
||||
HKEY key = nullptr;
|
||||
if (RegOpenKeyExA(HKEY_CURRENT_USER, "Software\\Valve\\Steam", 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS)
|
||||
{
|
||||
is_steam_installed = true;
|
||||
RegCloseKey(key);
|
||||
}
|
||||
|
||||
is_steam_installed_set = true;
|
||||
}
|
||||
|
||||
return is_steam_installed;
|
||||
}
|
||||
|
||||
FARPROC load_binary(const launcher::mode mode, uint64_t* base_address)
|
||||
{
|
||||
loader loader;
|
||||
@ -91,6 +111,11 @@ FARPROC load_binary(const launcher::mode mode, uint64_t* base_address)
|
||||
if (library == "steam_api64.dll"
|
||||
&& function != "SteamAPI_GetSteamInstallPath") // Arxan requires one valid steam api import - maybe SteamAPI_Shutdown is better?
|
||||
{
|
||||
if (!is_steam_registry_found())
|
||||
{
|
||||
MSG_BOX_WARN("Could not find Steam in the registry. If Steam is not installed, you must install it for H1-Mod to work.");
|
||||
}
|
||||
|
||||
return self.get_proc<FARPROC>(function);
|
||||
}
|
||||
else if (function == "ExitProcess")
|
||||
@ -234,7 +259,7 @@ int main()
|
||||
}
|
||||
catch (std::exception& e)
|
||||
{
|
||||
MessageBoxA(nullptr, e.what(), "ERROR", MB_ICONERROR);
|
||||
MSG_BOX_ERROR(e.what());
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -59,6 +59,10 @@
|
||||
#undef min
|
||||
#endif
|
||||
|
||||
#define MSG_BOX_INFO(message) MessageBoxA(nullptr, message, "H1-Mod: WARNING", MB_ICONINFORMATION);
|
||||
#define MSG_BOX_WARN(message) MessageBoxA(nullptr, message, "H1-Mod: WARNING", MB_ICONWARNING);
|
||||
#define MSG_BOX_ERROR(message) MessageBoxA(nullptr, message, "H1-Mod: ERROR", MB_ICONERROR);
|
||||
|
||||
#include <map>
|
||||
#include <atomic>
|
||||
#include <vector>
|
||||
|
Loading…
Reference in New Issue
Block a user