import os, sys # .startwith: compatibility with Python 2 if not sys.platform.startswith('linux'): raise NotImplementedError("unsupported platform: %s" % sys.platform) with open("/proc/self/mem", "rb") as mem: with open("/proc/self/maps") as maps: for line in maps: parts = line.split() if len(parts) >= 6: name = parts[5] else: name = '' parts = parts[0].split("-", 1) start = int(parts[0], 16) end = int(parts[1], 16) print("%x-%x: %s" % (start, end, name)) try: mem.seek(start) print("seek to %x succeed" % start) except Exception as err: print("seek to %x failed: %s" % (start, err))