OldSchoolHack

Register / Login English

[Tutorial] External Bunnyhop + Video


icon [Tutorial] External Bunnyhop + Video #1

Join Date: Jul 2010

Posts: 11

Wenn ich manches nicht 100% Richtig erkläre entschuldigung.
Schaut auf die Zeit und ich muss sagen das ich noch nicht so lang am Coden bin.
Ihr könnt mir ja die Fehler drunter schreiben! Ich will auch noch Lernen.



icon #2

Join Date: Sep 2010

Posts: 136

doing video tutorials for coding - like a boss...

__________________

[21:43:44] <-> Reita heißt jetzt R|GW2
[21:44:08] <-> Igromanru heißt jetzt Reita
[21:44:20] <-> Cycode2 heißt jetzt Igromanru
[21:44:27] <-> R|GW2 heißt jetzt Cyode2
icon #3

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
schön das du alles erklärst, was du da im debugger machst!   ...NOT
außerdem geht ein bhop auch etwas einfacher ^^
Und wieso ist die GetModuleBase extra in einer eigenen Datei ?
und wieso in einer >> Headerdatei << ?


CPP Code:
  1. //bhop_adress = client.dll + 7C021C
  2. while(1)
  3. {
  4. Sleep(1);
  5. ReadProcessMemory(handleprozess,(void*)(bhop_adress),&jump,sizeof(jump),&puffer);
  6. if(jump == 1 && GetKeyState(VK_SPACE) < 0)
  7. {
  8. SendMessage(fenster, WM_KEYDOWN, VK_SPACE, 0x390000);
  9. Sleep(10);
  10. SendMessage(fenster, WM_KEYUP, VK_SPACE, 0x390000);
  11. }
  12. }

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
icon #4

Join Date: Jul 2010

Posts: 11

Quote from Dr_Pepper
schön das du alles erklärst, was du da im debugger machst!   ...NOT
außerdem geht ein bhop auch etwas einfacher ^^
Und wieso ist die GetModuleBase extra in einer eigenen Datei ?
und wieso in einer >> Headerdatei << ?


CPP Code:
  1. //bhop_adress = client.dll + 7C021C
  2. while(1)
  3. {
  4. Sleep(1);
  5. ReadProcessMemory(handleprozess,(void*)(bhop_adress),&jump,sizeof(jump),&puffer);
  6. if(jump == 1 && GetKeyState(VK_SPACE) < 0)
  7. {
  8. SendMessage(fenster, WM_KEYDOWN, VK_SPACE, 0x390000);
  9. Sleep(10);
  10. SendMessage(fenster, WM_KEYUP, VK_SPACE, 0x390000);
  11. }
  12. }

Wird nicht die leertaste gespammt ne?
icon #5

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
Quote from Grabweachter112
Wird nicht die leertaste gespammt ne? smile
Ich weiß ja nicht was du unter Spamen verstehtst, aber ein Tastendruck wird
nur an CS:S gesendet (einmal pro sprung), wenn man auf dem Boden ist.
Andere Programme werden nicht zugespamt, da der Tastendruck nur an CSS gesendet wird.
Auch der Chat von CS:S funktioniert nicht mit SendMessage() , von daher ist das
die einfachere, und sicherere Methode. Bei einem CSS Update schreibt dein Hack
in den Code rein --> detection, meiner funktioniert einfach nichtmehr  

mfg

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
icon #6

Join Date: Jul 2010

Posts: 11

Quote from Dr_Pepper
Quote from Grabweachter112
Wird nicht die leertaste gespammt ne? smile
Ich weiß ja nicht was du unter Spamen verstehtst, aber ein Tastendruck wird
nur an CS:S gesendet (einmal pro sprung), wenn man auf dem Boden ist.
Andere Programme werden nicht zugespamt, da der Tastendruck nur an CSS gesendet wird.
Auch der Chat von CS:S funktioniert nicht mit SendMessage() , von daher ist das
die einfachere, und sicherere Methode. Bei einem CSS Update schreibt dein Hack
in den Code rein --> detection, meiner funktioniert einfach nichtmehr  

