belle_delphine.py
Active member
Python:
import ctypes, struct, time, wmi
class Pyrate:
def __init__(self):
self.pHandle = None
self.pid = None
def Attach(self):
c = wmi.WMI ()
for process in c.Win32_Process ():
if process.Name == 'gta_sa.exe':
prcID = process.ProcessId
self.pHandle = ctypes.windll.kernel32.OpenProcess(0x1F0FFF, False, prcID)
print(prcID)
def GetSize(self, Type):
if Type == "i": # Int32
return 4
elif Type == "f": # float
return 4
elif Type == "?": # bool
return 1
elif Type == "c": # char
return 1
elif Type == "d": # double
return 8
elif Type == "q": # long long
return 8
def ReadMemNum(self, adress, type):
buffer = (ctypes.c_byte * self.GetSize(type))()
bytesRead = ctypes.c_ulonglong(0)
if ctypes.windll.kernel32.ReadProcessMemory(self.pHandle, adress, buffer, len(buffer), ctypes.byref(bytesRead)):
return struct.unpack(type, buffer)[0]
else:
return -1
def WriteMem(self, adress, Val, type):
buffer = (ctypes.c_byte * self.GetSize(type))(*struct.pack(type, Val))
bytesRead = ctypes.c_ulonglong(0)
if ctypes.windll.kernel32.WriteProcessMemory(self.pHandle, adress, buffer, len(buffer), ctypes.byref(bytesRead)):
return True
else:
return False
def WriteByte(self, adress, Bytes):
for i in range(0, len(Bytes)):
buffer = (ctypes.c_byte * 1)(*[Bytes[i]])
bytesRead = ctypes.c_ulonglong(0)
ctypes.windll.kernel32.WriteProcessMemory(self.pHandle, adress + i, buffer, 1, ctypes.byref(bytesRead))
def GetLastError(self):
return ("err code: " + str(ctypes.windll.kernel32.GetLastError()))
def Detach(self):
ctypes.windll.kernel32.CloseHandle(self.pHandle)
class Address:
infiniteRun = 0xB7CEE4
thermalVision = 0xC402B9
class Cheats:
def __init__(self):
pass #fn
def infiniteRun(self):
if franz.ReadMemNum(Address.infiniteRun, "?") == True: #b
franz.WriteMem(Address.infiniteRun, False, "?")
else:
franz.WriteMem(Address.infiniteRun, True, "?")
def thermalVision(self):
if franz.ReadMemNum(Address.thermalVision, "i") == 1:
franz.WriteMem(Address.thermalVision, 0, "i")
else:
franz.WriteMem(Address.thermalVision, 1, "i")
franz = Pyrate()
cheat = Cheats()
franz.Attach()
#break and detach if "del" pressed
while True:
if ctypes.windll.user32.GetKeyState(0x2E) & 0x8000:
franz.Detach()
print("detached!")
break
time.sleep(0.4)
just a infiniterun and thermalvision cheat in samp using ctypes, im still a beginner so plz no hate
Method Credits: a guy named zniv from another hacking forum
ps: maybe ill do it fancier sometime
Last edited: