How to make VC++ trainers for Warrock

12/11/2007 13:55 alexd1999#1
QUELLE:[Only registered and activated users can see links. Click Here To Register...]

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

[Only registered and activated users can see links. Click Here To Register...]



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: [Only registered and activated users can see links. Click Here To Register...]

"Wie mache ich in Vc++ einen Hack"
Was braucht ihr Dafuer?

Visual Studio 2003 .NET
[Only registered and activated users can see links. Click Here To Register...]


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
12/11/2007 14:07 deathgost1#2
thx
12/11/2007 14:23 fireblad3#3
und wo kann ich c++ downloaden ?
also ich habe Microsoft Visual C++ 2008 Express Edition
geht es damit auch ? Also wenn du selbst, weißt wie man es macht kannst du dann
einen hack für warrock hier hochladen ? (wäre nett^^)
12/11/2007 15:04 vi0l3nt#4
Auch hier bitte Quelle angeben, wo du es kopiert hast! (und ja: ich weiß, dass er kopiert ist!)
12/11/2007 16:45 reijin#5
Quote:
Originally Posted by kaan12 View Post
und wo kann ich c++ downloaden ?
also ich habe Microsoft Visual C++ 2008 Express Edition
geht es damit auch ? Also wenn du selbst, weißt wie man es macht kannst du dann
einen hack für warrock hier hochladen ? (wäre nett^^)
ja es geht damit! - bzw es sollte :D
ich hab den thread nochmal verbessert!!

VC++ != C++
(VC++ ungleich C++)
12/12/2007 04:45 Kalishun#6
ah thankyou sir that helps ^^