Skip to content

Instantly share code, notes, and snippets.

@beans42
Last active May 19, 2020 06:07
Show Gist options
  • Save beans42/2fa28c431585429503493e102c18ed44 to your computer and use it in GitHub Desktop.
Save beans42/2fa28c431585429503493e102c18ed44 to your computer and use it in GitHub Desktop.
import pymem
import re
pm = pymem.Pymem('RainbowSix.exe')
start = pm.process_base.lpBaseOfDll
size = pm.process_base.SizeOfImage
print("Base: 0x{:X}".format(start))
print("End: 0x{:X}".format(start + size))
print("Size: 0x{:X}\n".format(size))
bytes = pm.read_bytes(start, size)
def get_sig(pattern, extra = 3, relative = 4):
current_address = re.search(pattern, bytes).start() + extra + start
actual_address = current_address + pm.read_int(current_address) + relative - start
return "0x{:X}".format(actual_address)
print("GameManager: {}".format( get_sig(b'\x48\x8B\x05....\x8B\x8E') )) #wildcard = '.'
print("FovManager: {}".format( get_sig(b'\x48\x8B\x05....\xF3\x44\x0F\x10\x91') ))
print("RoundManager: {}".format( get_sig(b'\x48\x8B\x05....\x8B\x90....\x83\x3D') ))
print("GlowManager: {}".format( get_sig(b'\x48\x8B\x0D....\x48\x8B\xD7\xE8....\x48\x85\xC0') ))
print("ProfileManager: {}".format( get_sig(b'\x48\x8B\x05....\x33\xD2\x4C\x8B\x40\x78') ))
print("VTMarker: {}".format( get_sig(b'\x4C\x8D\x0D....\x48...\x48\x8D\x8B....\x4C..\x48\x8D.....\xE8') ))
print("NetworkManager: {}".format( get_sig(b'\x48\x8B\x05....\x48\x85\xC0\x0F\x84....\x48\x8B\x88....\x48\x85\xC9\x0F\x84....\x4C\x8B\x8D') ))
print("InputManager: {}".format( get_sig(b'\x4C\x8B\x05....\x41\x80\x78') ))
print("FreezeManager: {}".format( get_sig(b'\x48\x8B\x05....\x0F\xB6\x48\x61') ))
print("Done!")
pm.close_process()
kek = input()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment