aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDedicatedTest/ExploitFixes.cpp
diff options
context:
space:
mode:
authorpg9182 <96569817+pg9182@users.noreply.github.com>2022-08-08 06:12:11 -0400
committerGitHub <noreply@github.com>2022-08-08 11:12:11 +0100
commit5e7668c2cd7ef9d017536f1e2e4ec89708f5b74f (patch)
tree6c55b909fd258251c238bfad9caf83113fd88f33 /NorthstarDedicatedTest/ExploitFixes.cpp
parent286cea5f6280e568f5cb4c953d93993c98625ce4 (diff)
downloadNorthstarLauncher-5e7668c2cd7ef9d017536f1e2e4ec89708f5b74f.tar.gz
NorthstarLauncher-5e7668c2cd7ef9d017536f1e2e4ec89708f5b74f.zip
Fix most clang/mingw issues (#226)
- Fix include case. - Replace MSVC-specific align with standard alignas. - Type fixes. - Delete operator noexcept. - A few other minor issues. - clang-format everything. - Use c++20 instead of c++17. - Rewrite ERROR macro for launcher_wsock32_proxy. - Use a plain ifstream for the audio.cpp wavStream. Note: When compiling with clang, you'll need -municode. Related to #212.
Diffstat (limited to 'NorthstarDedicatedTest/ExploitFixes.cpp')
-rw-r--r--NorthstarDedicatedTest/ExploitFixes.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/NorthstarDedicatedTest/ExploitFixes.cpp b/NorthstarDedicatedTest/ExploitFixes.cpp
index 2f4e2b5c..31fa349a 100644
--- a/NorthstarDedicatedTest/ExploitFixes.cpp
+++ b/NorthstarDedicatedTest/ExploitFixes.cpp
@@ -204,7 +204,7 @@ KHOOK(ReadUsercmd, ("server.dll", "4C 89 44 24 ? 53 55 56 57"), void, __fastcall
oReadUsercmd(buf, pCmd_move, pCmd_from);
// Now let's make sure the CMD we read isnt messed up to prevent numerous exploits (including server crashing)
- struct __declspec(align(4)) SV_CUserCmd
+ struct alignas(4) SV_CUserCmd
{
DWORD command_number;
DWORD tick_count;
@@ -291,7 +291,11 @@ KHOOK(
static void* targetRetAddr = NSMem::PatternScan("engine.dll", "84 C0 75 2C 49 8B 16");
+#ifdef _MSC_VER
if (_ReturnAddress() == targetRetAddr)
+#else
+ if (__builtin_return_address(0) == targetRetAddr)
+#endif
{
if (!ExploitFixes_UTF8Parser::CheckValid(a1, a2, strData))
{
@@ -546,4 +550,4 @@ void ExploitFixes::LoadCallback_Full(HMODULE baseAddress)
HookEnabler hook;
ENABLER_CREATEHOOK(hook, (char*)baseAddress + 0x2a8a50, &GetEntByIndexHook, reinterpret_cast<LPVOID*>(&GetEntByIndex));
-} \ No newline at end of file
+}