#include "VBProxy.h" #include "DebugPrintf.h" BOOL APIENTRY DllMain( HANDLE, DWORD ul_reason_for_call, LPVOID ) { switch( ul_reason_for_call ) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } typedef int (__stdcall *CEInitialize)(DWORD,DWORD); BOOL __stdcall vbCEInitAsm(DWORD dwProcId, BOOL* bPassFail) { // // Get Handle // HANDLE dwHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcId); if( dwHandle == INVALID_HANDLE_VALUE || dwHandle == NULL ) { *bPassFail = FALSE; return FALSE; } // // Load Library // HMODULE hModule = LoadLibrary("ceautoassembler.dll"); if( !hModule ) { *bPassFail = FALSE; return FALSE; } // // Call Function // CEInitialize dwProcAddr = (CEInitialize)GetProcAddress(hModule,"CEInitialize"); *bPassFail = (BOOL)(dwProcAddr)(dwProcId, (DWORD)(DWORD_PTR)dwHandle); return TRUE; } /* typedef int (__stdcall *CEAutoAsm)(char*, bool, int*); BOOL __stdcall vbCEAutoAsm(char* szScript, bool bEnabled, DWORD* ipAllocId) { HMODULE hModule = LoadLibrary("ceautoassembler.dll"); if( !hModule ) return FALSE; CEAutoAsm dwProcAddr = (CEAutoAsm)GetProcAddress(hModule,"CEAutoAsm"); if( bEnabled ) { int dwAllocId = NULL; (dwProcAddr)(szScript, bEnabled, &dwAllocId); *ipAllocId = dwAllocId; DebugPrintf("==Allocated At: %d", dwAllocId); } else { (dwProcAddr)(szScript, bEnabled, 0); } return TRUE; } */ typedef int (__stdcall *CEAutoAsm)(char*, bool, int*); BOOL __stdcall vbCEEnableScript(char* szScript, DWORD* ipAllocId) { HMODULE hModule = LoadLibrary("ceautoassembler.dll"); if( !hModule ) return FALSE; CEAutoAsm dwProcAddr = (CEAutoAsm)GetProcAddress(hModule,"CEAutoAsm"); int dwAllocId = NULL; (dwProcAddr)(szScript, true, &dwAllocId); *ipAllocId = dwAllocId; return TRUE; } typedef int (__stdcall *CEAutoAsmDisable)(char*, bool, int); BOOL __stdcall vbCEDisableScript(char* szScript, DWORD ipAllocId) { HMODULE hModule = LoadLibrary("ceautoassembler.dll"); if( !hModule ) return FALSE; CEAutoAsmDisable dwProcAddr = (CEAutoAsmDisable)GetProcAddress(hModule,"CEAutoAsm"); (dwProcAddr)(szScript, false, ipAllocId); return TRUE; }