#ifndef _INCLUDE_CE_AUTOASSEMBLE_ #define _INCLUDE_CE_AUTOASSEMBLE_ #include #include #include // // CEInitialize // typedef int (__stdcall *CEInitialize)(DWORD,DWORD); bool CallCEInitialize(TCHAR* tszProcName) { // // Make Sure The Process Exists And Obtain Handle // HANDLE dwHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID); if( dwHandle == INVALID_HANDLE_VALUE || dwHandle == NULL ) return false; // // Attempt To Load ceautoassembler.dll // Get Procedure Address Of CEInitialize // HMODULE hModule = LoadLibrary( "ceautoassembler.dll" ); if( !hModule ){ return false; } CEInitialize dwProcAddr = (CEInitialize)GetProcAddress(hModule,"CEInitialize"); // // Call Function // bool bReturnResult = false; bReturnResult = (bool)(dwProcAddr)(pe32.th32ProcessID,(DWORD)dwHandle); // // Return Result // return bReturnResult; } // // CEAssemble // typedef int (__stdcall *CEAutoAsm)(char*, bool, DWORD); bool CallCEAssemble(char* szScript, bool bEnable, DWORD dwAllocId) { // // Attempt To Load ceautoassembler.dll // Get Procedure Address Of CEAutoAsm // HMODULE hModule = LoadLibrary( "ceautoassembler.dll" ); if( !hModule ){ return false; } CEAutoAsm dwProcAddr = (CEAutoAsm)GetProcAddress(hModule,"CEAutoAsm"); // // Call Function // bool bReturnResult = false; bReturnResult = (bool)(dwProcAddr)(szScript, bEnable, dwAllocId); // // Return Result // return bReturnResult; } #endif