Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Python bhop script by HaloShadoW as a joke
- INSTRUCTIONS:
- bind f7 "+jump 32; -jump 32"
- bind space "+jump 32; -jump 32"
- '''
- from ctypes import *;
- from time import sleep;
- import os;
- os.system("color 0B")
- os.system("cls");
- OpenProcess = windll.kernel32.OpenProcess
- ReadProcessMemory = windll.kernel32.ReadProcessMemory
- WriteProcessMemory = windll.kernel32.WriteProcessMemory
- CreateToolhelp32Snapshot = windll.kernel32.CreateToolhelp32Snapshot
- Process32First = windll.kernel32.Process32First
- Process32Next = windll.kernel32.Process32Next
- Module32First = windll.kernel32.Module32First
- Module32Next = windll.kernel32.Module32Next
- CloseHandle = windll.kernel32.CloseHandle
- GetAsyncKeyState = windll.User32.GetAsyncKeyState
- SendMessage = windll.User32.SendMessageA
- keybd_event = windll.User32.keybd_event
- FindWindow = windll.User32.FindWindowA
- class PROCESSENTRY32(Structure):
- _fields_ = [("dwSize", c_ulong),("cntUsage", c_ulong),("th32ProcessID", c_ulong),("th32DefaultHeapID", c_ulong),("th32ModuleID", c_ulong),("cntThreads", c_ulong),("th32ParentProcessID", c_ulong),("pcPriClassBase", c_ulong),("dwFlags", c_ulong),("szExeFile", c_char * 260)]
- class MODULEENTRY32(Structure):
- _fields_ = [( 'dwSize' , c_ulong ) , ( 'th32ModuleID' , c_ulong ),( 'th32ProcessID' , c_ulong ),( 'GlblcntUsage' , c_ulong ),( 'ProccntUsage' , c_ulong ) ,( 'modBaseAddr' , c_void_p ) ,( 'modBaseSize' , c_ulong ) , ( 'hModule' , c_void_p ) ,( 'szModule' , c_char * 256 ),( 'szExePath' , c_char * 260 ) ]
- def GetPIDByName(ProcessName):
- hProcessSnap = CreateToolhelp32Snapshot(0x00000002, 0)
- pe32 = PROCESSENTRY32()
- pe32.dwSize = sizeof(PROCESSENTRY32)
- Process32First(hProcessSnap, byref(pe32))
- pid = None
- while True:
- if (pe32.szExeFile.lower()==ProcessName.lower()):
- pid=pe32.th32ProcessID
- break
- if not Process32Next(hProcessSnap, byref(pe32)):
- break
- CloseHandle(hProcessSnap)
- return pid
- def GetModuleBase(PID,ModuleName):
- hModuleSnap = CreateToolhelp32Snapshot( 0x00000008, PID );
- me32 = MODULEENTRY32()
- me32.dwSize = sizeof(MODULEENTRY32)
- Module32First( hModuleSnap, byref(me32))
- base = None
- while True:
- if (me32.szModule.lower()==ModuleName.lower()):
- base=me32.modBaseAddr
- break
- if not Module32Next(hModuleSnap, byref(me32)):
- break
- CloseHandle(hModuleSnap)
- return base
- ProcID = GetPIDByName('hl2.exe');
- while (ProcID == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for \"hl2.exe\"";
- ProcID = GetPIDByName('hl2.exe');
- EngineBase = GetModuleBase(ProcID, 'engine.dll');
- while (EngineBase == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for \"engine.dll\"";
- EngineBase = GetModuleBase(ProcID, 'engine.dll');
- ClientBase = GetModuleBase(ProcID, 'client.dll');
- while (ClientBase == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for \"client.dll\"";
- ClientBase = GetModuleBase(ProcID, 'client.dll');
- VGuiBase = GetModuleBase(ProcID, 'vguimatsurface.dll');
- while (VGuiBase == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for \"vguimatsurface.dll\"";
- VGuiBase = GetModuleBase(ProcID, 'vguimatsurface.dll');
- ProcHandle = OpenProcess(0x1FFFFF, 0, ProcID);
- while (ProcHandle == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for process handle.";
- ProcHandle = OpenProcess(0x1FFFFF, 0, ProcID);
- ProcHWND = FindWindow('Valve001', 0);
- while (ProcHWND == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for process window";
- ProcHWND = FindWindow('Valve001', 0);
- onGroundAddr = ClientBase+0x5759A8;
- InWaterAddr = ClientBase+0x57367C;
- EscAddr = VGuiBase+0x130020;
- os.system("cls");
- print "Proccess ID:",ProcID,"\nEngine.dll Module Base:",EngineBase,"\nClient.dll Module Base:",ClientBase,"\nProccess Handler:",ProcHandle,"\nCS:S Window ID:",ProcHWND,"\n";
- print "\nPython bunnyhop script by HaloShadoW - v3 by 0f1r and Shavit.\n\nChanges:\nBetter jump delay.\nWon't hop when typing in console.\nJump on ladders.\nJump on/in water.\nSupport for restarting the game.\n\nHow to use?\nType 'bind space \"+jump 32; -jump 32\"' in your in-game console press ENTER.\nType 'bind f7 \"+jump 32; -jump 32\"' in your console press ENTER.\nType 'bind f8 \"+jump\"' in your console press ENTER.";
- print "\nVGuiID:",VGuiBase,""
- bytesRead = c_uint();
- onGround = c_ulong();
- EscOn = c_ulong();
- inWater = c_ulong();
- while True:
- sleep(.00171);
- if(GetAsyncKeyState(32) & 0x80000000):
- ReadProcessMemory(ProcHandle, c_void_p(EscAddr), byref(EscOn), 4, byref(bytesRead));
- if(EscOn.value == 0):
- ReadProcessMemory(ProcHandle, c_void_p(InWaterAddr), byref(inWater), 4, byref(bytesRead));
- ReadProcessMemory(ProcHandle,c_void_p(onGroundAddr),byref(onGround),4,byref(bytesRead));
- if(not onGround.value == 4294967295):
- keybd_event(0x76,0x41,0,0);
- keybd_event(0x76,0x41,2,0);
- elif(not inWater.value == 0):
- keybd_event(0x77,0x42,0,0);
- sleep(.00171);
- keybd_event(0x77,0x42,2,0);
- ProcID = GetPIDByName('hl2.exe');
- if(ProcID == None):
- os.system("cls");
- ProcID = GetPIDByName('hl2.exe');
- while (ProcID == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for \"hl2.exe\"";
- ProcID = GetPIDByName('hl2.exe');
- EngineBase = GetModuleBase(ProcID, 'engine.dll');
- while (EngineBase == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for \"engine.dll\"";
- EngineBase = GetModuleBase(ProcID, 'engine.dll');
- ClientBase = GetModuleBase(ProcID, 'client.dll');
- while (ClientBase == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for \"client.dll\"";
- ClientBase = GetModuleBase(ProcID, 'client.dll');
- VGuiBase = GetModuleBase(ProcID, 'vguimatsurface.dll');
- while (VGuiBase == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for \"vguimatsurface.dll\"";
- VGuiBase = GetModuleBase(ProcID, 'vguimatsurface.dll');
- ProcHandle = OpenProcess(0x1FFFFF, 0, ProcID);
- while (ProcHandle == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for process handle.";
- ProcHandle = OpenProcess(0x1FFFFF, 0, ProcID);
- ProcHWND = FindWindow('Valve001', 0);
- while (ProcHWND == None):
- sleep(1);
- os.system("cls");
- print "\t\t\tWaiting for process window";
- ProcHWND = FindWindow('Valve001', 0);
- onGroundAddr = ClientBase+0x5759A8;
- InWaterAddr = ClientBase+0x57367C;
- EscAddr = VGuiBase+0x130020;
- os.system("cls");
- print "Proccess ID:",ProcID,"\nEngine.dll Module Base:",EngineBase,"\nClient.dll Module Base:",ClientBase,"\nProccess Handler:",ProcHandle,"\nCS:S Window ID:",ProcHWND,"\n";
- print "\nPython bunnyhop script by HaloShadoW - v3 by 0f1r and Shavit.\n\nChanges:\nBetter jump delay.\nWon't hop when typing in console.\nJump on ladders\nSupport for restarting the game.\n\nHow to use?\nType 'bind space \"+jump 32; -jump 32\"' in your in-game console press ENTER.\nType 'bind f7 \"+jump 32; -jump 32\"' in your console press ENTER.";
- continue;
Advertisement
Add Comment
Please, Sign In to add comment