[Tutorial] Gamehacking Howto I [Ger]

02/27/2010 16:06 Adroxxx#211
1. Windows ist seit XP nur noch Beta. Windows 7 kann man nicht als final bezeichnen. Allgemein ist fast alles bei Microsoft beta.
2. Die erkennung von CE mit dem Basepointer ist nicht 100%ig. Wenn man sicher gehen will, muss man es per Hand machen.
02/27/2010 16:15 .Hєro#212
Mhm, Total Nice ;D
02/27/2010 21:50 iMölwin#213
Ne ich studiere noch nit...dann muss ich erstmal die Express version nehmen oder geht das dar mit überhaupt nit?

Sonst muss ich meinen Onkel fragen ob der es hat...

Mfg killer
03/06/2010 20:28 FichteFoll#214
*hust* Windows 7 hat eine andere Version von Solitär *hust*

Den Pointer hatte ich mal gehabt (aus Langeweile), für ca. 1 Monat ging der.
Deswegen habe ich auch keinen aktuellen im Moment ;)
04/01/2010 12:16 Elite_Player#215
Nehmen wir an ich würde einen S4 League Hack machen wollen...
Ich brauche den Base Pointer, kann ihn aber (wegen X-trap) nicht heraus finden.
Gibt es in Msc eine Möglichkeit die Variable zu definieren, sie dann zu suchen, und dann den Basepointer zu ermitteln? Oder wie würdest du das machen? Danke im voraus, Elite_player.
Pm ist natürlich auch iO.^-^
Zu Solitär:
so sieht bei mir der debug aus:
PHP Code:
1>SolitärHAckLatestVersion.cpp
1
>.\SolitärHAckLatestVersion.cpp(11) : error C2653'CSolitärHAckLatestVersion'Keine Klasse oder Namespace
1>.\SolitärHAckLatestVersion.cpp(11) : error C2653'CSolitärHAckLatestVersion'Keine Klasse oder Namespace
1>.\SolitärHAckLatestVersion.cpp(11) : error C2496'classCSolitärHAckLatestVersion''selectany' kann nur auf Daten mit externer Bindung angewendet werden
1
>.\SolitärHAckLatestVersion.cpp(11) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(11) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(11) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(11) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(11) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(11) : error C2270'GetRuntimeClass'Modifizierer für Funktionen, die keine Memberfunktionen sindnicht zulässig
1
>.\SolitärHAckLatestVersion.cpp(11) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(13) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(13) : error C2143SyntaxfehlerEs fehlt ')' vor '*'
1>.\SolitärHAckLatestVersion.cpp(13) : error C2143SyntaxfehlerEs fehlt ';' vor '*'
1>.\SolitärHAckLatestVersion.cpp(13) : error C2079'CWnd' verwendet undefiniertes class 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(13) : error C2059Syntaxfehler')'
1>.\SolitärHAckLatestVersion.cpp(14) : error C2470"pParent"Sieht wie eine Funktionsdefinition auses ist aber keine Parameterliste vorhandensichtbarer Funktionstext wird übersprungen.
1>.\SolitärHAckLatestVersion.cpp(14) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(14) : error C2065'IDD'nichtdeklarierter Bezeichner
1
>.\SolitärHAckLatestVersion.cpp(14) : error C2065'pParent'nichtdeklarierter Bezeichner
1
>.\SolitärHAckLatestVersion.cpp(19) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(19) : error C2059Syntaxfehler')'
1>.\SolitärHAckLatestVersion.cpp(20) : error C2143SyntaxfehlerEs fehlt ';' vor '{'
1>.\SolitärHAckLatestVersion.cpp(20) : error C2447'{'Funktionsheader fehlt Parameterliste im alten Stil?
1>.\SolitärHAckLatestVersion.cpp(23) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(25) : error C2248"CWnd::DoDataExchange"Kein Zugriff auf protected Memberdessen Deklaration in der CWnd-Klasse erfolgte.
1>        c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxwin.h(2857): Siehe Deklaration von 'CWnd::DoDataExchange'
1>        c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxwin.h(2089): Siehe Deklaration von 'CWnd'
1>.\SolitärHAckLatestVersion.cpp(25) : error C2352'CWnd::DoDataExchange'Unzulässiger Aufruf einer nicht statischen Memberfunktion
1
>        c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxwin.h(2857): Siehe Deklaration von 'CWnd::DoDataExchange'
1>.\SolitärHAckLatestVersion.cpp(29) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(29) : error C2270'GetMessageMap'Modifizierer für Funktionen, die keine Memberfunktionen sindnicht zulässig
1
>.\SolitärHAckLatestVersion.cpp(29) : error C3861"GetThisMessageMap"Bezeichner wurde nicht gefunden.
1>.\SolitärHAckLatestVersion.cpp(29) : error C2027Verwendung des undefinierten Typs "CSolitärHAckLatestVersion"
1>        .\SolitärHAckLatestVersion.cpp(11): Siehe Deklaration von 'CSolitärHAckLatestVersion'
1>.\SolitärHAckLatestVersion.cpp(30) : error C2248"CDialog::GetThisMessageMap"Kein Zugriff auf protected Memberdessen Deklaration in der CDialog-Klasse erfolgte.
1>        c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxwin.h(3166): Siehe Deklaration von 'CDialog::GetThisMessageMap'
1>        c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxwin.h(3068): Siehe Deklaration von 'CDialog'
1>Solitär Hack Latest VersionDlg.cpp
1
>.\Solitär Hack Latest VersionDlg.cpp(162) : error C3861"m_lesen"Bezeichner wurde nicht gefunden.
1>.\Solitär Hack Latest VersionDlg.cpp(168) : error C3861"m_schreiben"Bezeichner wurde nicht gefunden.
1>.\Solitär Hack Latest VersionDlg.cpp(171) : error C2039'm_lesen'Ist kein Element von 'CSolitärHackLatestVersionDlg'
1>        c:\users\jan\documents\visual studio 2008\projects\solitär hack latest version\solitär hack latest version\Solitär Hack Latest VersionDlg.h(8): Siehe Deklaration von 'CSolitärHackLatestVersionDlg'
1>.\Solitär Hack Latest VersionDlg.cpp(173) : error C2065'pWnd'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(175) : error C2065'hWnd'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(175) : error C2065'pWnd'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(175) : error C2227Links von "->GetSafeHwnd" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
1>        Typ ist ''unknown-type''
1>.\Solitär Hack Latest VersionDlg.cpp(175) : error C2514'HWND'Klasse besitzt keine Konstruktoren
1
>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\windef.h(208): Siehe Deklaration von 'HWND'
1>.\Solitär Hack Latest VersionDlg.cpp(180) : error C3861"UpdateData"Bezeichner wurde nicht gefunden.
1>.\Solitär Hack Latest VersionDlg.cpp(189) : error C2065'hWnd'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(197) : error C2065'm_Value'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(197) : error C2228Links von ".Format" muss sich eine Klasse/Struktur/Union befinden.
1>        Typ ist ''unknown-type''
1>.\Solitär Hack Latest VersionDlg.cpp(199) : error C3861"UpdateData"Bezeichner wurde nicht gefunden.
1>.\Solitär Hack Latest VersionDlg.cpp(204) : error C2039'm_schreiben'Ist kein Element von 'CSolitärHackLatestVersionDlg'
1>        c:\users\jan\documents\visual studio 2008\projects\solitär hack latest version\solitär hack latest version\Solitär Hack Latest VersionDlg.h(8): Siehe Deklaration von 'CSolitärHackLatestVersionDlg'
1>.\Solitär Hack Latest VersionDlg.cpp(206) : error C2065'pWnd'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(208) : error C2065'hWnd'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(208) : error C2065'pWnd'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(208) : error C2227Links von "->GetSafeHwnd" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
1>        Typ ist ''unknown-type''
1>.\Solitär Hack Latest VersionDlg.cpp(208) : error C2514'HWND'Klasse besitzt keine Konstruktoren
1
>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\windef.h(208): Siehe Deklaration von 'HWND'
1>.\Solitär Hack Latest VersionDlg.cpp(222) : error C3861"UpdateData"Bezeichner wurde nicht gefunden.
1>.\Solitär Hack Latest VersionDlg.cpp(224) : error C2065'hWnd'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(231) : error C2065'm_value'nichtdeklarierter Bezeichner
1
>.\Solitär Hack Latest VersionDlg.cpp(235) : error C3861"UpdateData"Bezeichner wurde nicht gefunden.
1>Solitär Hack Latest Version.cpp
1
>Das Buildprotokoll wurde unter "file://c:\Users\Jan\Documents\Visual Studio 2008\Projects\Solitär Hack Latest Version\Solitär Hack Latest Version\Release\BuildLog.htm" gespeichert.
1>Solitär Hack Latest Version 54 Fehler0 Warnung(en)
========== 
Erstellen0 erfolgreichFehler bei 10 aktuell0 übersprungen ========== 
Ich glaube, das ein using namespace ?;
helfen würde, und dass es auch etwas an der VS-ersion liegt.
Ich hab Visual Studio 2008.
Ein gesammelter Quellcode würde mir vllt helfen,
Danke.
Ps: Windows 7 Professional 64 bit
Wenn du noch infos zu meinem Visual Studio brauchst ->PM
04/14/2010 00:29 schlat#216
Quote:
Originally Posted by Adroxxx View Post
Hast du mal versucht die Anwendung neu zu machen? Das hatte ich bei MFC hin und wieder mal, dass anscheinend kein eindeutiger Fehler zu sehen ist, aber es nicht funktioniert hat. Nachdem ich dann die Anwendung neu gemacht habe, ging es dann.

Also am besten mal Anwendung neu machen.


Du könntest auch mal versuchen CWnd::FindWindowEx zu benutzten anstatt CWnd::FindWindowExW.

Du könntest auch mal eine andere Ziel Anwendung Probieren, anstatt Solitär mal FreeCell oder Hearts oder so nehmen.

Was du auch mal Probieren kannst, ist dem Prozess Debug Privilegien zu geben, wobei ich mir nicht vorstellen kann, dass es daran liegt, da ja ReadProcessMemory schon nicht Funktioniert bei dir.

PHP Code:
HANDLE hToken;
    
TOKEN_PRIVILEGES oldtp;
    
DWORD dwSize;
    
HANDLE hProc;
    
LUID luid;
    
TOKEN_PRIVILEGES tp;
 
    
hProc GetCurrentProcess();
 
    if (!
OpenProcessToken(hProcTOKEN_QUERY |
        
TOKEN_ADJUST_PRIVILEGES, &hToken))
        return;
 
    if (!
LookupPrivilegeValue(NULLSE_DEBUG_NAME, &luid))
    {
        
CloseHandle (hToken);
        return;
    }
 
    
ZeroMemory(&tpsizeof (tp));
 
    
tp.PrivilegeCount 1;
    
tp.Privileges[0].Luid luid;
    
tp.Privileges[0].Attributes SE_PRIVILEGE_ENABLED;
 
    if (!
AdjustTokenPrivileges (hTokenFALSE, &tpsizeof(TOKEN_PRIVILEGES),
        &
oldtp, &dwSize))
    {
        
CloseHandle(hToken); 
Schau mal in deinen Visual Studio Ordner, unter Common/Tools, da ist eine Spyxx.exe damit kannst du herausfinden, welches Handle ein Fenster hat.
yap ist schon ein bissle länger her, aber ich dachte ich spiel mal wieder mit C++ rum.
Hatte das gleiche Problem wie Adroxxx. Konnte alles auslesen bis auf die ProzessID von OpenProcess --> GetLastError = 5 (keine Zugriffsrechte).
Ab MVSC++ 2008 sollten vorher noch die Privelege gesetzt werden. Mit dem vorherigen aufruf von EnableDebugPriv() vor der OpenProcess() lief dein Tut auf meiner 2008 Version (XP und Win7)
PHP Code:
void EnableDebugPriv() {
    
HANDLE hToken;
    
LUID luid;
    
TOKEN_PRIVILEGES tkp;

    
OpenProcessTokenGetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES TOKEN_QUERY, &hToken );

    
LookupPrivilegeValueNULLSE_DEBUG_NAME, &luid );

    
tkp.PrivilegeCount 1;
    
tkp.Privileges[0].Luid luid;
    
tkp.Privileges[0].Attributes SE_PRIVILEGE_ENABLED;

    
AdjustTokenPrivilegeshTokenfalse, &tkpsizeoftkp ), NULLNULL );

    
CloseHandlehToken ); 

05/18/2010 19:32 saluege#217
guide looks amazing. only 1 problem, i cant read what language it is in. can some1 translate it plz..:handsdown:
05/22/2010 17:39 palabiatch#218
//Final Edit: ok letzendlich doch hinbekommen , komplett alles talentpunkte, skillpunkte, level, hp, gold und speed (an tele hab ich mir zähne ausgebissen), jetzt noch schön in ne sprache haun und releasen..mal sehn xD (n paar von den base pointern sind nicht statisch, davon die base gibts aber iwie nich o.o, das nervt D=)
danke nochmal für das tolle tutorial <3

PS:tschuldigung, dass ich relativ unübersichtlich schreibe :p


ALSO xD
zum dritten mal kompletten post gelöscht ^-^

1.Multiple Adressen die eine value angeben:
Also einfaches beispiel bei diablo 2 wäre gold: hab 50 k lasse 10 k fallen und hab meine 5 adressen.
~Bleiben dieselben egal wie viel ich mit dem gold rumspiele
Nun wenn ich alle Values auf 100 k ändere hab ich auch 100 k ingame zum ausgeben fallen lassen usw.
~wenn ich allerdings nur eine ändere wird das gold (je nachdem welche ich ändere) verbuggt, entweder nur angezeigt aber eigentlich noch alter betrag oder wenn ich fallen lasse dann sind das komplett falsche beträge die ich wieder aufhebe
Meine frage ist jetzt wie ich hier den base-pointer finden kann. Die sind ja scheinbar schon pointer zu den jweils anderen nur find ich nicht raus bei welchem ich jetzt nach dem base-pointer suchen sollte. das sind ja viele pointer-"wege" und ich hab keine lust mich da 2 stunden hinzusetzen und jeden einzeln auszuprobieren.
wenn das die einzige möglichkeit is geb ichs mit memory search auf xD

2.gibt es eine möglichkeit emulierte spielekonsolen mit memory search programmen zu hacken? habs bei vba (visual boy advance) versucht und komme da nicht zurecht ;o
//Edit: hat sich erledigt, bei manchen spielen bekomm ichs doch hin, wenn ich nicht mit exact value arbeite (bei pokemon(ja das spiel ich xD) gehts sogar mit exact =D)

3. habe das problem bei manchen flashgames, dass er keine werte findet, obwohl das eigentlich unmöglich ist^^ kleines beispiel bloons tower defense 4, ich nehm geld als unknown start value, dann geb ich was aus und decreased, dann nochmal ausgeben und decreased und nochmal einfach unchanged, dann mal ne runde spielen und increased usw... am ende bleibt NIE eine adresse über >.< auch wenn ichs gespiegelt versuche, also bei geld weg increased und bei geld dazu decreased (weiß nichmehr wo das so herum funktioniert hat, aber irgend n flashgame wars :P)
05/30/2010 19:05 karemgiga#219
thxxxxx for this man keep up
05/31/2010 18:05 -CyberShot-#220
wenn ich ,,Find out what access this address" drücke steht erst mal ,,this will touch the debugger of cheat engine to the current process,Continue?" wenn ich yes geklickt hab steht das ,,cheat engine failed to attach to the process(error=50) und wenn ich dann auf ok klicke schließt sich das fenster und meine adresse hat jetzt die value ?? und diese kann ich nicht verändern Was tun?
06/01/2010 11:30 .Faez#221
Was ist statisch??oder variable?
06/04/2010 10:54 TheDarkShadows#222
hi
bei mir geht es irgendwie nicht richtig mal funktioniert mal nicht kann jemand mal helfen!!
06/04/2010 18:51 HardCore.1337#223
was geht nicht?
Welche Betriebssystem (Win7? 32/64Bit?).

More Informations please
06/09/2010 13:28 DschalMcHei#224
Hi,

Bei mir klappts mit den Pointern auch net. Ich kann zwar alles verändern aber halt nur bis zum neustart. Hab Torchlight auseinander genommen und ziemlich alles gefunden nur keine statischen pointer...( mit CE und ArtMoney find ich keine)

weiss da jemand rat? hab vista 64 bit (glaube das liegt daran).
06/09/2010 18:43 checker0899#225
eine frage was mache ich wenn ich mov eax, [edi+30] nicht finde?