MPGH PB Base memory - By: ForeverRed
Code:
/***************************************************************/
/* MPGH PB Base memory
/* Credits:
/* ForeverRed
/***************************************************************/
Source.cpp
Code:
#include <Windows.h>
#include <process.h>
#include "cTools.h"
Tools *cTools;
int HACK[5];
void HackThread(LPVOID)
{
if( GetAsyncKeyState(VK_F5)&1 )
HACK[0] = ! HACK[0];
if( HACK[0] != NULL)
{
//Function here.
}
}
void IniciarRotina()
{
while(! cTools->ReadyInGame())
Sleep(250);
while(true)
{
__asm CALL [HackThread];
}
}
BOOL APIENTRY DllMain( HMODULE hModule, DWORD dwReason, LPVOID lpReserved )
{
if( dwReason == DLL_PROCESS_ATTACH )
{
MessageBox( 0, " Project Blackou Memory Base \n By: ForeverRed", "MPGH.net", MB_OK );
cTools->MakeThread(IniciarRotina);
}
return true;
}
cTools.h
Code:
struct Variaveis
{
int FUNCTIONS[100];
};
class Tools
{
public:
void NOP(void *pAddress, void *ptr, int dwLen) ;
void MakeThread(void* Thread);
bool ValidPointer( void* p );
BOOL ReadyInGame();
};
cTools.cpp
Code:
#include <Windows.h>
#include "cTools.h"
BOOL Tools::ReadyInGame()
{
return((DWORD)GetModuleHandleA("PBlackout.exe") &&
(DWORD)GetModuleHandle("d3d9.dll") ? true : false );
}
void Tools::NOP(void *pAddress, void *ptr, int dwLen)
{
DWORD dwOldProtect, dwBkup;
VirtualProtect(pAddress, dwLen, PAGE_EXECUTE_READWRITE, &dwOldProtect);
dwBkup = (DWORD)_memccpy(pAddress,ptr,dwLen,dwLen);
VirtualProtect(pAddress, dwLen, dwOldProtect, &dwBkup);
VirtualProtect(pAddress, dwLen, PAGE_EXECUTE_READWRITE, &dwBkup);
}
void Tools::MakeThread(void* pThread)
{
__asm
{
PUSH 0;
PUSH 0;
PUSH 0;
PUSH [pThread];
PUSH 0;
PUSH 0;
CALL DWORD PTR DS:[CreateThread];
}
}
bool Tools::ValidPointer( void* p )
{
return !IsBadReadPtr( p, 4 ) && p;
}