mfg

Naja, man kann wenn man will ja auch die Version abfragen und dann halt Checken ob der Hack Outdated ist oder nicht.
Ist ja nur ein Tutorial. Hab mein bestes gegeben.

icon #7

Join Date: Jul 2010

Posts: 11

Quote from Dr_Pepper
schön das du alles erklärst, was du da im debugger machst!   ...NOT
außerdem geht ein bhop auch etwas einfacher ^^
Und wieso ist die GetModuleBase extra in einer eigenen Datei ?
und wieso in einer >> Headerdatei << ?


CPP Code:
  1. //bhop_adress = client.dll + 7C021C
  2. while(1)
  3. {
  4. Sleep(1);
  5. ReadProcessMemory(handleprozess,(void*)(bhop_adress),&jump,sizeof(jump),&puffer);
  6. if(jump == 1 && GetKeyState(VK_SPACE) < 0)
  7. {
  8. SendMessage(fenster, WM_KEYDOWN, VK_SPACE, 0x390000);
  9. Sleep(10);
  10. SendMessage(fenster, WM_KEYUP, VK_SPACE, 0x390000);
  11. }
  12. }

//Push
@DrPepper
Wozu benutzt du eigentlich die "low" Funktion GetKeyState wenn es GetASYNC gibt?)
Wieso GetKeyState(VK_SPACE) < 0)? Bisschen useless nicht?
Die ModuleBase Funktion in einer eigenen Datei das man auch übersicht im Code hat, nehmen ja ultra x1ck coder nicht ne? Alles in die Main! sodas 100% überschaubar ist...
Ehrlich, ich geb mir die Mühe und mach nen Video um den leuten da drausen bisschen mehr beizubringen... dank lieber mal. Ich will  mal nicht den Source von deinem 1337-Hack sehen. GetKeyState *hust*
icon #8

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
ob GetASYNCkeystate oder getkeystate ist doch sowas von egal in diesem fall
Wie kommst du drauf das getkeystate eine "low" funktion ist ?

if(jump == 1 && GetKeyState(VK_SPACE) < 0)
Wenn(auf_dem_boden = 1 und Leertastenstatus kleiner 0 ist) dann...
(Wenn die leertaste gedrückt ist, gibt die funktion GetKeyState einen wert unter 0 aus.)

überprüft ob man auf dem boden ist, und ob man die leertaste gedrückt hat.
Wenn beides der fall ist, wird der tastendruck an css gesendet.
Wenn du nichtmal das raffst, kennst du a) die funktion GetKeyState nicht,
oder b) hast nie C++ gelernt, sondern nur copy&pasted, oder beides

und nochmal die frage: wieso ist die GetModuleBase in einer
> HEADERDATEI <  und zweitens, wieso sollte ich
die GetModuleBase in die Main schreiben ? lol.

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
icon #9

Join Date: Jul 2010

Posts: 11

Quote from Dr_Pepper
ob GetASYNCkeystate oder getkeystate ist doch sowas von egal in diesem fall
Wie kommst du drauf das getkeystate eine "low" funktion ist ?

if(jump == 1 && GetKeyState(VK_SPACE) < 0)
Wenn(auf_dem_boden = 1 und Leertastenstatus kleiner 0 ist) dann...
(Wenn die leertaste gedrückt ist, gibt die funktion GetKeyState einen wert unter 0 aus.)

überprüft ob man auf dem boden ist, und ob man die leertaste gedrückt hat.
Wenn beides der fall ist, wird der tastendruck an css gesendet.
Wenn du nichtmal das raffst, kennst du a) die funktion GetKeyState nicht,
oder b) hast nie C++ gelernt, sondern nur copy&pasted, oder beides

