Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 19:26

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Tutorial] Gamehacking Howto I [Ger]

Discussion on [Tutorial] Gamehacking Howto I [Ger] within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old 07/14/2009, 13:28   #106

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,323
Also ich habe deinen Code mal bei mir in die Funktion reinkopiert und er funktioniert Wunderbar.

Bist du sicher, dass Solitär bei dir auch wirklich Solitär heißt? Vielleicht hast du es umbenannt.

Und führst du den Hack als Administrator aus?

Vom Programmiercode her ist alles richtig, anders könnte ich mir das nicht erklären. Du brauchst wohl Admin rechte weil du den Speicher ja ausliest und schreibst.
Adroxxx is offline  
Old 07/15/2009, 11:49   #107
 
anonymuus's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 7
Received Thanks: 0
Solitär umbenennen? oO Du überschätzt mich ;D

Ich führe den Hack definitiv als Admin aus, aber du hast mich auf ne verdammt gute Idee gebracht! Meine Firewall hat das als Angriff erkannt und dementsprechend geblockt. Generell gut, aber im Moment nich zu gebrauchen. Ich hab die Firewall dann mal vorrübergehend außer Kraft gesetzt, die Adressen ändern sich schonmal. 78a40a04 vor dem Hinzufügen des Offsets und danach 78a40a34.

Immernoch nicht korrekt, aber sieht besser aus. Es könnte sein, dass die Firewall im ausgeschalteten Zustand immernoch was im System hinterlässt, deswegen deinstallier ich sie eben schnell, teste es erneut und schreib dann nochmal ob das geklappt hat.
anonymuus is offline  
Old 07/15/2009, 12:02   #108

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,323
Ja ich hab keine Firewall, deshalb habe ich nicht an sowas gedacht
Adroxxx is offline  
Old 07/15/2009, 12:50   #109
 
anonymuus's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 7
Received Thanks: 0
Keine Firewall? Du bist aber mutig^^ Ich war schockiert als ich gesehen hab welche Komponenten wohin telefonieren...

@offtopic: Nur zu empfehlen: gibt weder mir noch sonst jemandem die Chance, Codeinjektionen auszuführen.

Naja, hat leider nichts gebracht. Die Adressen bleiben komischerweise die selben, aber der Wert hat sich geändert: 1244812. Schreiben funzt nich, lesen funzt nich. Zu schade
anonymuus is offline  
Old 07/15/2009, 12:54   #110

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,323
Hm das ist wirklich seltsam. Schick mir mal deine exe datei. Aber kompelier sie als release nicht als debug.
Adroxxx is offline  
Old 07/16/2009, 12:31   #111
 
anonymuus's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 7
Received Thanks: 0
hmmm.... wenns bei dir funzt dann liegt das problem bei mir. einfach mal neu aufsetzen und schaun welche komponente stört, falls es so ist.



Danke...
anonymuus is offline  
Old 07/16/2009, 13:21   #112

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,323
Nein Funktioniert bei mir nicht. Das Problem wird am Handle liegen. Du hast nicht den Prozess als Ziel. Merkst du daran, wenn du Solitär zu machst, kommt zwar eine Fehlermeldung, dass Solitär nicht gefunden wurde, aber die Messageboxen zeigen die gleichen Adresse, wie als es offen war.

Dein Fehler wird irgendwo bei der Übergabe vom Handle / holen der procid liegen.

Mach dir dort am besten auch debug ausgaben.
Von pWnd, hWnd, procid, hproc.

pWnd ist dann das handle von solitär, in hWnd sollte dann das gleiche stehen, weil der ja da rein kopiert. Im Taskmanager solltest du dann auch die procid sehen und kannst vergleichen ob alles gleich ist.
Adroxxx is offline  
Old 07/29/2009, 11:23   #113
 
elite*gold: 0
Join Date: Jun 2009
Posts: 58
Received Thanks: 3
hat hat mal ein DICKES *THANKS verdient ich als anfänger hab alles verstanden und kann jetzt durch deine hilfe solitär hacken.... (jetzt kann mich niemand in solitär schlagen xDD)
kazehihi is offline  
Old 07/29/2009, 14:55   #114

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,323
Quote:
Originally Posted by kazehihi View Post
hat hat mal ein DICKES *THANKS verdient ich als anfänger hab alles verstanden und kann jetzt durch deine hilfe solitär hacken.... (jetzt kann mich niemand in solitär schlagen xDD)
Es sollte klar sein, dass Solitär hier nur ein Platzhalter für jedes belibige Spiel ist. Ich habe nur Solitär genommen, weil es jeder auf dem Rechner hat und um die Basics zu zeigen. Die Methoden nach Adressen suchen, Pointer finden, verändern, Hack schreiben etc. kannst du alles auch auf andere Spiele anwenden. Bei Onlinespielen geht das natürlich nur teilweise.
Adroxxx is offline  
Old 07/30/2009, 01:40   #115
 
elite*gold: 0
Join Date: May 2005
Posts: 490
Received Thanks: 12
Vielen Dank erstmal für das Tutorial, genau soetwas habe ich gesucht, um die Basics zu lernen

Jedoch funktionierts nicht so wie ich es möchte.
Ich habe den Code bei m_lesen hinzugefügt, um heraus zu finden welche Adresse gespeichert wird.
Code:
	CString strAdress2;
	strAdress2.Format(_T("%x"),address2);
	AfxMessageBox(strAdress2);  
	AfxMessageBox(procID);
Resultat:ccccccfc, procID wurde mir garnicht erst angezeigt.
Da mir procID nicht angezeigt wurde, muss ja etwas falsch bei hWnd usw sein.

Code:
if (pWnd = CWnd::FindWindowExW(NULL,NULL,NULL,_T("Solitaire"))) {

    hWnd = HWND(pWnd->GetSafeHwnd()); 
        
    }else{
    AfxMessageBox(_T("Fenster nicht gefunden!"));
    }
Einen Fehler finde ich hier nicht.

Die Adressen scheinen auch OK zu sein, hab auch mit CheatEngine überprüft ob sie auch stimmen, ja, das tun sie.
Code:
    unsigned long address1 = 0x01007170;
    unsigned long offset = 0x30;
    unsigned long address2 ;
Bin gerade echt etwas verwirrt. Ich weiß net weshalb es nicht funktioniert..
btw, ich benütze Win XP Prof. (Englische Version, deshalb auch "Solitaire")
Character Set ist auf Unicode eingestellt.

Weißt du vl. bescheid?
Creativ is offline  
Old 07/30/2009, 02:39   #116
 
elite*gold: 0
Join Date: Apr 2008
Posts: 64
Received Thanks: 1
Ich danke dir!!!!
Ist echt hilfreich!!!
nitey is offline  
Old 09/28/2009, 15:33   #117
 
elite*gold: 0
Join Date: Sep 2009
Posts: 445
Received Thanks: 286
echt cool
jetzt weiß ich wie man mit so was anfängt;D
aber ich glaub ich lass es erst ma
ich probiers ma wenn ich merh zeit hab
Banana.Crafts is offline  
Old 10/02/2009, 14:55   #118
 
daChicken™'s Avatar
 
elite*gold: 253
Join Date: Sep 2009
Posts: 327
Received Thanks: 57
Gute Arbeit
daChicken™ is offline  
Old 10/05/2009, 22:28   #119


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,395
PHP Code:
void CCEtrainerDlg::m_lesen(void)
{
    if (
pWnd CWnd::FindWindowExW(NULL,NULL,NULL,_T("Solitär"))) 
        {
        
        
hWnd HWND(pWnd->GetSafeHwnd()); 
        }
    else
    {
    
AfxMessageBox(_T("Fenster nicht gefunden!"));
    }  

    
UpdateData(true);
    
unsigned long address1 0x006660f4;
    
unsigned long offset 0x2C;
    
unsigned long offset2 0x10;
    
unsigned long address2 ;
    
unsigned long address3 ;
    
int value ;
    
DWORD numBytesRead;
    
HANDLE hProc;
    
DWORD procID;

    
GetWindowThreadProcessId(hWnd,&procID);

    
hProc OpenProcess(PROCESS_ALL_ACCESS,FALSE,procID);

    
ReadProcessMemory(hProc,(LPCVOID)address1,&address2,sizeof(long),&numBytesRead);

    
address2 address2+offset;


    
address3 address2+offset2;

    
ReadProcessMemory(hProc,(LPCVOID)address3,&value,sizeof(int),&numBytesRead);

    
m_Value.Format(_T("%i"),value); 

    
UpdateData(false);

    
CloseHandle(hProc);
}

void CCEtrainerDlg::m_schreiben(void)
{
    
    if (
pWnd CWnd::FindWindowExW(NULL,NULL,NULL,_T("Solitär"))) {
        
        
hWnd HWND(pWnd->GetSafeHwnd()); 
        
    }else{
    
AfxMessageBox(_T("Fenster nicht gefunden!"));
    }
    
UpdateData(true);
    
unsigned long address1 0x006660f4;
    
unsigned long offset 0x2C;
    
unsigned long offset2 0x10;
    
unsigned long address2 ;
    
unsigned long address3 ;
    
int value ;
    
DWORD numBytesRead;
    
HANDLE hProc;
    
DWORD procID;

    
GetWindowThreadProcessId(hWnd,&procID);

    
hProc OpenProcess(PROCESS_ALL_ACCESSFALSEprocID);

    
ReadProcessMemory(hProc, (LPCVOID)address1, &address2sizeof(long), &numBytesRead);
    
address2 address2+offset ;

    
address3 address2+offset2 ;
    
    
value _wtoi (m_Value);
    
WriteProcessMemory(hProc,(LPVOID)address3,&value,sizeof(value),NULL);
    
    
    
UpdateData(false);
    
    
CloseHandle(hProc); 


hm ich habe ein ähnliches problem wie das genannte auf der letzten seite =/
wenn ich auslese kommt ein wert wie 2213313 raus, wenn ich 3 schreibe, dann steht beim nächsten lesen wirklich 3 dort, also scheint er ja die 3 wirklich auf die richtige adresse zu schreiben.....und sie ist auch die richtige denn wenn ich das selbe via CE mache klappts
vielleicht liegts echt am Handle aber komischerweise schreibt er es ja auf die richtige adresse dann müsste es doch eigentlich auch im spiel zu sehen sein oder nicht?
MrSm!th is offline  
Old 10/05/2009, 22:59   #120

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,323
Wenn du Vista benutzt, musst du den Trainer als Admin starten.
Adroxxx is offline  
Reply




All times are GMT +2. The time now is 19:26.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.