| @@ -473,7 +473,7 @@ public: | |||||
| int32_t Max; | int32_t Max; | ||||
| }; | }; | ||||
| struct FString : private TArray<wchar_t> | |||||
| struct FString : TArray<wchar_t> | |||||
| { | { | ||||
| inline FString() | inline FString() | ||||
| { | { | ||||
| @@ -1323,6 +1323,15 @@ DWORD WINAPI MainThread(LPVOID param) | |||||
| atexit(callAtExit); | atexit(callAtExit); | ||||
| GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_PIN, L"BL3ProxySettings.dll", &forRefCount); | GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_PIN, L"BL3ProxySettings.dll", &forRefCount); | ||||
| MH_STATUS status; | |||||
| status = MH_Initialize(); | |||||
| while (status == MH_ERROR_NOT_INITIALIZED) { | |||||
| Sleep(200); | |||||
| status = MH_Initialize(); | |||||
| if (status == MH_ERROR_ALREADY_INITIALIZED) | |||||
| break; | |||||
| } | |||||
| while (!oMalloc) | while (!oMalloc) | ||||
| oMalloc = (tMalloc)PatternScan::FindSignature(NULL, mallocPattern.crypt_get()); | oMalloc = (tMalloc)PatternScan::FindSignature(NULL, mallocPattern.crypt_get()); | ||||
| while (!oRealloc) | while (!oRealloc) | ||||
| @@ -1397,14 +1406,7 @@ DWORD WINAPI MainThread(LPVOID param) | |||||
| } | } | ||||
| oDoThing = (tDoThing)dothingAddress;*/ | oDoThing = (tDoThing)dothingAddress;*/ | ||||
| MH_STATUS status; | |||||
| status = MH_Initialize(); | |||||
| while (status == MH_ERROR_NOT_INITIALIZED) { | |||||
| Sleep(200); | |||||
| status = MH_Initialize(); | |||||
| if (status == MH_ERROR_ALREADY_INITIALIZED) | |||||
| break; | |||||
| } | |||||
| /*while (MH_CreateHookEx((LPVOID)fsparkmanagerctor, &hkFSparkManagerCtor, &oFSparkManagerCtor) != MH_OK) | /*while (MH_CreateHookEx((LPVOID)fsparkmanagerctor, &hkFSparkManagerCtor, &oFSparkManagerCtor) != MH_OK) | ||||
| Sleep(200);*/ | Sleep(200);*/ | ||||
| while (MH_CreateHookEx((LPVOID)curl_easy_init, &hkCurl_Easy_Init, &oCurl_Easy_Init) != MH_OK) | while (MH_CreateHookEx((LPVOID)curl_easy_init, &hkCurl_Easy_Init, &oCurl_Easy_Init) != MH_OK) | ||||