und nochmal die frage: wieso ist die GetModuleBase in einer
> HEADERDATEI <  und zweitens, wieso sollte ich
die GetModuleBase in die Main schreiben ? lol.

Achja Copy&Pastes? Video ist auch Copy&Pasted?

Hab ich im Beitrag gesagt wieso.
icon #10

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
bei nem Projekt von der Größe kann man sowas ruhig nur in Headerdateien auslagern, also kein Problem an der Stelle

greetz KN4CK3R

__________________

Hallo
icon #11

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
nochmal die frage, wieso in eine Headerdatei ?
Das man mehrere Dateien Verwendet, um seinen Code
übersichtlicher zu halten weiß ich auch. Aber wieso
in eine > HEADER-DATEI < ???
Schau dir doch mal bitte Headerdateien von "größeren"
Projekten an. Dann wirst du garantiert (hoffentlich) was meken

Und warum GetKeyState eine "low" funktion ist, würde ich auch noch gerne wissen.
GetAsyncKeyState würde bei meiner anwendung nichtmal sinn machen...

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
icon #12

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
<TlHelp32.h> includieren vergessen ?

Ja das mit dem auslesen geht einfacher
Es gibt in CSS auch eine bool für den selben zweck.
1 = man steht auf dem boden, 0 = man steht nicht auf dem boden.
Noclip sollte helfen den Wert Per CheatEngine zu finden.
So solltest du 4 Pointer Finden, zwei in der server.dll und zwei in der client.dll,
erstere 2 fallen weg da diese nur auf selbst erstellen Ingame-LAN-Servern funktionieren,
und unter den restlichen 2 kannste dir dann eine aussuchen, ich nehm meistens die erste.

Dann einfach per ReadProzessMemory auslesen und den Tastendruck an CS:S senden:
(Projekt auf "Multibyte-Zeichensatz verwenden" einstellen nicht vergessen !)

CPP Code:
  1. #include <Windows.h>
  2. #include <iostream>
  3. #include <TlHelp32.h>
  4. using namespace std;
  5.  
  6. DWORD GetModuleBase(const DWORD dwProcessId, const char *szModuleName)
  7. {
  8. #ifdef _GMBE_CHECK_PARAMS_
  9. if (!dwProcessID) || (!szModuleName) return 0;
  10. #endif
  11.  
  12. HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId);
  13. if (!hSnap) return 0;
  14.  
  15. MODULEENTRY32 me;
  16. me.dwSize = sizeof(MODULEENTRY32);
  17.  
  18. DWORD dwReturn = 0;
  19.  
  20. if (Module32First(hSnap, &me)) {
  21. while (Module32Next(hSnap, &me)) {
  22. if (lstrcmpi(me.szModule, szModuleName) == 0) {
  23. dwReturn = (DWORD)me.modBaseAddr;
  24. break;
  25. }
  26. }
  27. }
  28. CloseHandle(hSnap);
  29. return dwReturn;
  30. }
  31.  
  32. int main()
  33. {
  34. HWND Fenster = NULL;
  35. cout << "Counter-Strike Source wird gesucht..";
  36. while(Fenster == NULL)
  37. {
  38. Fenster = FindWindow(0, "Counter-Strike Source");
  39. cout << ".";
  40. Sleep(1000);
  41. }
  42. cout << "gefunden!" << endl;
  43.  
  44. cout << "Warte 15 Sekunden, da CS:S eine weile braucht um alle Module zu laden..." << endl;
  45. Sleep(15000);
  46.  
  47. DWORD ProzessID;
  48. GetWindowThreadProcessId(Fenster, &ProzessID);
  49.  
  50. HANDLE HandleProzess = NULL;
  51. HandleProzess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProzessID);
  52.  
  53. int IsOnGround_Adress = GetModuleBase(ProzessID , "client.dll") + 0x7C021C;
  54. bool IsOnGround = 0;
  55. DWORD Puffer = NULL;
  56.  
  57. cout << "IsOnGround_Adress = " << hex << IsOnGround_Adress << endl;
  58.  
  59. while(1)
  60. {
  61. Sleep(1);
  62. ReadProcessMemory(HandleProzess,(void*)(IsOnGround_Adress),&IsOnGround,sizeof(IsOnGround),&Puffer);
  63. if(IsOnGround == 1 && GetKeyState(VK_SPACE) < 0)
  64. {
  65. SendMessage(Fenster, WM_KEYDOWN, VK_SPACE, 0x390000);
  66. Sleep(10);
  67. SendMessage(Fenster, WM_KEYUP, VK_SPACE, 0x390000);
  68. }
  69. if(FindWindow(0, "Counter-Strike Source") != Fenster)
  70. break;
  71. }
  72.  
  73. cout << "Counter-Strike Source wurde beendet!" << endl;
  74. cout << "Druecke eine Beliebige Taste um das Fenster zu schliessen" << endl;
  75. cin.get();
  76.  
  77. return 0;
  78. }

mfg

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
icon #13

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
ist das da oben >dein< ganzer Code ?

Falls Nein, poste bitte noch den Rest dazu.

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
icon #14

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
Quote from Dr_Pepper
Projekt auf "Multibyte-Zeichensatz verwenden" einstellen nicht vergessen !)
Das hast du vergessen.

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
icon #15

Join Date: Jul 2010

Posts: 11

Quote from FantaWauWau
Das Problem bei dem TH32CS_SNAPMODULE unter dem Video ist, das dort ein silent Bindestrich zwischen dem U und dem LE ist. Das heißt es kann nicht funtionieren. Also muss man es selbst nochmal in den Code schreiben.

Hmm... das will ich aber sehen.
Hab mir den Code von der Funktion gestern selbst noch einmal von meinem Video genommen und er funktioniert.

@Community:
Danke das ihr die User helft!
icon #16

Join Date: Sep 2012

Posts: 9

Quote from Dr_Pepper
schön das du alles erklärst, was du da im debugger machst!   ...NOT
außerdem geht ein bhop auch etwas einfacher ^^
Und wieso ist die GetModuleBase extra in einer eigenen Datei ?
und wieso in einer >> Headerdatei << ?


CPP Code:
  1. //bhop_adress = client.dll + 7C021C
  2. while(1)
  3. {
  4. Sleep(1);
  5. ReadProcessMemory(handleprozess,(void*)(bhop_adress),&jump,sizeof(jump),&puffer);
  6. if(jump == 1 && GetKeyState(VK_SPACE) < 0)
  7. {
  8. SendMessage(fenster, WM_KEYDOWN, VK_SPACE, 0x390000);
  9. Sleep(10);
  10. SendMessage(fenster, WM_KEYUP, VK_SPACE, 0x390000);
  11. }
  12. }

Warum er es in eine Header Datei knallt weiß ich nicht. Aufjedenfall kommen Funktionen in eine .cpp Datei. Header Dateien sind laut OOP für Prototypen, Klassen, Includierungen und definitionen..

Was Grabweachter112 angeht:
Ehrlich mal finde ich es eine Frechheit, einfach jemanden auf Grund seines noch nicht so guten Skills runter zu machen..
Ach und GetAsyncKeyState ist keine Low-Funktion. Hast ja sehr viel ahnung du. Klar ist alles in der Main etc. was nicht gerade all zu übersichtlich ist
aber ist doch für den Anfang egal? Meine ersten Sources waren auch nur mit der Main.cpp & CProcess.h Dateien. Gibt dir kein Grund
einfach so eine scheiße zu posten. Warum sollte GetAsyncKeyState( VK_SPACE ) < 0 useless sein? Es tut seinen zweck und Funktioniert lol.
Ich mache mein Bunnyhop auch nicht anders.
CPP Code:
  1. if( cVars->GetVar( "Bunnyhop Active" ) > 0 && GetAsyncKeyState( 0x20 ) && !gLocal.GetOverlay( ) && gLocal.Flags & NOTINAIR )
  2. {
  3. SendMessage( hWND, WM_KEYDOWN, VK_SPACE, 0x390000 );
  4. Sleep( 10 );
  5. SendMessage( hWND, WM_KEYUP, VK_SPACE, 0x390000 );
  6. }


icon #17

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
Ach Sky, jetzt hast du das "Geheimnis" um die Headerdateien gelößt !
Ich wollte doch das Grabweachter112 es selber herausfindet

Wieso benutzt ihr alle Get>Async<KeyState() ?
Man will doch wissen ob die Taste gerade gedrückt ist, und nicht,
ob sie mach dem letzten funktions-aufruf gedrückt wurde !?!?
Da macht doch GetKeyState mehr sinn oder ?

mfg

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
icon #18

Join Date: Jul 2010

Posts: 11

Quote from sKy.
Quote from Dr_Pepper
schön das du alles erklärst, was du da im debugger machst!   ...NOT
außerdem geht ein bhop auch etwas einfacher ^^
Und wieso ist die GetModuleBase extra in einer eigenen Datei ?
und wieso in einer >> Headerdatei << ?


CPP Code:
  1. //bhop_adress = client.dll + 7C021C
  2. while(1)
  3. {
  4. Sleep(1);
  5. ReadProcessMemory(handleprozess,(void*)(bhop_adress),&jump,sizeof(jump),&puffer);
  6. if(jump == 1 && GetKeyState(VK_SPACE) < 0)
  7. {
  8. SendMessage(fenster, WM_KEYDOWN, VK_SPACE, 0x390000);
  9. Sleep(10);
  10. SendMessage(fenster, WM_KEYUP, VK_SPACE, 0x390000);
  11. }
  12. }

Warum er es in eine Header Datei knallt weiß ich nicht. Aufjedenfall kommen Funktionen in eine .cpp Datei. Header Dateien sind laut OOP für Prototypen, Klassen, Includierungen und definitionen..

Was Grabweachter112 angeht:
Ehrlich mal finde ich es eine Frechheit, einfach jemanden auf Grund seines noch nicht so guten Skills runter zu machen..
Ach und GetAsyncKeyState ist keine Low-Funktion. Hast ja sehr viel ahnung du. Klar ist alles in der Main etc. was nicht gerade all zu übersichtlich ist
aber ist doch für den Anfang egal? Meine ersten Sources waren auch nur mit der Main.cpp & CProcess.h Dateien. Gibt dir kein Grund
einfach so eine scheiße zu posten. Warum sollte GetAsyncKeyState( VK_SPACE ) < 0 useless sein? Es tut seinen zweck und Funktioniert lol.
Ich mache mein Bunnyhop auch nicht anders.
CPP Code:
  1. if( cVars->GetVar( "Bunnyhop Active" ) > 0 && GetAsyncKeyState( 0x20 ) && !gLocal.GetOverlay( ) && gLocal.Flags & NOTINAIR )
  2. {
  3. SendMessage( hWND, WM_KEYDOWN, VK_SPACE, 0x390000 );
  4. Sleep( 10 );
  5. SendMessage( hWND, WM_KEYUP, VK_SPACE, 0x390000 );
  6. }

Was willst du den von mir?
Sei froh das ich überhaupt nen Video mach.
icon #19

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
Quote
Sei froh das ich überhaupt nen Video mach.
Ich weiß nich ob man darüber froh sein sollte  
Jetzt sag doch mal wieso GetKeyState() eine low funktion sein soll ?

mfg

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
icon #20

Join Date: Jul 2010

Posts: 11

GetKeyState = Lässt die Funktion die abgerufen wird wie auch immer immer zuende Arbeiten.
GeyAsyncKeyState = Unterbricht die Funktion die abgerufen wird sofort.

Somit finde ich async besser weil die funktion gleich beendet wird und man evnetuell keine komplikationen mit anderen key abfragen bekommt.