diff --git a/src/client/component/arxan.cpp b/src/client/component/arxan.cpp index 123eab45..e6b80737 100644 --- a/src/client/component/arxan.cpp +++ b/src/client/component/arxan.cpp @@ -112,18 +112,15 @@ namespace arxan bool is_wine() { - static bool is_wine = false; - static bool is_wine_set = false; + static std::optional is_wine = {}; - if (!is_wine_set) + if (!is_wine.has_value()) { const utils::nt::library ntdll("ntdll.dll"); is_wine = ntdll.get_proc("wine_get_version") != nullptr; - - is_wine_set = true; } - return is_wine; + return is_wine.value(); } class component final : public component_interface diff --git a/src/client/component/system_check.cpp b/src/client/component/system_check.cpp index dc586cce..3d1f7e99 100644 --- a/src/client/component/system_check.cpp +++ b/src/client/component/system_check.cpp @@ -68,17 +68,16 @@ namespace system_check void verify_binary_version() { const auto value = *reinterpret_cast(0x1337_b); - if (arxan::is_wine()) { - if (value == 0xFFB81262 && value == 0xFFB81143) + if (value == 0xFFB81262 || value == 0xFFB81143) { return; } } else { - if (value == 0x60202B6A && value == 0xBC0E9FE) + if (value == 0x60202B6A || value == 0xBC0E9FE) { return; }