add: unloading
This commit is contained in:
@@ -15,6 +15,7 @@ BOOL APIENTRY DllMain( HMODULE hModule,
|
||||
switch (ul_reason_for_call)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
myhModule = hModule;
|
||||
init_il2cpp();
|
||||
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) Run, NULL, 0, NULL);
|
||||
break;
|
||||
|
||||
@@ -36,6 +36,11 @@ void il2cppi_new_console() {
|
||||
freopen_s((FILE**) stdout, "CONOUT$", "w", stdout);
|
||||
}
|
||||
|
||||
void il2cpp_close_console() {
|
||||
fclose((FILE *)stdout);
|
||||
FreeConsole();
|
||||
}
|
||||
|
||||
#if _MSC_VER >= 1920
|
||||
// Helper function to convert Il2CppString to std::string
|
||||
std::string il2cppi_to_string(Il2CppString* str) {
|
||||
|
||||
@@ -18,6 +18,8 @@ void il2cppi_log_write(std::string text);
|
||||
// Helper function to open a new console window and redirect stdout there
|
||||
void il2cppi_new_console();
|
||||
|
||||
void il2cpp_close_console();
|
||||
|
||||
#if _MSC_VER >= 1920
|
||||
// Helper function to convert Il2CppString to std::string
|
||||
std::string il2cppi_to_string(Il2CppString* str);
|
||||
|
||||
@@ -18,6 +18,13 @@
|
||||
// Set the name of your log file here
|
||||
extern const LPCWSTR LOG_FILE = L"DevourClient.txt";
|
||||
|
||||
HMODULE myhModule = NULL;
|
||||
DWORD __stdcall EjectThread(LPVOID lpParameter) {
|
||||
Sleep(100);
|
||||
il2cpp_close_console();
|
||||
FreeLibraryAndExitThread(myhModule, 0); //Freeing the module, that's why we needed the myhModule variable
|
||||
}
|
||||
|
||||
// Custom injected code entry point
|
||||
void Run()
|
||||
{
|
||||
@@ -38,6 +45,9 @@ void Run()
|
||||
|
||||
}
|
||||
|
||||
if (GetAsyncKeyState(VK_END) & 0x8000)
|
||||
break;
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
||||
}
|
||||
CreateThread(0, 0, EjectThread, 0, 0, 0);
|
||||
}
|
||||
@@ -3,5 +3,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
extern HMODULE myhModule;
|
||||
|
||||
// Custom injected code entry point
|
||||
void Run();
|
||||
Reference in New Issue
Block a user