diff --git a/.gitignore b/.gitignore index 47acc836..3018cf70 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,6 @@ release/* /dll/net.pb.h base.exp base.lib -rtlgenrandom* steamclient.exp steamclient.lib out/* diff --git a/dll/base.cpp b/dll/base.cpp index 507e0348..ab52edae 100644 --- a/dll/base.cpp +++ b/dll/base.cpp @@ -22,8 +22,9 @@ static void randombytes(char * const buf, const size_t size) { - while (!RtlGenRandom((PVOID) buf, (ULONG) size)) { - PRINT_DEBUG("RtlGenRandom ERROR\n"); + // NT_SUCCESS is: return value >= 0, including Ntdef.h causes so many errors + while (BCryptGenRandom(NULL, (PUCHAR) buf, (ULONG) size, BCRYPT_USE_SYSTEM_PREFERRED_RNG) < 0) { + PRINT_DEBUG("BCryptGenRandom ERROR\n"); Sleep(100); } diff --git a/dll/common_includes.h b/dll/common_includes.h index 3b435456..964535ae 100644 --- a/dll/common_includes.h +++ b/dll/common_includes.h @@ -61,9 +61,7 @@ #define MSG_NOSIGNAL 0 - #define SystemFunction036 NTAPI SystemFunction036 - #include - #undef SystemFunction036 + #include #ifndef EMU_RELEASE_BUILD #define PRINT_DEBUG(a, ...) do {FILE *t = fopen("STEAM_LOG.txt", "a"); fprintf(t, "%u " a, GetCurrentThreadId(), __VA_ARGS__); fclose(t); WSASetLastError(0);} while (0) diff --git a/dll/rtlgenrandom.c b/dll/rtlgenrandom.c deleted file mode 100644 index e160da46..00000000 --- a/dll/rtlgenrandom.c +++ /dev/null @@ -1,4 +0,0 @@ -#include -#define RtlGenRandom SystemFunction036 -#define DLLEXPORT __declspec(dllexport) -DLLEXPORT BOOLEAN WINAPI RtlGenRandom(PVOID in, ULONG len) {} \ No newline at end of file diff --git a/dll/rtlgenrandom.def b/dll/rtlgenrandom.def deleted file mode 100644 index 3f23d20e..00000000 --- a/dll/rtlgenrandom.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY advapi32.dll -EXPORTS -SystemFunction036 \ No newline at end of file