1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
// GUI
void execHacksId( DWORD pid )
{
DWORD buf[2] = {0, pid};
STARTUPINFO si = { sizeof(si), 0 };
PROCESS_INFORMATION pi = {0};
si.lpReserved2 = (BYTE*)buf;
#ifdef _DEBUG
#if _WIN == 32
CreateProcess( "hackProc-msw-x86-d-vc.exe",
#else
CreateProcess( "hackProc-msw-x64-d-vc.exe",
#endif
#else
#if _WIN == 32
CreateProcess( "hackProc-msw-x86-vc.exe",
#else
CreateProcess( "hackProc-msw-x64-vc.exe",
#endif
#endif
NULL, NULL, NULL, 0, 0, NULL, NULL, &si, &pi );
}
// Injectable EXE
DWORD main()
{
int procId = s_getpid();
STARTUPINFO si = { sizeof(si), 0 };
char procIdTxt[ 10 ] = {0};
char procTmp[ MAX_PATH ] = {0};
HACKDATA data = {0};
char tmp[ MAX_PATH ] = {0};
char *procTmp2 = procTmp, *tmp2 = tmp;
UZ envRetSize = 0;
HACKINFO hackInfo = {0};
CODES codes = {0};
GetStartupInfo(&si);
if ( si.lpReserved2 && ((DWORD*)si.lpReserved2)[0] == 0 )
entryPoint( ((DWORD*)si.lpReserved2)[1] );
else
{
_itoa_s( procId, procIdTxt, 10, 16 );
getenv_s( &envRetSize, data.folder, MAX_PATH, "TMP" );
strcat_s( data.folder, MAX_PATH, "\\" );
strcat_s( data.folder, MAX_PATH, procIdTxt );
strcat_s( data.folder, MAX_PATH, "\\" );
strcpy_s( data.file, MAX_PATH, data.folder );
strcat_s( data.file, MAX_PATH, "hacks.bin" );
MessageBoxA( NULL, procTmp, NULL, 0 );
if ( PathFileExistsA( data.folder ) )
{
if ( sfopen_s( &data.hacks, data.file, "rb" ) == 0 )
{
strcpy_s( data.file, MAX_PATH, data.folder );
strcat_s( data.file, MAX_PATH, "codes.bin" );
if( sfopen_s( &data.codes, data.file, "rwb" ) == 0 &&
sfread( &hackInfo, sizeof( HACKINFO ), 1, data.hacks ) != 0 )
{
// Start Loading codes
hackProc( &data, &hackInfo, &codes, -1, 0 );
sfclose( data.codes );
}
sfclose( data.hacks );
}
}
}
ExitThread(0);
return 0;
}
|