
1)Open VC++,Goto file/new/ MFC app wisard.exe
Make Project name: example = (My trainer), then hit ok
Now it asks you what type of application you want to make(clcik dialog based),hit next
now it asks what features would you like to include(leave same)Next
it asks what other support(Unclick ActiveX Controls),Hit next and finish,it opens a new window, hit ok
We now have our trainer template (or better known as Dialog)
2)Remove the crap on the Dialog(buttons,text,etc.)
Resize if needed
Lets make our trainer load warrock process
Right Click on the dialog,hit Class wizard,new window will open,hit edit code
This is were all the codeing goes
Scroll to the top of code look for this
Code:
// my trainerDlg.cpp : implementation file
//
#include "stdafx.h"
#include "my trainer.h"
#include "my trainerDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
This is what it should look like
Code:
DWORD proc_id;
HANDLE hProcess;
void memory()
{
HWND hWnd = FindWindow(0, "WarRock");
GetWindowThreadProcessId(hWnd, &proc_id);
hProcess = OpenProcess(PROCESS_ALL_ACCESS|PROCESS_VM_OPERATIO N|PROCESS_VM_READ|PROCESS_VM_WRITE|PROCESS_QUERY_I NFORMATION, FALSE, proc_id);
}This is what it should look like
Code:
// my trainerDlg.cpp : implementation file
//
#include "stdafx.h"
#include "my trainer.h"
#include "my trainerDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
DWORD proc_id;
HANDLE hProcess;
void memory()
{
HWND hWnd = FindWindow(0, "WarRock");
GetWindowThreadProcessId(hWnd, &proc_id);
hProcess = OpenProcess(PROCESS_ALL_ACCESS|PROCESS_VM_OPERATIO N|PROCESS_VM_READ|PROCESS_VM_WRITE|PROCESS_QUERY_I NFORMATION, FALSE, proc_id);
}We have now set the process to warrock(you can use this on any game,just change the warrock to whatever game process)
Lets move on
Go back to your Dialog(Hit window button (next to help button up top),hit My trainer(dialog)
Add a button(click on a button,drag it to dialog)
right click it,hit properties(change the caption,this is the name of the button)
Lets make it Scope On
Now right click it again and hit Class Wizard
When you Highlight BN_CLICKED(Hit add Function button)
replace the highlight part only!!!!!!!(OnButton1),only change Button1 to ScopeOn
so it will look like this(OnScopeOn)
now while we are here in the function for ScopeOn button,lets set the code for our button.Hit teh edit code button
it takes you to this wich is highlighted
// TODO: Add your control notification handler code here
we will replace this with our code,notice its inbetween 2 astereks or w/e they are
Code:
void CMytrainerDlg::OnScopeOn()
{
// TODO: Add your control notification handler code here
}This is what it should look like
Code:
void CMytrainerDlg::OnScopeOn()
{
Writelong(0x943A16, 1);
}EDIT:Forgot Functions
ok above the last bit of codeing add this for writelong function
(just add some space above your last bit of codeing)
Code:
void Writelong(long addy, long value)
{
memory();
WriteProcessMemory(hProcess, (LPVOID*)(DWORD) addy, &value, sizeof(value), NULL);
}
void WritePointerFloat(long addy, short offset, float value)
{
long maddy;
long saddy;
memory();
ReadProcessMemory(hProcess, (LPVOID*)(DWORD) addy, &maddy, sizeof(maddy), NULL);
saddy = maddy + offset;
WriteProcessMemory(hProcess, (LPVOID*)(DWORD) saddy, &value, sizeof(value), NULL);
}
NOW,lets build our trainer
first we must compile so lets rebiuld (goto the build button,hit rebuild all,uptop)
to see if we have any errors
if you did everything correct as shown(you shouldnt get any errors)
If you get no errors then go back to build button/hit build my trianer.exe
your project will be located in your VC++ folder,in my projects.
now we have made a simple scope hack(I know buttons arnt good for scope,this was just to show you how to do it in VC++(all the functions are there to make any hack that doesnt need a timer to freese it.
FIXED ALL ERRORS THANKS TO -CD-
heres the source and trainer in the debug folder
hope this helps
Auf deutsch:
QUELLE:
"Wie mache ich in Vc++ einen Hack"
Was braucht ihr Dafuer?
Visual Studio 2003 .NET

Wie gehts weiter?
Nun öffnet ihr das ganze indem ihr auf [IMG]http://***********/pics/tutcpp/1.jpg[/IMG]Doppelklickt!
nun sollte das ganze öffnen um nun einzelne Dateien Anzuschauen sucht nach einem Tool namens Solution Explorer!
Sieht so aus:[IMG]http://***********/pics/tutcpp/2.jpg[/IMG]
Da Öffnet ihr euch die wichtigsten dateien des projects:
* Form1.h (Code & Style Ansicht)
* Form1.cpp
* form_funcs.h
Dieser Source Code ist bereits eine fertige vorlage und einsatzfähig !!! ABER die Adressen sind alle alt !!!
Versucht zu Verstehen was was ist!
um adressen einzufügen zb von CE müsst ihr das 00 entfernen und durch 0x ersetzen!
Pointer werden so geused:
Form1.h
--------------------------------------------------------------------
memcpy_ev( ( void* )( ( GetPointer( ) ) + 0x180 ), &cvar.mf_superjump, sizeof( float ) );
--------------------------------------------------------------------
Form1.cpp
--------------------------------------------------------------------
int Get_Handle()
{
DWORD proc_id = 0;
if( hWarRock != NULL )return (int)hWarRock;
hWnd = FindWindow( "WarRock", 0 );
if( hWnd == NULL )return NULL;
GetWindowThreadProcessId( hWnd, &proc_id );
return (int)OpenProcess( PROCESS_ALL_ACCESS, false, proc_id );
}
void *memcpy_ev( void* pxAddress, void* pxBuffer, unsigned long sxSize )
{
DWORD dzy = 0;
if( WriteProcessMemory( (HANDLE)Get_Handle( ), pxAddress, pxBuffer, sxSize, &dzy ) == TRUE )
{
return pxAddress;
}
return NULL;
}
unsigned long GetPointer( )
{
DWORD dzy, dzRead = 0;
if( ReadProcessMemory( ( HANDLE )Get_Handle( ), ( void* )0x008B5288, &dzy, sizeof( DWORD ), &dzRead ) == TRUE )
{
return dzy;
}
return 0;
}
--------------------------------------------------------------------
form_funcs.h
--------------------------------------------------------------------
int Get_Handle();
void *memcpy_ev( void* pxAddress, void* pxBuffer, unsigned long sxSize );
unsigned long GetPointer( );
--------------------------------------------------------------------
So das wäre der Code alles Wichtige ist ROT Makiert, in der Form1.h komt das offset rein ( 0x180 (alt)) und Form1.cpp bei GetPointer() function das ist die Player Pointer Adresse!!!
Nun noch wie ihr es undetected macht:
Ich habe euch bei dem Code oben das hierfür wichtige GRÜN makiert, Ihr müsst nun in allen 3 Dateien diese Namen gleich ändern also ändert ihr Get_Handle auf wr_run dann müsst ihr das in denn anderen 2 dateien ebenfalls gleich umbenennen ( in Form1.h: je mehr hacks geaddet sind um so öfter kommt es zb vor GetHandle wird aber nur für timer gebraucht)
nach umbennenen ist euer hack undetected (ausser ihr verwendet detected hacks wie GPS)
CREDITS GEHEN NICHT AN MICH
ICH HAB ES HIER NUR GEPOSTET
Hoffentlich hilft dies jemanden
MfG Alexd1999,Maffiose






