download latest offset, use class, fix bhop
This commit is contained in:
parent
813dc6e87d
commit
5a052f6b31
2 changed files with 69 additions and 30 deletions
60
main.py
60
main.py
|
@ -1,25 +1,53 @@
|
||||||
|
from json import loads
|
||||||
from time import sleep
|
from time import sleep
|
||||||
|
|
||||||
from pymem import Pymem
|
from pymem import Pymem
|
||||||
|
from requests import get
|
||||||
from win32api import GetAsyncKeyState
|
from win32api import GetAsyncKeyState
|
||||||
|
|
||||||
# offsets
|
|
||||||
LOCAL_PLAYER = 14596452
|
|
||||||
FORCE_JUMP = 86756784
|
|
||||||
HEALTH = 256
|
|
||||||
FLAGS = 260
|
|
||||||
|
|
||||||
|
class Hack():
|
||||||
|
def __init__(self) -> None:
|
||||||
|
self.running = False
|
||||||
|
|
||||||
def bhop() -> None:
|
def find_process(self, verbose: bool = False) -> Pymem:
|
||||||
|
"""Find game process"""
|
||||||
|
process_found = False
|
||||||
|
print("Looking for process...") if verbose else None
|
||||||
|
|
||||||
|
pm = None
|
||||||
|
while not process_found:
|
||||||
|
try:
|
||||||
pm = Pymem("csgo.exe")
|
pm = Pymem("csgo.exe")
|
||||||
|
except:
|
||||||
|
# Timeout
|
||||||
|
sleep(.5)
|
||||||
|
else:
|
||||||
|
print("Process found!") if verbose else None
|
||||||
|
process_found = True
|
||||||
|
|
||||||
|
if pm:
|
||||||
|
return pm
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
def bhop(self) -> None:
|
||||||
|
# Offsets
|
||||||
|
LOCAL_PLAYER = offset["dwLocalPlayer"]
|
||||||
|
HEALTH = offset["m_iHealth"]
|
||||||
|
FLAGS = offset["m_fFlags"]
|
||||||
|
FORCE_JUMP = offset["dwForceJump"]
|
||||||
|
|
||||||
|
pm = self.find_process(True)
|
||||||
|
|
||||||
# Get module address
|
# Get module address
|
||||||
|
client = None
|
||||||
for module in list(pm.list_modules()):
|
for module in list(pm.list_modules()):
|
||||||
if module.name == "client.dll":
|
if module.name == "client.dll":
|
||||||
client = module.lpBaseOfDll
|
client = module.lpBaseOfDll
|
||||||
|
|
||||||
# Hack loop
|
# Hack loop
|
||||||
while True:
|
self.running = True
|
||||||
|
while self.running:
|
||||||
# Reduce CPU usage
|
# Reduce CPU usage
|
||||||
sleep(0.01)
|
sleep(0.01)
|
||||||
|
|
||||||
|
@ -28,7 +56,7 @@ def bhop() -> None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Get local player
|
# Get local player
|
||||||
local_player: int = pm.read_uint(client + LOCAL_PLAYER)
|
local_player = pm.read_uint(client + LOCAL_PLAYER)
|
||||||
if not local_player:
|
if not local_player:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -37,11 +65,21 @@ def bhop() -> None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Check if player on ground
|
# Check if player on ground
|
||||||
if pm.read_uint(local_player+FLAGS) & 1 << 0:
|
if pm.read_uint(local_player+FLAGS) & (1 << 0):
|
||||||
pm.write_uint(client + FORCE_JUMP, 6)
|
pm.write_uint(client + FORCE_JUMP, 5)
|
||||||
sleep(0.01)
|
sleep(0.01)
|
||||||
pm.write_uint(client + FORCE_JUMP, 4)
|
pm.write_uint(client + FORCE_JUMP, 4)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
bhop()
|
# Loading offsets
|
||||||
|
hazedumper_data = get(
|
||||||
|
"https://raw.githubusercontent.com/frk1/hazedumper/master/csgo.min.json")
|
||||||
|
serial_data = loads(hazedumper_data.text)
|
||||||
|
offset = serial_data["signatures"] | serial_data["netvars"]
|
||||||
|
|
||||||
|
# Cheat
|
||||||
|
c = Hack()
|
||||||
|
|
||||||
|
# Bhop
|
||||||
|
c.bhop()
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
Pymem==1.10.0
|
Pymem==1.10.0
|
||||||
pywin32==306
|
pywin32==306
|
||||||
|
requests==2.28.2
|
||||||
|
|
Reference in a new issue