Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // dllmain.cpp : Defines the entry point for the DLL application.
- #include "stdafx.h"
- DWORD m_base = (DWORD)(GetModuleHandle(NULL));
- /*DWORD WINAPI game_enhancement_software(LPVOID param)
- {
- AllocConsole();
- freopen_s((FILE**)stdout, "CONOUT$", "w", stdout);
- obj_manager* manager = (obj_manager*)(m_base + o_object_manager);
- DWORD fnptr = m_base + d_vt_isalive;
- for (int32_t i = 0; i < manager->highest_index; i++)
- {
- object* this_object = manager->ptrs[i];
- if (this_object)
- {
- DWORD* objvtable = (DWORD*)this_object;
- objvtable = (DWORD *)objvtable[0];
- std::cout << "table " << std::dec << 120 << " addr: " << std::hex << objvtable[120] << std::endl;
- for (int i = 0; i < 0x1000; i++)
- {
- __try
- {
- if (fnptr == objvtable[i])
- {
- std::cout << "table " << std::dec << i << " addr: " << std::hex << objvtable[i] << std::endl;
- }
- }
- __except (EXCEPTION_EXECUTE_HANDLER) {};
- }
- }
- };
- return FALSE;
- }*/
- DWORD WINAPI game_enhancement_software(LPVOID param)
- {
- AllocConsole();
- freopen_s((FILE**)stdout, "CONOUT$", "w", stdout);
- DWORD localplayer = *(DWORD*)(m_base + o_local_player);
- DWORD* lpvtable = (DWORD*)localplayer;
- lpvtable = (DWORD *)lpvtable[0];
- DWORD fnptr = m_base + 0x714f50;
- for (int i = 0; i < 0x10000; i++)
- {
- __try
- {
- if (fnptr == lpvtable[i])
- {
- std::cout << "table " << std::dec << i << " addr: " << std::hex << lpvtable[i] << std::endl;
- }
- }
- __except (EXCEPTION_EXECUTE_HANDLER) {};
- }
- return FALSE;
- }
- BOOL APIENTRY DllMain( HMODULE hModule,
- DWORD ul_reason_for_call,
- LPVOID lpReserved
- )
- {
- switch (ul_reason_for_call)
- {
- case DLL_PROCESS_ATTACH:
- CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)game_enhancement_software, NULL, 0, NULL);
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
- return TRUE;
- }
Add Comment
Please, Sign In to add comment