add moneyreveal cheat
This commit is contained in:
parent
1b3712ec24
commit
d99bad0516
1 changed files with 40 additions and 0 deletions
40
cheats/moneyreveal.py
Normal file
40
cheats/moneyreveal.py
Normal file
|
@ -0,0 +1,40 @@
|
|||
from hack import Hack
|
||||
from re import search
|
||||
|
||||
|
||||
class Moneyreveal(Hack):
|
||||
def __init__(self, **kwargs) -> None:
|
||||
super().__init__(**kwargs)
|
||||
|
||||
self.__adress = self.__get_address(self.pm)
|
||||
self.__default = 0x75
|
||||
|
||||
def __get_address(self, mem) -> int:
|
||||
client = 0
|
||||
clientModule = b""
|
||||
for internal_module in list(mem.list_modules()):
|
||||
if internal_module.name == "client.dll":
|
||||
client = internal_module.lpBaseOfDll
|
||||
clientModule = mem.read_bytes(client, internal_module.SizeOfImage)
|
||||
break
|
||||
|
||||
offset = search(rb".\x0C\x5B\x5F\xB8\xFB\xFF\xFF\xFF", clientModule)
|
||||
if offset is not None:
|
||||
print(offset.start())
|
||||
return client + offset.start()
|
||||
else:
|
||||
raise Exception("Offset not found for Money Reveal")
|
||||
|
||||
def moneyreveal(self) -> None:
|
||||
"""
|
||||
For this one, we're not using regular self.find_module and offsets
|
||||
methods because we regexing client.dll for a specific chunk of memory.
|
||||
Once we have what we want, we can change values.
|
||||
Moreover, change persists across game, so we only write once.
|
||||
"""
|
||||
# Get module address
|
||||
self.pm.write_uchar(self.__adress, 0xEB)
|
||||
|
||||
def moneyreveal_unload(self):
|
||||
# Reset to default value
|
||||
self.pm.write_uchar(self.__adress, self.__default)
|
Reference in a new issue