Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import win32gui
- import win32process
- from ctypes import *
- from ctypes.wintypes import *
- class MemPy:
- PROCESS_ALL_ACCESS = 0x1F0FFF
- rPM = ctypes.WinDLL('kernel32', use_last_error=True).ReadProcessMemory
- def __init__(self):
- self.hwnd = win32gui.FindWindow(None, 'Calculator')
- self.threadid, self.pid = win32process.GetWindowThreadProcessId(self.hwnd)
- self.process = windll.kernel32.OpenProcess(self.PROCESS_ALL_ACCESS, 0, self.pid)
- print(self.pid)
- self.rPM.argtypes = [HANDLE, LPCVOID, LPVOID, c_size_t, POINTER(c_size_t)]
- self.rPM.restyper = BOOL
- def readMemory(self, address):
- buffer = create_string_buffer(b'',4)
- nread = c_size_t()
- bytesRead = c_size_t()
- if self.rPM(self.process, hex(address), buffer, bytesRead, byref(nread)):
- print("[*] {}\t{}".format(hex(address), buffer.value))
- else:
- print('[!] Error: ', get_last_error())
- mxl = MemPy()
- mxl.readMemory(0x005DE724)
- # Where 0x005DE724 is the address of the result bar.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement