Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 17:49

  • 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 10/09/2009, 15:51   #121


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
bin ja als admin angemeldet
da ist die schaltfläche "Als Administrator ausführen" nicht im Kontextmenü zu finden!
Und wie gesagt, er schreibt es ja in die Adresse! Beim zweiten Mal lesen Drücken, kommt ja der zuvor eingegebene Wert! Nur wird er nicht in Solitär übernommen, ist aber in die Adresse geschrieben worden!
Wie gesagt die richtige Adresse ist es auch; es könnte nur noch am Handle liegen, aber da ich damit nicht so viel Erfahrung habe, weiß ich nicht woran.

edit:
bitte sag mir wie man einen HWND in einer MsgBox ausgibt -.-"
ich bin schon stundenlang am googlen aber ich finde keine Möglichkeit, den HWND auszugeben, folglich kann ich nicht schauen, ob es am Handle liegt!
Und an Adminrechten kann es nicht liegen, da UAC aus ist und ich als Admin angemeldet bin!

edit: habs immernoch nicht, habe es aber geschafft, ihn in eine Editbox zu kriegen, wenigstens etwas^^ kann ein Hwnd so etwas wie 40c8a sein? ich hatte bis jetzt noch nie etwas damit zutun und weiß auch nicht wie ein hwnd aussehen kann =/

design is ja unwichtig habe die editboxen da hin getan wo platz ist! liegts am Handle? wie gesgat von Windowhandles habe ich noch nicht so viel Ahnung!


hm also ProcID stimmt (auf dem screen ist sie in hex habe es aber schon auf dec geändert und sie ist richtig) beim anderen wie gesagt kA

code (überprüfng vorerst nur in lesen):

Code:
void CCEtrainerDlg::m_lesen(void)
{
	UpdateData(true);
	if (pWnd = CWnd::FindWindowExW(NULL,NULL,NULL,_T("Solitär"))) 
	    {
        
        hWnd = HWND(pWnd->GetSafeHwnd()); 
		m_hwnd.Format(_T("%x"),hWnd);
      
	unsigned long address1 = 0x00bf60f4;
    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);


	m_procID.Format(_T("%d"),procID);	
	

	hProc = OpenProcess(PROCESS_ALL_ACCESS,FALSE,procID);

	m_hproc.Format(_T("%x"),hProc);	

	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);
	  }
	else
	{
    AfxMessageBox(_T("Fenster nicht gefunden!"));
    }  

}

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 = 0x00bf60f4;
    unsigned long offset = 0x2C;
	unsigned long offset2 = 0x10;
    unsigned long address2 ;
	unsigned long address3 ;
    int value ;
	HANDLE hProc;
    DWORD numBytesRead;
    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 ;
    
    value = _wtoi (m_Value);
    WriteProcessMemory(hProc,(LPVOID)address3,&value,sizeof(value),NULL);
    
    
    UpdateData(false);
    
    CloseHandle(hProc); 
}
MrSm!th is offline  
Old 10/11/2009, 23:23   #122


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
bitte ich brauche echt hilfe das mal hinzubekommen!
bin als vollständiger system Administrator (der der eigentlich deaktiviert sein müsste) angemeldet, führe den Trainer als Admin aus und es passiert immernoch das selbe!
ProcId, hwnd sowie die Adresse ist richtig!
Der Sourcecode müsste auch richtig sein (?)
Es könnte nur am Handle liegen, aber das ist doch genau wie bei dir im Code gemacht =(
Einziger Hinweis vielleich: der handle ist immer cc ansonsten müsste alles richtig sein (?)
Hat keiner eine Idee?
Sry für Doppelpost aber anscheinend liest ja niemand den Thread
MrSm!th is offline  
Old 10/12/2009, 10:20   #123

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
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.
Adroxxx is offline  
Old 10/13/2009, 11:52   #124


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
habe ich schon alles ist richtig
es kann also allerhöchstens am Handle zum fesnter liegen also hProc =/
alles andere ist vollkommen richtig

irgendwie habe ich generell probleme mit mfc xD alles geht halb aber nix ganz
habe auch schon mal nen simplen texteditor gemacht und CFileDialog zum speichern verwendet!
speichern ging auch ohne probleme, nur wenn ich es dann wieder öffnen wollte, dann sagte er mit Zugriff verweigert (trotz Adminrechte) vielleicht ist das das selbe Problem, wie bei meinem Trainer, nur dass ich bei diesem keine Fehlermeldung bekomme =/
Naja ich werde es wohl nochmal versuchen und ansonsten mal mfc/VC neu installieren vielleicht ist irgendwo ein Fehler
naja danke für den Tipp
was genau bewirkt der Code?
MrSm!th is offline  
Old 10/13/2009, 16:36   #125

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
Gibt dem Prozess debug privilegien.
Adroxxx is offline  
Old 10/13/2009, 18:14   #126


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Gibt es eigentlich eine Möglichkeit den Value vom Programm selbst suchen zu lassen? (ist mir klar dass es geht aber so mit meinen Mitteln^^)
Obwohl die Adresse nämlich grün ist, ist nach spätestens 2 reboots wieder anders =/

edit: geht mit dem code auch nicht =/
MrSm!th is offline  
Old 10/13/2009, 18:28   #127
 
elite*gold: 0
Join Date: Mar 2008
Posts: 61
Received Thanks: 4
Würde dann logisch gesehen auch für webzen funktionieren wenn man gg weg lässt

dann könnte man den cooldown auf 1 bzw. 0 ändern oder nicht?
testacc123 is offline  
Old 10/13/2009, 18:58   #128
 
elite*gold: 0
Join Date: Apr 2007
Posts: 18
Received Thanks: 0
Quote:
Originally Posted by xhelloselm View Post
Gibt es eigentlich eine Möglichkeit den Value vom Programm selbst suchen zu lassen? (ist mir klar dass es geht aber so mit meinen Mitteln^^)
Obwohl die Adresse nämlich grün ist, ist nach spätestens 2 reboots wieder anders =/

edit: geht mit dem code auch nicht =/
ist bei mir das selbse hab den günen pointer , aber ändert sich speater wieder.
ich hab win vista
fr3ddy is offline  
Old 10/13/2009, 21:57   #129

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
Dann nochmal BP drauf und nach dem Base Pointer suchen.
Adroxxx is offline  
Old 10/13/2009, 22:35   #130


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
BP geht leider nicht =/
Wenn ich Attachen will, gibts nen Error und wenn ich über Olly starten will startet Solitär und crasht dann.
Ich habe langsam keine Lust mehr mich mit diesem anscheinend hacksicheren Spiel zu beschäftigen xD ich mach mit Pinnball weiter^^
Also versuche ich jetzt erst:
Neu schreiben und genau auf die rechte schauen
neu schreiben für Konsole (die hat mich noch nie im Stich gelassen)
neues Spiel versuchen
wenn ich bald seven hole dann muss ichs eh machen: VS neu installieren

wenns dann noch nicht klappt geb ichs auf -.-"
dann beschäftige ich mich weiterhin mit dem windows.h und hooking und vor allem dlls
die trainer können dann die anderen in autoit machen^^
MrSm!th is offline  
Old 10/14/2009, 16:25   #131
 
elite*gold: 0
Join Date: Oct 2009
Posts: 37
Received Thanks: 8
Hab mal eine Frage, warum ist es so wichtig zuerst Punkte zu erspielen und dann erst auf die 0 warten und scannen?
Hängt es damit zusammen das beim "next Scan" nur die Einträge nach der Value gesucht werden die davor schon beim First Scan gefunden wurden?
Magix92 is offline  
Old 10/14/2009, 16:38   #132

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
Quote:
Originally Posted by Magix92 View Post
Hab mal eine Frage, warum ist es so wichtig zuerst Punkte zu erspielen und dann erst auf die 0 warten und scannen?
Hängt es damit zusammen das beim "next Scan" nur die Einträge nach der Value gesucht werden die davor schon beim First Scan gefunden wurden?
Hab niergens geschrieben, dass es wichtig ist.
Du kannst auch Solitär starte, CE starten und dann direkt erstmal nach 0 Suchen. Und dann bei Next Scan nach der geänderten Punktezahl.

Das ist schnuppe
Adroxxx is offline  
Thanks
1 User
Old 10/14/2009, 16:58   #133
 
elite*gold: 0
Join Date: Oct 2009
Posts: 37
Received Thanks: 8
Quote:
Originally Posted by Adroxxx View Post
Hab niergens geschrieben, dass es wichtig ist.
Du kannst auch Solitär starte, CE starten und dann direkt erstmal nach 0 Suchen. Und dann bei Next Scan nach der geänderten Punktezahl.

Das ist schnuppe
Aber 2 mal scannen muss ich sowieso oder?
Warum denn 2?
Warum nicht gleich einfach die "0" scannen ohne den Wert u ändern?
Irgendwie möchte ich das unbedingt wissen, Tutorial ist echt spitze!
Magix92 is offline  
Old 10/14/2009, 17:19   #134


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
weil beim 1. scann um die 500.000 ergebnisse kommen
außerdem brauchst du ja die eine richtige adresse für den trainer
MrSm!th is offline  
Thanks
1 User
Old 10/14/2009, 17:28   #135
 
elite*gold: 0
Join Date: Oct 2009
Posts: 37
Received Thanks: 8
Okay, das habe ich mir eigentlich auch schon so gedacht.
Habs mal bei Pinball versucht, klappt wunderbar.

Super Tutorial

Jetzt Noobfrage des Jahrhunderts: Warum macht man dann nicht einfach somit Geld in iwelchen Onlinegames hoch?
Engine wird detected oder...wäre ja sonst zu einfach
Magix92 is offline  
Reply




All times are GMT +1. The time now is 17:50.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.