Advertisement
Guest User

Untitled

a guest
Dec 5th, 2017
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.06 KB | None | 0 0
  1. import win32gui
  2. import win32process
  3. from ctypes import *
  4. from ctypes.wintypes import *
  5.  
  6. class MemPy:
  7.  
  8.     PROCESS_ALL_ACCESS = 0x1F0FFF
  9.     rPM = ctypes.WinDLL('kernel32', use_last_error=True).ReadProcessMemory
  10.  
  11.     def __init__(self):
  12.         self.hwnd = win32gui.FindWindow(None, 'Calculator')
  13.         self.threadid, self.pid = win32process.GetWindowThreadProcessId(self.hwnd)
  14.         self.process = windll.kernel32.OpenProcess(self.PROCESS_ALL_ACCESS, 0, self.pid)
  15.         print(self.pid)
  16.         self.rPM.argtypes = [HANDLE, LPCVOID, LPVOID, c_size_t, POINTER(c_size_t)]
  17.         self.rPM.restyper = BOOL
  18.  
  19.     def readMemory(self, address):
  20.         buffer = create_string_buffer(b'',4)
  21.         nread = c_size_t()
  22.         bytesRead = c_size_t()
  23.         if self.rPM(self.process, hex(address), buffer, bytesRead, byref(nread)):
  24.             print("[*] {}\t{}".format(hex(address), buffer.value))
  25.         else:
  26.             print('[!] Error: ', get_last_error())
  27.  
  28. mxl = MemPy()
  29. mxl.readMemory(0x005DE724)
  30.  
  31. # Where 0x005DE724 is the address of the result bar.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement