Código: Seleccionar todo
#include <windows.h>
//[email protected]\\
//este funcion es para parchear processos en la memoria
/*BOOL loader(
char * process,//el nombre del ejecutable que queremos parchear
DWORD v_address,//el address virtual que queremos
void * array,//el array que tiene los bytes para poner en el processo
int size_arr//el tamano del array o el tamano de bytes que queremos escribir en el processo
)
*/
BOOL loader(char * process,DWORD v_address,void * array,int size_arr)
{
DWORD old;
STARTUPINFO si;
PROCESS_INFORMATION pi;
try{
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
if( !CreateProcess( process,"",NULL,NULL,FALSE,CREATE_SUSPENDED,NULL,NULL,&si,&pi ) )
{
return false;
}
if( VirtualProtectEx( pi.hProcess,(LPVOID)v_address,size_arr,0x40,&old ) ==0 )
return false;
if( WriteProcessMemory( pi.hProcess,(LPVOID)v_address,array,size_arr,&old ) ==0 )
return false;
ResumeThread( pi.hThread );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
}
catch( int i ){}
return true;
}
void main()
{
char carray[]={0x0D,0x0A};
loader("iexplore.exe",0x401000,carray,2);
}
ah otra cosa esto soluciona una parte lo del Crackme #1 por si alguien esta tratando de resolver xD
salu10