|
You last visited: Today at 21:37
Advertisement
[Tutorial] Gamehacking Howto I [Ger]
Discussion on [Tutorial] Gamehacking Howto I [Ger] within the Coding Tutorials forum part of the General Coding category.
10/09/2009, 15:51
|
#121
|
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);
}
|
|
|
10/11/2009, 23:23
|
#122
|
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
|
|
|
10/12/2009, 10:20
|
#123
|
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(hProc, TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES, &hToken)) return; if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid)) { CloseHandle (hToken); return; } ZeroMemory(&tp, sizeof (tp)); tp.PrivilegeCount = 1; tp.Privileges[0].Luid = luid; tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; if (!AdjustTokenPrivileges (hToken, FALSE, &tp, sizeof(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.
|
|
|
10/13/2009, 11:52
|
#124
|
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?
|
|
|
10/13/2009, 16:36
|
#125
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Gibt dem Prozess debug privilegien.
|
|
|
10/13/2009, 18:14
|
#126
|
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 =/
|
|
|
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?
|
|
|
10/13/2009, 18:58
|
#128
|
elite*gold: 0
Join Date: Apr 2007
Posts: 18
Received Thanks: 0
|
Quote:
Originally Posted by xhelloselm
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
|
|
|
10/13/2009, 21:57
|
#129
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Dann nochmal BP drauf und nach dem Base Pointer suchen.
|
|
|
10/13/2009, 22:35
|
#130
|
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^^
|
|
|
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?
|
|
|
10/14/2009, 16:38
|
#132
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Quote:
Originally Posted by Magix92
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
|
|
|
10/14/2009, 16:58
|
#133
|
elite*gold: 0
Join Date: Oct 2009
Posts: 37
Received Thanks: 8
|
Quote:
Originally Posted by Adroxxx
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!
|
|
|
10/14/2009, 17:19
|
#134
|
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
|
|
|
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
|
|
|
All times are GMT +1. The time now is 21:38.
|
|