OldSchoolHack

Register / Login English

Anfrage auf ein tut.. für ein css hit Bhop hack

icon Thread: [Coding] Anfrage auf ein tut.. für ein css hit Bhop hack

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
hier C++ Pseudocode wie das extern geht, wenn du VB kannst,
sollte der Kommentierte Code dir helfen:

GetModuleBase Funktion:
TEXT Code:
  1. DWORD GetModuleBase(const DWORD dwProcessId, const char *szModuleName) //name userer funktione + parameter prozess id + modulname
  2. {
  3.    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId); //einen snapshot von unserem prozess machen...
  4.    if (!hSnap) return 0; //wenns den prozess nich gibt, 0 zurückgeben
  5.  
  6.    MODULEENTRY32 me; //ein MODULEENTRY32 (structure) names "me" erstellen
  7.    me.dwSize = sizeof(MODULEENTRY32); //dwSize ist die größe von MODULEENTRY32
  8.  
  9.    DWORD dwReturn = 0; //rückgabewert erstellen
  10.  
  11.    if (Module32First(hSnap, &me))  //module32first muss gesetzt werden...
  12.    {
  13.        while (Module32Next(hSnap, &me))  //whileschlife die alle module durchgeht
  14.        {
  15.            if (lstrcmpi(me.szModule, szModuleName) == 0) //wenn der modulname übereinstimm dann...
  16.            {            
  17.                dwReturn = (DWORD)me.modBaseAddr; //rückgabewert = als DWORD modBaseAddr
  18.                break; //aus der whileschleife ausbrechen
  19.            }
  20.        }
  21.    }
  22.    CloseHandle(hSnap); //handle wieder closen
  23.    return dwReturn; //wert zurückgeben
  24. }


Der eigentliche BHOP:
TEXT Code:
  1. HWND Fenster = FindWindow(NULL,"Counter-Strike Source" ); //fensterhandle finden
  2. DWORD ProzessID; //Variable ProzessID erstellen
  3. GetWindowThreadProcessId(Fenster, &ProzessID); //ProzessID herausfinden
  4. HANDLE ProcessHandle =  OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProzessID); //prozesshandle herausfinden (brauchen wir für readprozessmemory)
  5.  
  6.  
  7. DWORD Adresse = GetModuleBase(ProzessID, client.dll) + 0x568804; //Adresse herausfinden
  8. //Die Variable die an der Adresse ist, ist immer 1 wenn man auf
  9. //dem Boden steht, und 0 wenn man in der Luft ist
  10.  
  11. //jetzt müssen wie nurnoch den wert ständig auslesen,
  12. //und gegebenfalls einen leertastendruck senden
  13.  
  14. bool is_on_ground = 0;  
  15.  
  16. while(1)//unendlichschleife
  17. {
  18.     ReadProcessMemory(ProcessHandle ,(void*) (Adresse), &is_on_ground, sizeof(is_on_ground), 0);
  19.    //Wert auslesen und in is_on_ground speichern
  20.    
  21.    if(is_on_ground == 1) //Wenn 1 dann...
  22.     {
  23.         SendMessage(Fenster, WM_KEYDOWN, VK_SPACE, 0x390000); //Taste drücken
  24.         Sleep(10); //Kurz Abwarten (10ms);
  25.         SendMessage(Fenster, WM_KEYUP, VK_SPACE, 0x390000); //Taste loslassen
  26.     }
  27.    Sleep(1); //Programm auf max. 1000 durchgänge pro Sekunde limitieren, wir wollen ja nicht 100% CPU-Last verursachen
  28. }


MSDN-Links, falls was nicht ganz klar ist:
CreateToolhelp32Snapshot: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682489%28v=vs.85%29.aspx
ModuleEntry32: http://msdn.microsoft.com/en-us/library/windows/desktop/ms684225%28v=vs.85%29.aspx
Module32First: http://msdn.microsoft.com/en-us/library/windows/desktop/ms684218%28v=vs.85%29.aspx
Module32Next: http://msdn.microsoft.com/en-us/library/windows/desktop/ms684221%28v=vs.85%29.aspx

FindWindow: http://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx
GetWindowThreadProcessId: http://msdn.microsoft.com/en-us/library/windows/desktop/ms633522%28v=vs.85%29.aspx
OpenProcess:http://msdn.microsoft.com/en-us/library/windows/desktop/ms684320%28v=vs.85%29.aspx
ReadProcessMemory: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680553%28v=vs.85%29.aspx
SendMessage: http://msdn.microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29.aspx




mfg Dr_Pepper

__________________

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