Merge pull request #220 from h1-mod/valid-steam

Warn if steam registry doesn't exists
This commit is contained in:
m 2022-08-16 15:16:09 -07:00 committed by GitHub
commit fd7d136bf3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 25 additions and 7 deletions

View File

@ -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;

View File

@ -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);
}

View File

@ -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.");
}
}
};

View File

@ -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.");
}
{

View File

@ -91,6 +91,22 @@ 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?
{
static bool check_for_steam_install = false;
if (!check_for_steam_install)
{
HKEY key;
if (RegOpenKeyExA(HKEY_CURRENT_USER, "Software\\Valve\\Steam", 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS)
{
RegCloseKey(key);
}
else
{
MSG_BOX_WARN("Could not find Steam in the registry. If Steam is not installed, you must install it for H1-Mod to work.");
}
check_for_steam_install = true;
}
return self.get_proc<FARPROC>(function);
}
else if (function == "ExitProcess")
@ -234,7 +250,7 @@ int main()
}
catch (std::exception& e)
{
MessageBoxA(nullptr, e.what(), "ERROR", MB_ICONERROR);
MSG_BOX_ERROR(e.what());
return 1;
}
}

View File

@ -59,6 +59,10 @@
#undef min
#endif
#define MSG_BOX_INFO(message) MessageBoxA(nullptr, message, "H1-Mod: INFORMATION", 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>