├── LICENSE ├── README.md ├── bin ├── AntiDBG.dll ├── dll_bytes.txt └── read_dll.py ├── compile_test.bat ├── custom_nuitka.txt ├── dll ├── LICENSE ├── antidbg.sln ├── antidbg │ ├── AntiDBG.asm │ ├── AntiDBG.vcxproj.user │ ├── antidbg.h │ ├── antidbg.vcxproj │ ├── antidbg.vcxproj.filters │ ├── dllmain.cpp │ ├── functions.cpp │ └── x64 │ │ ├── Debug │ │ ├── AntiDBG.Build.CppClean.log │ │ ├── AntiDBG.dll.recipe │ │ ├── AntiDBG.lib.recipe │ │ ├── AntiDBG.log │ │ ├── AntiDBG.tlog │ │ │ ├── AntiDBG.lastbuildstate │ │ │ ├── CL.command.1.tlog │ │ │ ├── CL.read.1.tlog │ │ │ ├── CL.write.1.tlog │ │ │ ├── Cl.items.tlog │ │ │ ├── CustomBuild.command.1.tlog │ │ │ ├── CustomBuild.read.1.tlog │ │ │ ├── CustomBuild.write.1.tlog │ │ │ ├── Lib-link.read.1.tlog │ │ │ ├── Lib-link.write.1.tlog │ │ │ └── Lib.command.1.tlog │ │ ├── AntiDBG.vcxproj.FileListAbsolute.txt │ │ ├── dllmain.obj │ │ └── functions.obj │ │ └── Release │ │ ├── AntiDBG.Build.CppClean.log │ │ ├── AntiDBG.dll.recipe │ │ ├── AntiDBG.exe.recipe │ │ ├── AntiDBG.iobj │ │ ├── AntiDBG.ipdb │ │ ├── AntiDBG.log │ │ ├── AntiDBG.tlog │ │ ├── AntiDBG.lastbuildstate │ │ ├── AntiDBG.write.1u.tlog │ │ ├── CL.command.1.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── Cl.items.tlog │ │ ├── CustomBuild.command.1.tlog │ │ ├── CustomBuild.read.1.tlog │ │ ├── CustomBuild.write.1.tlog │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ ├── link.write.1.tlog │ │ └── link.write.2u.tlog │ │ ├── AntiDBG.vcxproj.FileListAbsolute.txt │ │ ├── dllmain.obj │ │ ├── functions.obj │ │ ├── vc142.pdb │ │ └── vc143.pdb └── x64 │ ├── Debug │ ├── AntiDBG.exe │ ├── AntiDBG.lib │ ├── AntiDBG.obj │ └── AntiDBG.pdb │ └── Release │ ├── AntiDBG.dll │ ├── AntiDBG.exp │ ├── AntiDBG.lib │ ├── AntiDBG.obj │ └── AntiDBG.pdb ├── guardshield ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-38.pyc │ ├── __init__.cpython-39.pyc │ ├── dll_bytes.cpython-38.pyc │ ├── dll_bytes.cpython-39.pyc │ ├── main.cpython-38.pyc │ └── main.cpython-39.pyc ├── dll_bytes.py ├── main.py └── utils │ ├── __pycache__ │ ├── cheatengine.cpython-39.pyc │ └── dll_scan.cpython-39.pyc │ ├── cheatengine.py │ └── dll_scan.py ├── setup.py ├── temp ├── 1.gif ├── 2.gif ├── 3.gif ├── 4.gif └── banner.png └── test.py /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 oxyn 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GuardShield (Python security) 2 | 3 | ![Banner](https://github.com/OxynDev/guardshield/blob/dfe8d768d960576669baf31ae83ff22e016ccac2/temp/banner.png) 4 | 5 | GuardShield is a Python library that provides robust security measures to protect your Python projects. It offers various detection methods to prevent debugging attempts and ensure secure execution of your code. 6 | 7 | [Discord](https://discord.gg/8W6BweksGY) 8 | 9 | ## Installation 10 | 11 | ```python 12 | pip install --force-reinstall guardshield 13 | ``` 14 | 15 | ## Usage 16 | Import the library: 17 | ```python 18 | import guardshield 19 | ``` 20 | 21 | Enable anti-debugger detection and define custom actions on detection: 22 | ```python 23 | # Custom function to be executed on debugger detection 24 | def debugger_detected(): 25 | print("Debugger detected!") 26 | 27 | # Create a Security instance with desired settings 28 | module = guardshield.Security( 29 | anti_debugger=True, # Enable debugger detection 30 | kill_on_debug=False, # Kill the application on detection 31 | detect_vm=False, # Call custom function on vm detection 32 | detect_sandbox=False, # Call custom function on sandbox detection 33 | on_detection=debugger_detected # Execute custom function on detection 34 | 35 | ) 36 | 37 | # Start the security check loop in a separate thread 38 | module.check_security() # -> dict { 'detected' : bool, 'description' : str } 39 | ``` 40 | 41 | Perform simple checks: 42 | ```python 43 | # Check if the application is being debugged 44 | module.check_debug() # -> bool 45 | 46 | # Detect if the application is running within a sandbox environment (e.g., Sandboxie) 47 | module.check_sandbox() # -> bool 48 | 49 | # Terminate the application 50 | module.force_kill() # -> None 51 | 52 | # Detect if the application is running in vm and rdp 53 | module.check_vm() # -> bool 54 | 55 | # Crash user pc with Blue screen 56 | module.crash_pc() # -> None 57 | 58 | # Create pc fingerprint / hwid 59 | module.get_uuid() # -> str 60 | 61 | # Protect injection / hooking 62 | module.anti_injection() # -> None 63 | 64 | ``` 65 | 66 | ## Change log 67 | ```diff 68 | v1.1.5 ⋮ 06/02/2024 69 | + bug fix 70 | + dll injection detection (by bytes) 71 | 72 | v1.1.4 ⋮ 04/02/2024 73 | + bug fix 74 | + pyinject process detection (by name) 75 | 76 | v1.1.3 ⋮ 01/02/2024 77 | + injection protection 78 | 79 | v1.1.2 ⋮ 01/02/2024 80 | + false detection fix 81 | ``` 82 | 83 | ## Better anti injection 84 | 85 | https://www.youtube.com/watch?v=AP1rasewaUw&ab_channel=oxyn 86 | 87 | ## Secure Compilation and Protection Against Decompilation and Debugging Attacks 88 | 89 | To ensure the security of your executable (`.exe`) file, it is recommended to avoid using PyInstaller for compilation, as it can be easily reversed. Instead, you can use "Nuitka," a source-to-source compiler that compiles Python code into optimized C source code, making it harder for checkers and reverse engineers to understand and modify your code. 90 | 91 | Follow these steps to compile your code securely: 92 | 93 | 1. Obfuscate your code using tools like the [Pyobfuscate](https://pyob.oxyry.com/) website, which can obfuscate variable names and enhance protection. 94 | 2. Import GuardShield to prevent debugging during the execution of your code. 95 | 3. Compile the code using Nuitka. Here's an example command: 96 | 97 | ```python 98 | python -m nuitka --follow-imports --onefile --standalone --windows-icon-from-ico=icon.ico main.py 99 | ``` 100 | 101 | After compiling the program, you can also provide it with additional protection using the vmprotect application. 102 | 103 | By following these steps, your code will be well-protected. However, for the utmost security, consider keeping sensitive parts of your code on the server-side as an API and perform critical operations there. This approach adds an extra layer of protection and makes your application almost unbreakable. 104 | 105 | ## Request Encryption 106 | 107 | To enhance the security of your API requests, it is recommended to encrypt the requests or add a fingerprint (custom hash) to the request that can be checked in the application and on the server. Here's an example of AES encryption using the `AESCipher` class: 108 | 109 | ```python 110 | import base64 111 | from Crypto.Cipher import AES 112 | from Crypto import Random 113 | import hashlib 114 | 115 | class AESCipher(object): 116 | def __init__(self, key): 117 | self.bs = AES.block_size 118 | self.key = hashlib.sha256(key.encode()).digest() 119 | 120 | def encrypt(self, raw): 121 | raw = self._pad(raw) 122 | iv = Random.new().read(AES.block_size) 123 | cipher = AES.new(self.key, AES.MODE_CBC, iv) 124 | return base64.b64encode(iv + cipher.encrypt(raw.encode())) 125 | 126 | def decrypt(self, enc): 127 | enc = base64.b64decode(enc) 128 | iv = enc[:AES.block_size] 129 | cipher = AES.new(self.key, AES.MODE_CBC, iv) 130 | return self._unpad(cipher.decrypt(enc[AES.block_size:])).decode('utf-8') 131 | 132 | def _pad(self, s): 133 | return s + (self.bs - len(s) % self.bs) * chr(self.bs - len(s) % self.bs) 134 | 135 | @staticmethod 136 | def _unpad(s): 137 | return s[:-ord(s[len(s)-1:])] 138 | 139 | class Aes: 140 | def __init__(self): 141 | self.key = "SecKey2115" 142 | 143 | def decrypt(self, text, key=None): 144 | if key is not None: 145 | self.key = key 146 | return AESCipher(self.key).decrypt(text) 147 | 148 | def encrypt(self, text, key=None): 149 | if key is not None: 150 | self.key = key 151 | return AESCipher(self.key).encrypt(text).decode() 152 | ``` 153 | 154 | You can use the `Aes` class to encrypt and decrypt your requests using AES encryption. Remember to use a strong and secure key for encryption. 155 | 156 | 157 | ## Todo 158 | 159 | - [x] Add sandboxie detection 160 | - [x] Add Vm detection 161 | - [x] Add Better cheat engine detection 162 | - [x] Add DLL injection protection 163 | 164 | 165 | ## Tests 166 | 167 | ![Test 1](https://github.com/OxynDev/guardshield/blob/ac9b56845ff0deb4de33363abe4025e119e830b7/temp/1.gif) 168 | 169 | ![Test 2](https://github.com/OxynDev/guardshield/blob/4c971d7bebb2a04d54e7819561f5d850655a1881/temp/2.gif) 170 | 171 | ![Test 3](https://github.com/OxynDev/guardshield/blob/bd7c082bf12272f35e63988267df144039d70873/temp/3.gif) 172 | 173 | ![Test 4](https://github.com/OxynDev/guardshield/blob/4a13905d9b1ea1bbb84e5f72e2061a5347ee98a4/temp/4.gif) 174 | -------------------------------------------------------------------------------- /bin/AntiDBG.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/bin/AntiDBG.dll -------------------------------------------------------------------------------- /bin/dll_bytes.txt: -------------------------------------------------------------------------------- 1 | dll_bytes=b'''MZ\x90\x00\x03\x00\x00\x00\x04\x00\x00\x00\xff\xff\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00\x0e\x1f\xba\x0e\x00\xb4\t\xcd!\xb8\x01L\xcd!This program cannot be run in DOS mode.\r\r\n$\x00\x00\x00\x00\x00\x00\x00u\xb2\xfd\x831\xd3\x93\xd01\xd3\x93\xd01\xd3\x93\xd08\xab\x00\xd0;\xd3\x93\xd07R\x96\xd1!\xd3\x93\xd07R\x97\xd19\xd3\x93\xd07R\x90\xd12\xd3\x93\xd07R\x92\xd17\xd3\x93\xd0z\xab\x92\xd14\xd3\x93\xd01\xd3\x92\xd0m\xd3\x93\xd0[R\x90\xd10\xd3\x93\xd0[R\x9a\xd13\xd3\x93\xd0[R\x93\xd10\xd3\x93\xd0[Rl\xd00\xd3\x93\xd0[R\x91\xd10\xd3\x93\xd0Rich1\xd3\x93\xd0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00PE\x00\x00d\x86\x06\x00\xee\xa1\xbfe\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00" \x0b\x02\x0e&\x00$\x00\x00\x002\x00\x00\x00\x00\x00\x00\xd8\'\x00\x00\x00\x10\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x10\x00\x00\x00\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x03\x00`\x01\x00\x00\x10\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x80U\x00\x00\x94\x00\x00\x00\x14V\x00\x00\xc8\x00\x00\x00\x00\x90\x00\x00\xe0\x01\x00\x00\x00\x80\x00\x00\x84\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00P\x00\x00\x00\xb0J\x00\x00p\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00pI\x00\x00@\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00`\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.text\x00\x00\x00E"\x00\x00\x00\x10\x00\x00\x00$\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00`.rdata\x00\x00V!\x00\x00\x00@\x00\x00\x00"\x00\x00\x00(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00@.data\x00\x00\x00X\x07\x00\x00\x00p\x00\x00\x00\x02\x00\x00\x00J\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\xc0.pdata\x00\x00\x84\x03\x00\x00\x00\x80\x00\x00\x00\x04\x00\x00\x00L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00@.rsrc\x00\x00\x00\xe0\x01\x00\x00\x00\x90\x00\x00\x00\x02\x00\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00@.reloc\x00\x00P\x00\x00\x00\x00\xa0\x00\x00\x00\x02\x00\x00\x00R\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00H\x8d\x05Ag\x00\x00\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x89L$\x08H\x89T$\x10L\x89D$\x18L\x89L$ SVWH\x83\xec0H\x8b\xf9H\x8dt$X\xb9\x01\x00\x00\x00\xff\x15\xfa1\x00\x00H\x8b\xd8\xe8\xba\xff\xff\xffE3\xc9H\x89t$ L\x8b\xc7H\x8b\xd3H\x8b\x08\xff\x15\xe31\x00\x00H\x83\xc40_^[\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9H\x8b\xc2H\x8d\r\x8d2\x00\x00\x0fW\xc0H\x8dS\x08H\x89\x0bH\x8dH\x08\x0f\x11\x02\xff\x15\x0e1\x00\x00H\x8b\xc3H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x8bQ\x08H\x8d\x05\xb52\x00\x00H\x85\xd2H\x0fE\xc2\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x89\\$\x08WH\x83\xec H\x8d\x05/2\x00\x00H\x8b\xf9H\x89\x01\x8b\xdaH\x83\xc1\x08\xff\x15}0\x00\x00\xf6\xc3\x01t\r\xba\x18\x00\x00\x00H\x8b\xcf\xe8\x83\x13\x00\x00H\x8b\\$0H\x8b\xc7H\x83\xc4 _\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x8d\x05\xe91\x00\x00H\x89\x01H\x83\xc1\x08H\xff%;0\x00\x00\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x8d\x05A2\x00\x00H\xc7A\x10\x00\x00\x00\x00H\x89A\x08H\x8d\x05\xf61\x00\x00H\x89\x01H\x8b\xc1\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9H\x8b\xc2H\x8d\r\x8d1\x00\x00\x0fW\xc0H\x8dS\x08H\x89\x0bH\x8dH\x08\x0f\x11\x02\xff\x15\x0e0\x00\x00H\x8d\x05\xaf1\x00\x00H\x89\x03H\x8b\xc3H\x83\xc4 [\xc3\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9H\x8b\xc2H\x8d\rM1\x00\x00\x0fW\xc0H\x8dS\x08H\x89\x0bH\x8dH\x08\x0f\x11\x02\xff\x15\xce/\x00\x00H\x8d\x05G1\x00\x00H\x89\x03H\x8b\xc3H\x83\xc4 [\xc3\xcc\xcc\xccH\x83\xec(\xe8\x17\x10\x00\x00\x85\xc0\x0f\x95\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x83\xec8H\x8b\x05%^\x00\x00H3\xc4H\x89D$(\xc7D$ \x00\x00\x00\x00\xff\x15\xcf-\x00\x00H\x8b\xc8H\x8dT$ \xff\x159.\x00\x00\x83|$ \x00\x0f\x95\xc0H\x8bL$(H3\xcc\xe8\\\x10\x00\x00H\x83\xc48\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec H\x8d\x15s1\x00\x003\xc9\xff\x15\xdb.\x00\x00H\x8d\x15\x841\x00\x003\xc9H\x8b\xd8\xff\x15\xc9.\x00\x00H\x85\xc0u\x0cH\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xb0\x01H\x83\xc4 [\xc3H\x89|$\x10UH\x8d\xac$`\xfb\xff\xffH\x81\xec\xa0\x05\x00\x00H\x8b\x05\x84]\x00\x00H3\xc4H\x89\x85\x90\x04\x00\x00H\x8d\x05k1\x00\x003\xd2H\x89\x85\xa0\x03\x00\x00H\x8d\x8dd\x01\x00\x00H\x8d\x05\x841\x00\x00A\xb84\x02\x00\x00H\x89\x85\xa8\x03\x00\x00H\x8d\x05\x881\x00\x00H\x89\x85\xb0\x03\x00\x00H\x8d\x05\x8a1\x00\x00H\x89\x85\xb8\x03\x00\x00H\x8d\x05\x941\x00\x00H\x89\x85\xc0\x03\x00\x00H\x8d\x05\x9e1\x00\x00H\x89\x85\xc8\x03\x00\x00H\x8d\x05\xb81\x00\x00H\x89\x85\xd0\x03\x00\x00H\x8d\x05\xc21\x00\x00H\x89\x85\xd8\x03\x00\x00H\x8d\x05\xcc1\x00\x00H\x89\x85\xe0\x03\x00\x00H\x8d\x05\xe61\x00\x00H\x89\x85\xe8\x03\x00\x00H\x8d\x05\xf01\x00\x00H\x89\x85\xf0\x03\x00\x00H\x8d\x05\xfa1\x00\x00H\x89\x85\xf8\x03\x00\x00H\x8d\x05\x042\x00\x00H\x89\x85\x00\x04\x00\x00H\x8d\x05\x1e2\x00\x00H\x89\x85\x08\x04\x00\x00H\x8d\x0582\x00\x00H\x89\x85\x10\x04\x00\x00H\x8d\x05J2\x00\x00H\x89\x85\x18\x04\x00\x00H\x8d\x05T2\x00\x00H\x89\x85 \x04\x00\x00H\x8d\x05^2\x00\x00H\x89\x85(\x04\x00\x00H\x8d\x05x2\x00\x00H\x89\x850\x04\x00\x00H\x8d\x05\x922\x00\x00H\x89\x858\x04\x00\x00H\x8d\x05\xa42\x00\x00H\x89\x85@\x04\x00\x00H\x8d\x05\xbe2\x00\x00H\x89\x85H\x04\x00\x00H\x8d\x05\xd02\x00\x00H\x89\x85P\x04\x00\x00H\x8d\x05\xda2\x00\x00H\x89\x85X\x04\x00\x00H\x8d\x05\xe42\x00\x00H\x89\x85`\x04\x00\x00H\x8d\x05\xee2\x00\x00H\x89\x85h\x04\x00\x00H\x8d\x05\x003\x00\x00H\x89\x85p\x04\x00\x00H\x8d\x05\x1a3\x00\x00H\x89\x85x\x04\x00\x00H\x8d\x05,3\x00\x00H\x89\x85\x80\x04\x00\x00H\x8d\x05>3\x00\x00H\x89\x85\x88\x04\x00\x00\xe8\xc0\x1b\x00\x003\xd2\x8dJ\x02\xff\x15\x87+\x00\x003\xd2\xc7D$ 8\x02\x00\x00A\xb84\x02\x00\x00H\x8dL$$H\x8b\xf8\xe8\x98\x1b\x00\x00H\x8d\x8d`\x01\x00\x00\xba\x04\x00\x00\x00H\x8dD$ f\x0f\x1f\x84\x00\x00\x00\x00\x00H\x8d\x89\x80\x00\x00\x00\x0f\x10\x00\x0f\x10H\x10H\x8d\x80\x80\x00\x00\x00\x0f\x11A\x80\x0f\x10@\xa0\x0f\x11I\x90\x0f\x10H\xb0\x0f\x11A\xa0\x0f\x10@\xc0\x0f\x11I\xb0\x0f\x10H\xd0\x0f\x11A\xc0\x0f\x10@\xe0\x0f\x11I\xd0\x0f\x10H\xf0\x0f\x11A\xe0\x0f\x11I\xf0H\x83\xea\x01u\xad\x0f\x10\x00H\x8d\x95`\x01\x00\x00H\x89\x9c$\xb0\x05\x00\x00\x0f\x10H\x10\x0f\x11\x01\x0f\x10@ H\x8b@0\x0f\x11I\x10\x0f\x11A H\x89A0H\x8b\xcf\xff\x15\xe7*\x00\x00\x85\xc0u\x19H\x8d\r\x842\x00\x00\xe8\xb7\xfa\xff\xffH\x8b\xcf\xff\x15\xd6*\x00\x002\xc0\xebQH\x8d\x9d\xa0\x03\x00\x00\x0f\x1f\x00H\x8b\x0bH\x8d\x95\x8c\x01\x00\x00\xff\x15\xd0,\x00\x00\x85\xc0t1H\x83\xc3\x08H\x8d\x85\x90\x04\x00\x00H;\xd8u\xdcH\x8d\x95`\x01\x00\x00H\x8b\xcf\xff\x15|*\x00\x00\x85\xc0u\xbeH\x8b\xcf\xff\x15\x87*\x00\x002\xc0\xeb\x02\xb0\x01H\x8b\x9c$\xb0\x05\x00\x00H\x8b\x8d\x90\x04\x00\x00H3\xcc\xe8\xe2\x0c\x00\x00H\x8b\xbc$\xb8\x05\x00\x00H\x81\xc4\xa0\x05\x00\x00]\xc3\xcc@SH\x83\xec 3\xd2H\x8d\r92\x00\x00\xff\x15[+\x00\x003\xd2H\x8d\r:2\x00\x00H\x8b\xd8\xff\x15I+\x00\x00H\x85\xc0u\x0cH\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xb0\x01H\x83\xc4 [\xc3H\x83\xec(\xff\x15F*\x00\x00\x85\xc0\x0f\x95\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x83\xec(\xe8\xde\x0b\x00\x00\x85\xc0\x0f\x95\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xecpH\x8b\x05\xd3Y\x00\x00H3\xc4H\x89D$h\x0fW\xc0\xc7D$`\x00\x00\x00\x00H\x8d\r\xb91\x00\x00\x0f\x11D$0\x0f\x11D$@\x0f\x11D$P\xff\x15\xa4)\x00\x00H\x8dH\xffH\x83\xf9\xfdwcH\x8d\x15\xab1\x00\x00H\x8b\xc8\xff\x15\x9a)\x00\x00H\x8b\xd8H\x85\xc0tK\xff\x15<)\x00\x00H\x8dL$`A\xb90\x00\x00\x00H\x89L$ L\x8dD$0H\x8b\xc83\xd2\xff\xd3\x85\xc0x%H\x8bD$8H\x85\xc0t\x1b\x80x\x02\x00t\x15\xb0\x01H\x8bL$hH3\xcc\xe8\xad\x0b\x00\x00H\x83\xc4p[\xc32\xc0H\x8bL$hH3\xcc\xe8\x98\x0b\x00\x00H\x83\xc4p[\xc3\xcc\xcc@SH\x83\xec H\x8d\r\x131\x00\x00\xff\x15\r)\x00\x00H\x8dH\xffH\x83\xf9\xfdw6H\x8d\x1541\x00\x00H\x8b\xc8\xff\x15\x03)\x00\x00H\x8b\xd8H\x85\xc0t\x1e\xff\x15\xcd(\x00\x00E3\xc9E3\xc0H\x8b\xc8A\x8dQ\x11H\x8b\xc3H\x83\xc4 [H\xff\xe02\xc0H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xccH\x83\xecXH\x8b\x05\xb5X\x00\x00H3\xc4H\x89D$@\x0fW\xc0H\x8dL$ \x0f\x11D$ \x0f\x11D$0\xe8\xb3\n\x00\x00H\x8bL$0H\x8bD$ H\xc1\xe1 H\x0bL$8H\xc1\xe0 H\x0bD$(H+\xc8H\x81\xf9\x00\x00\x10\x00\x0f\x97\xc0H\x8bL$@H3\xcc\xe8\xd0\n\x00\x00H\x83\xc4X\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec \xff\x15l(\x00\x00\x8b\xd8\xe8K\n\x00\x00\xff\x15_(\x00\x00+\xc3\x83\xf8\x1e\x0f\x97\xc0H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x81\xec\x08\x05\x00\x00H\x8b\x05\x12X\x00\x00H3\xc4H\x89\x84$\xf0\x04\x00\x003\xd2H\x8dL$ A\xb8\xd0\x04\x00\x00\xe8\xf3\x17\x00\x00\xff\x15\xd7\'\x00\x00H\x8dT$ \xc7D$P\x10\x00\x10\x00H\x8b\xc8\xff\x15\xe1\'\x00\x00\x85\xc0tSH\x83|$h\x00u1H\x83|$p\x00u)H\x83|$x\x00u!H\x83\xbc$\x80\x00\x00\x00\x00u\x16H\x83\xbc$\x88\x00\x00\x00\x00u\x0bH\x83\xbc$\x90\x00\x00\x00\x00t\x1a\xb0\x01H\x8b\x8c$\xf0\x04\x00\x00H3\xcc\xe8\xfa\t\x00\x00H\x81\xc4\x08\x05\x00\x00\xc32\xc0H\x8b\x8c$\xf0\x04\x00\x00H3\xcc\xe8\xe0\t\x00\x00H\x81\xc4\x08\x05\x00\x00\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc2\xc0\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec 3\xdb\xb9\xef\xbe\x00\x00\xff\x155\'\x00\x00\xeb\x05\xbb\x01\x00\x00\x00\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec \xbb\x01\x00\x00\x00\xe8Y\t\x00\x00\xeb\x023\xdb\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xcc@SH\x83\xec \xbb\x01\x00\x00\x00\xe88\t\x00\x00\xeb\x023\xdb\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xccH\x83\xec\x18\xc7\x04$\x00\x00\x00\x00\xeb\x07\xc7\x04$\x00\x00\x00\x002\xc0H\x83\xc4\x18\xc3\xcc\xcc\xcc\xcc\xccH\x83\xec(\xe8\xfc\x08\x00\x00\xeb\x002\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc3\xc0\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xb8\x01\x00\x00\x00\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec0H\x8b\x05sV\x00\x00H3\xc4H\x89D$(H\x8b\xda\xff\x15\xb2&\x00\x00H\x85\xc0t\x7fH\x8b\xd3H\x8b\xc8\xff\x15a&\x00\x00H\x8b\xd8H\x85\xc0u/H\x8b\r"\'\x00\x00\xe8\x1d\x06\x00\x00H\x8b\xc8H\x8d\x15\xc3\x07\x00\x00\xff\x15\xed&\x00\x00H\x8bL$(H3\xcc\xe8\x90\x08\x00\x00H\x83\xc40[\xc3\xba\x08\x00\x00\x00L\x8dL$ H\x8b\xcbD\x8dB8\xff\x15C&\x00\x00H\x8d\x05\\\xff\xff\xff\xba\x08\x00\x00\x00H\x8b\x00L\x8dL$ H\x89\x03H\x8b\xcbD\x8bD$ \xff\x15\x1e&\x00\x00H\x8bL$(H3\xcc\xe8A\x08\x00\x00H\x83\xc40[\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccL\x8b\xdcI\x89[\x08WH\x81\xec\xb0\x00\x00\x00H\x8d\x05\x8a\xfb\xff\xff\xb9\x90\x00\x00\x00H\x89D$ H\x8d\x05I\xf7\xff\xffH\x89D$(H\x8d\x05\x8d\xfb\xff\xffH\x89D$0H\x8d\x05Q\xf7\xff\xffI\x89C\x80H\x8d\x05\x96\xfb\xff\xffI\x89C\x88H\x8d\x05\x0b\xfb\xff\xffI\x89C\x90H\x8d\x05\x80\xf7\xff\xffI\x89C\x98H\x8d\x05\xb5\xf7\xff\xffI\x89C\xa0H\x8d\x05*\xfc\xff\xffI\x89C\xa8H\x8d\x05\x1f\xfd\xff\xffI\x89C\xb0H\x8d\x05\xd4\xfd\xff\xffI\x89C\xb8H\x8d\x05i\xfc\xff\xffI\x89C\xc0H\x8d\x05\xce\xfc\xff\xffI\x89C\xc8H\x8d\x05\xc3\xfd\xff\xffI\x89C\xd0H\x8d\x05\xe8\xfd\xff\xffI\x89C\xd8H\x8d\x05\xfd\xfd\xff\xffI\x89C\xe0H\x8d\x052\xfe\xff\xffI\x89C\xe8H\x8d\x05\x07\xfe\xff\xffI\x89C\xf0\xe8\xea\x08\x00\x00A\xb8\x90\x00\x00\x00H\x8dT$ H\x8b\xc8H\x8b\xf8\xe8\x95\x15\x00\x003\xdbf\x0f\x1fD\x00\x00\xff\x14\xdf\x84\xc0u\rH\xff\xc3H\x83\xfb\x12r\xf02\xdb\xeb"H\x8b\r\x85%\x00\x00H\x8b\xd3\xff\x15d%\x00\x00H\x8b\xc8H\x8d\x15"\x06\x00\x00\xff\x15L%\x00\x00\xb3\x01H\x85\xfft\r\xba\x90\x00\x00\x00H\x8b\xcf\xe8\xc0\x08\x00\x00\x0f\xb6\xc3H\x8b\x9c$\xc0\x00\x00\x00H\x81\xc4\xb0\x00\x00\x00_\xc3\xcc\xcc\xcc\xcc@WH\x81\xec\xc0\x04\x00\x00H\x8b\x05PT\x00\x00H3\xc4H\x89\x84$\xb8\x04\x00\x00H\x8d\x05\x0e,\x00\x003\xd2A\xb84\x02\x00\x00H\x89\x84$\xa0\x04\x00\x00H\x8d\x8c$d\x02\x00\x00\xe8\x1f\x14\x00\x003\xd2\x8dJ\x02\xff\x15\xe6#\x00\x003\xd2\xc7D$ 8\x02\x00\x00A\xb84\x02\x00\x00H\x8dL$$H\x8b\xf8\xe8\xf7\x13\x00\x00H\x8d\x8c$`\x02\x00\x00\xba\x04\x00\x00\x00H\x8dD$ \x0f\x1f\x80\x00\x00\x00\x00H\x8d\x89\x80\x00\x00\x00\x0f\x10\x00\x0f\x10H\x10H\x8d\x80\x80\x00\x00\x00\x0f\x11A\x80\x0f\x10@\xa0\x0f\x11I\x90\x0f\x10H\xb0\x0f\x11A\xa0\x0f\x10@\xc0\x0f\x11I\xb0\x0f\x10H\xd0\x0f\x11A\xc0\x0f\x10@\xe0\x0f\x11I\xd0\x0f\x10H\xf0\x0f\x11A\xe0\x0f\x11I\xf0H\x83\xea\x01u\xad\x0f\x10\x00H\x8d\x94$`\x02\x00\x00H\x89\x9c$\xd0\x04\x00\x00\x0f\x10H\x10\x0f\x11\x01\x0f\x10@ H\x8b@0\x0f\x11I\x10\x0f\x11A H\x89A0H\x8b\xcf\xff\x15F#\x00\x00\x85\xc0u\x12H\x8d\r\xe3*\x00\x00\xe8\x16\xf3\xff\xff\xebS\x0f\x1f@\x00H\x8d\x9c$\xa0\x04\x00\x00\x0f\x1f\x84\x00\x00\x00\x00\x00H\x8b\x0bH\x8d\x94$\x8c\x02\x00\x00\xff\x15/%\x00\x00\x85\xc0\x0f\x84\xa6\x00\x00\x00H\x83\xc3\x08H\x8d\x84$\xa8\x04\x00\x00H;\xd8u\xd6H\x8d\x94$`\x02\x00\x00H\x8b\xcf\xff\x15\xd5"\x00\x00\x85\xc0u\xb1H\x8b\xcf\xff\x15\xe0"\x00\x003\xc9\xb8\x01\x00\x00\x00\x0f\xa2\x0fW\xc0\x0f\x11\x84$\xa8\x04\x00\x00\x89\x84$\xa8\x04\x00\x00\x89\x9c$\xac\x04\x00\x00\x85\xc9yM\xb8\x00\x00\x00@3\xc9\x0f\xa2\x89\x84$\xa8\x04\x00\x00H\x8d\x05\xfb*\x00\x00\x89\x9c$\xa8\x04\x00\x00H\x8d\x1d;+\x00\x00\x89\x8c$\xac\x04\x00\x00H\x8b\x8c$\xa8\x04\x00\x00H9\x08u\x0b9P\x08u\x06\x80x\x0c\x00t\rH\x83\xc0\rH;\xc3u\xe73\xc0\xeb\x05\xb8\x01\x00\x00\x00H\x8b\x9c$\xd0\x04\x00\x00H\x8b\x8c$\xb8\x04\x00\x00H3\xcc\xe8\xc4\x04\x00\x00H\x81\xc4\xc0\x04\x00\x00_\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x83\xecXH\x8b\x055R\x00\x00H3\xc4H\x89D$@3\xd2H\x8d\r\x84%\x00\x00\xff\x156#\x00\x00H\x85\xc0\x0f\x85\x84\x00\x00\x00\x8b\x05\x97%\x00\x00H\x8dL$ \x0fW\xc0H\xc7D$0\x0c\x00\x00\x00\x0f\x11D$ H\xc7D$8\x0f\x00\x00\x00\xf2\x0f\x10\x05h%\x00\x00\xf2\x0f\x11D$ \x89D$(\xc6D$,\x00\xff\x15\xab!\x00\x00\x83\xf8\xfftT\xa8\x10tPH\x8bT$8H\x83\xfa\x0fv.H\x8bL$ H\xff\xc2H\x8b\xc1H\x81\xfa\x00\x10\x00\x00r\x15H\x8bI\xf8H\x83\xc2\'H+\xc1H\x83\xc0\xf8H\x83\xf8\x1fwb\xe8\xd9\x05\x00\x00\xb8\x01\x00\x00\x00H\x8bL$@H3\xcc\xe8\xef\x03\x00\x00H\x83\xc4X\xc3H\x8d\r\x03%\x00\x00\xff\x155!\x00\x00H\x8bT$8H\x85\xc0u\x9eH\x83\xfa\x0fv5H\x8bL$ H\xff\xc2H\x8b\xc1H\x81\xfa\x00\x10\x00\x00r\x1cH\x8bI\xf8H\x83\xc2\'H+\xc1H\x83\xc0\xf8H\x83\xf8\x1fv\x07\xff\x15\x0e#\x00\x00\xcc\xe8p\x05\x00\x003\xc0H\x8bL$@H3\xcc\xe8\x89\x03\x00\x00H\x83\xc4X\xc3\xcc\xcc\xcc\xccH\x83\xec(\xff\x15\xc6 \x00\x00H\x8b\xc83\xd2\xff\x15C!\x00\x003\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc@SH\x83\xec H\x8d\x15\x9b)\x00\x00H\x8b\xd9\xe8[\xfa\xff\xffH\x8d\x15\xa4)\x00\x00H\x8b\xcb\xe8L\xfa\xff\xffH\x8d\x15\xad)\x00\x00H\x8b\xcb\xe8=\xfa\xff\xffH\x8d\x15\xb6)\x00\x00H\x8b\xcb\xe8.\xfa\xff\xffH\x8d\x15\xbf)\x00\x00H\x8b\xcb\xe8\x1f\xfa\xff\xff3\xc0H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9\xff\x15i!\x00\x00\x84\xc0u\nH\x8b\x0b\xff\x15\x1c!\x00\x00\x90H\x8b\x0bH\x8b\x01HcP\x04H\x8bL\nHH\x85\xc9t\x07H\x8b\x01\xffP\x10\x90H\x83\xc4 [\xc3\xcc\xccH\x83\xec(H\x8b\x11H\x8b\x02HcH\x04H\x8bL\x11HH\x85\xc9t\x07H\x8b\x01\xffP\x10\x90H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x89\\$\x18H\x89T$\x10H\x89L$\x08VWAVH\x83\xec0H\x8b\xf13\xdb\x89\\$XH\x8b\x01HcP\x04H\x8b|\n(H\x83\xff\x17|\x06H\x83\xc7\xea\xeb\x023\xffL\x8b\xf6H\x89t$ H\x8bL\nHH\x85\xc9t\x07H\x8b\x01\xffP\x08\x90H\x8b\x06HcH\x04H\x03\xce\xff\x15\x8d \x00\x00\x84\xc0t0H\x8b\x06HcH\x04H\x8bL1PH\x85\xc9t\x1dH;\xcet\x18\xff\x15M \x00\x00H\x8b\x06HcH\x04H\x03\xce\xff\x15] \x00\x00\xeb\x02\xb0\x01\x88D$(\x84\xc0u\n\xbb\x04\x00\x00\x00\xe9\xb4\x00\x00\x00H\x8b\x06HcH\x04\x8bD1\x18%\xc0\x01\x00\x00\x83\xf8@t-f\x90H\x85\xff~&H\x8b\x06HcH\x04\x0f\xb6T1XH\x8bL1H\xff\x15\x1c \x00\x00\x83\xf8\xffu\x05\x8dX\x05\xebSH\xff\xcf\xeb\xd5H\x8b\x06HcH\x04A\xb8\x16\x00\x00\x00H\x8d\x15\xc1\'\x00\x00H\x8bL1H\xff\x15\x0e \x00\x00H\x83\xf8\x16u&H\x85\xff~(H\x8b\x06HcH\x04\x0f\xb6T1XH\x8bL1H\xff\x15\xcc\x1f\x00\x00\x83\xf8\xfft\x05H\xff\xcf\xeb\xda\x83\xcb\x04\x89\\$XH\x8b\x06HcH\x04H\xc7D1(\x00\x00\x00\x00\xeb\x0eH\x8bt$P\x8b\\$XL\x8bt$ H\x8b\x06HcH\x04H\x03\xceE3\xc0\x8b\xd3\xff\x15f\x1f\x00\x00\x90\xff\x15\x8f\x1f\x00\x00\x84\xc0u\nI\x8b\xce\xff\x15B\x1f\x00\x00\x90I\x8b\x06HcH\x04J\x8bL1HH\x85\xc9t\x07H\x8b\x01\xffP\x10\x90H\x8b\xc6H\x8b\\$`H\x83\xc40A^_^\xc3@SH\x83\xec H\x8b\x01H\x8b\xd9\xb2\nHcH\x04H\x03\xcb\xff\x15U\x1f\x00\x00\x0f\xb6\xd0H\x8b\xcb\xff\x159\x1f\x00\x00H\x8b\xcb\xff\x15\xf0\x1e\x00\x00H\x8b\xc3H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xccH3\xc0eH\x8b\x04%`\x00\x00\x00H\x8b@\x02H%\xff\x00\x00\x00\xc3H3\xc0eH\x8b\x04%`\x00\x00\x00H\x8b\x80\xbc\x00\x00\x00H\x83\xe0p\xc3H3\xc0PQXYH+\xc8H\xc1\xe1\x04\xc3H3\xc0PQXYH+\xc8H\xc1\xe1\x04\xc3\x0f1H\x89\x11H\x89A\x08H3\xc0H\xc7\xc0\x05\x00\x00\x00H\xc1\xe8\x02H+\xc3H;\xc1\x0f1H\x89Q\x10H\x89A\x18\xc3\xcd-\x90\xcc\x9c\x80L$\x01\x01\x9d\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccff\x0f\x1f\x84\x00\x00\x00\x00\x00H;\r\x89M\x00\x00u\x10H\xc1\xc1\x10f\xf7\xc1\xff\xffu\x01\xc3H\xc1\xc9\x10\xe96\x00\x00\x00\xcc\xcc@SH\x83\xec H\x8b\xd93\xc9\xff\x15\xcf\x1d\x00\x00H\x8b\xcb\xff\x15\xbe\x1d\x00\x00\xff\x15\x10\x1d\x00\x00H\x8b\xc8\xba\t\x04\x00\xc0H\x83\xc4 [H\xff%\x84\x1d\x00\x00H\x89L$\x08H\x83\xec8\xb9\x17\x00\x00\x00\xff\x15\xa0\x1d\x00\x00\x85\xc0t\x07\xb9\x02\x00\x00\x00\xcd)H\x8d\r\xd6N\x00\x00\xe8\xa9\x00\x00\x00H\x8bD$8H\x89\x05\xbdO\x00\x00H\x8dD$8H\x83\xc0\x08H\x89\x05MO\x00\x00H\x8b\x05\xa6O\x00\x00H\x89\x05\x17N\x00\x00H\x8bD$@H\x89\x05\x1bO\x00\x00\xc7\x05\xf1M\x00\x00\t\x04\x00\xc0\xc7\x05\xebM\x00\x00\x01\x00\x00\x00\xc7\x05\xf5M\x00\x00\x01\x00\x00\x00\xb8\x08\x00\x00\x00Hk\xc0\x00H\x8d\r\xedM\x00\x00H\xc7\x04\x01\x02\x00\x00\x00\xb8\x08\x00\x00\x00Hk\xc0\x00H\x8b\r\x95L\x00\x00H\x89L\x04 \xb8\x08\x00\x00\x00Hk\xc0\x01H\x8b\r\xc0L\x00\x00H\x89L\x04 H\x8d\r\x14\x1f\x00\x00\xe8\xff\xfe\xff\xffH\x83\xc48\xc3\xcc\xcc@SVWH\x83\xec@H\x8b\xd9\xff\x15\xef\x1c\x00\x00H\x8b\xb3\xf8\x00\x00\x003\xffE3\xc0H\x8dT$`H\x8b\xce\xff\x15\x95\x1c\x00\x00H\x85\xc0t9H\x83d$8\x00H\x8dL$hH\x8bT$`L\x8b\xc8H\x89L$0L\x8b\xc6H\x8dL$pH\x89L$(3\xc9H\x89\\$ \xff\x15f\x1c\x00\x00\xff\xc7\x83\xff\x02|\xb1H\x83\xc4@_^[\xc3\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9\xeb\x0fH\x8b\xcb\xe8\xe5\x0b\x00\x00\x85\xc0t\x13H\x8b\xcb\xe8\xdf\x0b\x00\x00H\x85\xc0t\xe7H\x83\xc4 [\xc3H\x83\xfb\xfft\x06\xe8\xb7\x03\x00\x00\xcc\xe8\xd1\x03\x00\x00\xcc\xe9\xeb\x03\x00\x00\xcc\xcc\xcc@SH\x83\xec H\x8d\x05[\x1e\x00\x00H\x8b\xd9H\x89\x01\xf6\xc2\x01t\n\xba\x18\x00\x00\x00\xe8\xd6\xff\xff\xffH\x8b\xc3H\x83\xc4 [\xc3\xccH\x83\xec(\x85\xd2t9\x83\xea\x01t(\x83\xea\x01t\x16\x83\xfa\x01t\n\xb8\x01\x00\x00\x00H\x83\xc4(\xc3\xe8:\x05\x00\x00\xeb\x05\xe8\x0b\x05\x00\x00\x0f\xb6\xc0H\x83\xc4(\xc3I\x8b\xd0H\x83\xc4(\xe9\x0f\x00\x00\x00M\x85\xc0\x0f\x95\xc1H\x83\xc4(\xe9\x18\x01\x00\x00H\x89\\$\x08H\x89t$\x10H\x89|$ AVH\x83\xec H\x8b\xf2L\x8b\xf13\xc9\xe8\xaa\x05\x00\x00\x84\xc0\x0f\x84\xc8\x00\x00\x00\xe81\x04\x00\x00\x8a\xd8\x88D$@@\xb7\x01\x83=\xadQ\x00\x00\x00\x0f\x85\xc5\x00\x00\x00\xc7\x05\x9dQ\x00\x00\x01\x00\x00\x00\xe8|\x04\x00\x00\x84\xc0tO\xe8w\x08\x00\x00\xe8\xbe\x03\x00\x00\xe8\xdd\x03\x00\x00H\x8d\x156\x1d\x00\x00H\x8d\r\'\x1d\x00\x00\xe8\xd0\n\x00\x00\x85\xc0u)\xe8\x19\x04\x00\x00\x84\xc0t H\x8d\x15\x06\x1d\x00\x00H\x8d\r\xf7\x1c\x00\x00\xe8\xaa\n\x00\x00\xc7\x05HQ\x00\x00\x02\x00\x00\x00@2\xff\x8a\xcb\xe8~\x06\x00\x00@\x84\xffu?\xe8\xc4\x06\x00\x00H\x8b\xd8H\x838\x00t$H\x8b\xc8\xe8\xcb\x05\x00\x00\x84\xc0t\x18L\x8b\xc6\xba\x02\x00\x00\x00I\x8b\xceH\x8b\x03L\x8b\r\x82\x1c\x00\x00A\xff\xd1\xff\x05\xd9P\x00\x00\xb8\x01\x00\x00\x00\xeb\x023\xc0H\x8b\\$0H\x8bt$8H\x8b|$HH\x83\xc4 A^\xc3\xb9\x07\x00\x00\x00\xe8x\x06\x00\x00\x90\xcc\xcc\xccH\x89\\$\x08WH\x83\xec0@\x8a\xf9\x8b\x05\x99P\x00\x00\x85\xc0\x7f\r3\xc0H\x8b\\$@H\x83\xc40_\xc3\xff\xc8\x89\x05\x80P\x00\x00\xe8\x17\x03\x00\x00\x8a\xd8\x88D$ \x83=\x96P\x00\x00\x02u3\xe8+\x04\x00\x00\xe8\xce\x02\x00\x00\xe8\xa9\x07\x00\x00\x83%~P\x00\x00\x00\x8a\xcb\xe8\xb7\x05\x00\x003\xd2@\x8a\xcf\xe8\xd1\x05\x00\x00\x0f\xb6\xd8\xe81\x04\x00\x00\x8b\xc3\xeb\xa6\xb9\x07\x00\x00\x00\xe8\xf7\x05\x00\x00\x90\x90\xccH\x8b\xc4H\x89X L\x89@\x18\x89P\x10H\x89H\x08VWAVH\x83\xec@I\x8b\xf0\x8b\xfaL\x8b\xf1\x85\xd2u\x0f9\x15\x00P\x00\x00\x7f\x073\xc0\xe9\xee\x00\x00\x00\x8dB\xff\x83\xf8\x01wEH\x8b\x05\x18\x1c\x00\x00H\x85\xc0u\n\xc7D$0\x01\x00\x00\x00\xeb\x14\xff\x15s\x1b\x00\x00\x8b\xd8\x89D$0\x85\xc0\x0f\x84\xb2\x00\x00\x00L\x8b\xc6\x8b\xd7I\x8b\xce\xe8\xa4\xfd\xff\xff\x8b\xd8\x89D$0\x85\xc0\x0f\x84\x97\x00\x00\x00L\x8b\xc6\x8b\xd7I\x8b\xce\xe8}\xf2\xff\xff\x8b\xd8\x89D$0\x83\xff\x01u6\x85\xc0u2L\x8b\xc63\xd2I\x8b\xce\xe8a\xf2\xff\xffH\x85\xf6\x0f\x95\xc1\xe8\xca\xfe\xff\xffH\x8b\x05\x9f\x1b\x00\x00H\x85\xc0t\x0eL\x8b\xc63\xd2I\x8b\xce\xff\x15\xfc\x1a\x00\x00\x85\xfft\x05\x83\xff\x03u@L\x8b\xc6\x8b\xd7I\x8b\xce\xe82\xfd\xff\xff\x8b\xd8\x89D$0\x85\xc0t)H\x8b\x05e\x1b\x00\x00H\x85\xc0u\t\x8dX\x01\x89\\$0\xeb\x14L\x8b\xc6\x8b\xd7I\x8b\xce\xff\x15\xb9\x1a\x00\x00\x8b\xd8\x89D$0\xeb\x063\xdb\x89\\$0\x8b\xc3H\x8b\\$xH\x83\xc4@A^_^\xc3\xcc\xcc\xccH\x89\\$\x08H\x89t$\x10WH\x83\xec I\x8b\xf8\x8b\xdaH\x8b\xf1\x83\xfa\x01u\x05\xe8\x87\x00\x00\x00L\x8b\xc7\x8b\xd3H\x8b\xceH\x8b\\$0H\x8bt$8H\x83\xc4 _\xe9\x8f\xfe\xff\xff\xcc\xcc\xccH\x83a\x10\x00H\x8d\x05\x14\x1b\x00\x00H\x89A\x08H\x8d\x05\xf9\x1a\x00\x00H\x89\x01H\x8b\xc1\xc3\xcc\xccH\x83\xecHH\x8dL$ \xe8\xd2\xff\xff\xffH\x8d\x15;,\x00\x00H\x8dL$ \xe8\xdb\x07\x00\x00\xccH\x83\xecHH\x8dL$ \xe8\xda\xe8\xff\xffH\x8d\x15\xeb,\x00\x00H\x8dL$ \xe8\xbb\x07\x00\x00\xcc\xe9\xdf\x07\x00\x00\xcc\xcc\xccH\x89\\$\x18UH\x8b\xecH\x83\xec0H\x8b\x05\xacG\x00\x00H\xbb2\xa2\xdf-\x99+\x00\x00H;\xc3utH\x83e\x10\x00H\x8dM\x10\xff\x15\x16\x18\x00\x00H\x8bE\x10H\x89E\xf0\xff\x15\x00\x18\x00\x00\x8b\xc0H1E\xf0\xff\x15\x8c\x17\x00\x00\x8b\xc0H\x8dM\x18H1E\xf0\xff\x15\x84\x17\x00\x00\x8bE\x18H\x8dM\xf0H\xc1\xe0 H3E\x18H3E\xf0H3\xc1H\xb9\xff\xff\xff\xff\xff\xff\x00\x00H#\xc1H\xb93\xa2\xdf-\x99+\x00\x00H;\xc3H\x0fD\xc1H\x89\x05)G\x00\x00H\x8b\\$PH\xf7\xd0H\x89\x05ZG\x00\x00H\x83\xc40]\xc3H\x8d\r\xadM\x00\x00H\xff%\x96\x17\x00\x00\xcc\xccH\x8d\r\x9dM\x00\x00\xe9\xf0\x06\x00\x00H\x8d\x05\xa1M\x00\x00\xc3H\x83\xec(\xe8\xa7\xe6\xff\xffH\x83\x08$\xe8\xe6\xff\xff\xffH\x83\x08\x02H\x83\xc4(\xc3\xccH\x83\xec(\xe8\x93\x06\x00\x00\x85\xc0t!eH\x8b\x04%0\x00\x00\x00H\x8bH\x08\xeb\x05H;\xc8t\x143\xc0\xf0H\x0f\xb1\rhM\x00\x00u\xee2\xc0H\x83\xc4(\xc3\xb0\x01\xeb\xf7\xcc\xcc\xccH\x83\xec(\xe8W\x06\x00\x00\x85\xc0t\x07\xe8\xa2\x04\x00\x00\xeb\x19\xe8\xef\xef\xff\xff\x8b\xc8\xe8\xa0\x06\x00\x00\x85\xc0t\x042\xc0\xeb\x07\xe8\x99\x06\x00\x00\xb0\x01H\x83\xc4(\xc3H\x83\xec(3\xc9\xe8-\x01\x00\x00\x84\xc0\x0f\x95\xc0H\x83\xc4(\xc3\xcc\xcc\xccH\x83\xec(\xe8\x8b\x06\x00\x00\x84\xc0u\x042\xc0\xeb\x12\xe8~\x06\x00\x00\x84\xc0u\x07\xe8u\x06\x00\x00\xeb\xec\xb0\x01H\x83\xc4(\xc3H\x83\xec(\xe8c\x06\x00\x00\xe8^\x06\x00\x00\xb0\x01H\x83\xc4(\xc3\xcc\xcc\xccH\x89\\$\x08H\x89l$\x10H\x89t$\x18WH\x83\xec I\x8b\xf9I\x8b\xf0\x8b\xdaH\x8b\xe9\xe8\xb0\x05\x00\x00\x85\xc0u\x16\x83\xfb\x01u\x11L\x8b\xc63\xd2H\x8b\xcdH\x8b\xc7\xff\x15\xfe\x17\x00\x00H\x8bT$X\x8bL$PH\x8b\\$0H\x8bl$8H\x8bt$@H\x83\xc4 _\xe9\xce\x05\x00\x00H\x83\xec(\xe8k\x05\x00\x00\x85\xc0t\x10H\x8d\rhL\x00\x00H\x83\xc4(\xe9\xc9\x05\x00\x00\xe8\xea\xee\xff\xff\x85\xc0u\x05\xe8\xc1\x05\x00\x00H\x83\xc4(\xc3H\x83\xec(3\xc9\xe8\xb9\x05\x00\x00H\x83\xc4(\xe9\xb0\x05\x00\x00H\x83\xec(\x85\xc9u\x07\xc6\x05!L\x00\x00\x01\xe8p\x03\x00\x00\xe8\x97\x05\x00\x00\x84\xc0u\x042\xc0\xeb\x14\xe8\x8a\x05\x00\x00\x84\xc0u\t3\xc9\xe8\x7f\x05\x00\x00\xeb\xea\xb0\x01H\x83\xc4(\xc3\xcc\xcc@SH\x83\xec \x80=\xe8K\x00\x00\x00\x8b\xd9ug\x83\xf9\x01wj\xe8\xd9\x04\x00\x00\x85\xc0t(\x85\xdbu$H\x8d\r\xd2K\x00\x00\xe81\x05\x00\x00\x85\xc0u\x10H\x8d\r\xdaK\x00\x00\xe8!\x05\x00\x00\x85\xc0t.2\xc0\xeb3f\x0fo\x05\xfd\x17\x00\x00H\x83\xc8\xff\xf3\x0f\x7f\x05\xa1K\x00\x00H\x89\x05\xaaK\x00\x00\xf3\x0f\x7f\x05\xaaK\x00\x00H\x89\x05\xb3K\x00\x00\xc6\x05}K\x00\x00\x01\xb0\x01H\x83\xc4 [\xc3\xb9\x05\x00\x00\x00\xe8\xfa\x00\x00\x00\xcc\xccH\x83\xec\x18L\x8b\xc1\xb8MZ\x00\x00f9\x05M\xd4\xff\xffuxHc\r\x80\xd4\xff\xffH\x8d\x15=\xd4\xff\xffH\x03\xca\x819PE\x00\x00u_\xb8\x0b\x02\x00\x00f9A\x18uTL+\xc2\x0f\xb7Q\x14H\x83\xc2\x18H\x03\xd1\x0f\xb7A\x06H\x8d\x0c\x80L\x8d\x0c\xcaH\x89\x14$I;\xd1t\x18\x8bJ\x0cL;\xc1r\n\x8bB\x08\x03\xc1L;\xc0r\x08H\x83\xc2(\xeb\xdf3\xd2H\x85\xd2u\x042\xc0\xeb\x14\x83z$\x00}\x042\xc0\xeb\n\xb0\x01\xeb\x062\xc0\xeb\x022\xc0H\x83\xc4\x18\xc3@SH\x83\xec \x8a\xd9\xe8\xc3\x03\x00\x003\xd2\x85\xc0t\x0b\x84\xdbu\x07H\x87\x15\xaaJ\x00\x00H\x83\xc4 [\xc3@SH\x83\xec \x80=\x9fJ\x00\x00\x00\x8a\xd9t\x04\x84\xd2u\x0c\xe8\x12\x04\x00\x00\x8a\xcb\xe8\x0b\x04\x00\x00\xb0\x01H\x83\xc4 [\xc3\xcc\xcc\xccH\x8d\x05\xc1J\x00\x00\xc3\x83%\xa9J\x00\x00\x00\xc3H\x89\\$\x08UH\x8d\xac$@\xfb\xff\xffH\x81\xec\xc0\x05\x00\x00\x8b\xd9\xb9\x17\x00\x00\x00\xff\x15\xfe\x13\x00\x00\x85\xc0t\x04\x8b\xcb\xcd)\xb9\x03\x00\x00\x00\xe8\xc4\xff\xff\xff3\xd2H\x8dM\xf0A\xb8\xd0\x04\x00\x00\xe8a\x03\x00\x00H\x8dM\xf0\xff\x15\xf1\x13\x00\x00H\x8b\x9d\xe8\x00\x00\x00H\x8d\x95\xd8\x04\x00\x00H\x8b\xcbE3\xc0\xff\x15\x97\x13\x00\x00H\x85\xc0t_\x00\x00\x00\x00\x00\x002_\x00\x00\x00\x00\x00\x00\xa2_\x00\x00\x00\x00\x00\x00\xbe_\x00\x00\x00\x00\x00\x00\x80_\x00\x00\x00\x00\x00\x00\xf6^\x00\x00\x00\x00\x00\x00\xd6_\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe^\x00\x00\x00\x00\x00\x00\xdc^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00X.\x00\x80\x01\x00\x00\x00X.\x00\x80\x01\x00\x00\x0001\x00\x80\x01\x00\x00\x00P1\x00\x80\x01\x00\x00\x00P1\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x071\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`q\x00\x80\x01\x00\x00\x00\x00r\x00\x80\x01\x00\x00\x00\x80K\x00\x80\x01\x00\x00\x00\x90$\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8K\x00\x80\x01\x00\x00\x00\xd0\x10\x00\x80\x01\x00\x00\x00\xb0\x10\x00\x80\x01\x00\x00\x00\xd0L\x00\x80\x01\x00\x00\x00\xd0\x10\x00\x80\x01\x00\x00\x00\xb0\x10\x00\x80\x01\x00\x00\x00bad allocation\x00\x00(M\x00\x80\x01\x00\x00\x00\xd0\x10\x00\x80\x01\x00\x00\x00\xb0\x10\x00\x80\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffUnknown exception\x00\x00\x00\x00\x00\x00\x00bad array new length\x00\x00\x00\x00SandboxieControlWndClass\x00\x00\x00\x00\x00\x00\x00\x00C:\\Sandboxie\x00\x00\x00\x00sbiedll.dll\x00\x00\x00\x00\x00O\x00l\x00l\x00y\x00D\x00b\x00g\x00 \x00-\x00 \x00[\x00C\x00P\x00U\x00]\x00\x00\x00I\x00m\x00m\x00u\x00n\x00i\x00t\x00y\x00 \x00D\x00e\x00b\x00u\x00g\x00g\x00e\x00r\x00 \x00-\x00 \x00[\x00C\x00P\x00U\x00]\x00\x00\x00\x00\x00\x00\x00c\x00h\x00e\x00a\x00t\x00e\x00n\x00g\x00i\x00n\x00e\x00-\x00x\x008\x006\x00_\x006\x004\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00o\x00l\x00l\x00y\x00d\x00b\x00g\x00.\x00e\x00x\x00e\x00\x00\x00i\x00d\x00a\x00.\x00e\x00x\x00e\x00\x00\x00i\x00d\x00a\x006\x004\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00r\x00a\x00d\x00a\x00r\x00e\x002\x00.\x00e\x00x\x00e\x00\x00\x00H\x00T\x00T\x00P\x00D\x00e\x00b\x00u\x00g\x00g\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00t\x00c\x00p\x00v\x00i\x00e\x00w\x00.\x00e\x00x\x00e\x00\x00\x00F\x00i\x00d\x00d\x00l\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00F\x00i\x00d\x00d\x00l\x00e\x00r\x00.\x00W\x00e\x00b\x00U\x00i\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00x\x003\x002\x00d\x00b\x00g\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00x\x006\x004\x00d\x00b\x00g\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00x\x009\x006\x00d\x00b\x00g\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00h\x00t\x00t\x00p\x00 \x00t\x00o\x00o\x00l\x00k\x00i\x00t\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x00t\x00t\x00p\x00d\x00e\x00b\x00u\x00g\x00g\x00e\x00r\x00u\x00i\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00w\x00i\x00r\x00e\x00s\x00h\x00a\x00r\x00k\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00f\x00i\x00d\x00d\x00l\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00c\x00h\x00a\x00r\x00l\x00e\x00s\x00.\x00e\x00x\x00e\x00\x00\x00p\x00r\x00o\x00c\x00e\x00s\x00s\x00h\x00a\x00c\x00k\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00H\x00T\x00T\x00P\x00D\x00e\x00b\x00u\x00g\x00g\x00e\x00r\x00U\x00I\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00v\x00m\x00t\x00o\x00o\x00l\x00s\x00d\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00v\x00g\x00a\x00u\x00t\x00h\x00s\x00e\x00r\x00v\x00i\x00c\x00e\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00v\x00m\x00a\x00c\x00t\x00h\x00l\x00p\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00v\x00m\x00s\x00r\x00v\x00c\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00v\x00m\x00u\x00s\x00r\x00v\x00c\x00.\x00e\x00x\x00e\x00\x00\x00p\x00r\x00l\x00_\x00c\x00c\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00p\x00r\x00l\x00_\x00t\x00o\x00o\x00l\x00s\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00k\x00s\x00d\x00u\x00m\x00p\x00e\x00r\x00c\x00l\x00i\x00e\x00n\x00t\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00k\x00s\x00d\x00u\x00m\x00p\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00p\x00y\x00i\x00n\x00j\x00e\x00c\x00t\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00N\x00a\x00t\x00i\x00v\x00e\x00I\x00n\x00j\x00e\x00c\x00t\x00o\x00r\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00[Warning] It is impossible to check process list.\x00\x00\x00\x00\x00\x00\x00q\x00e\x00m\x00u\x00-\x00g\x00a\x00.\x00e\x00x\x00e\x00\x00\x00O\x00L\x00L\x00Y\x00D\x00B\x00G\x00\x00\x00I\x00D\x00\x00\x00\x00\x00n\x00t\x00d\x00l\x00l\x00.\x00d\x00l\x00l\x00\x00\x00\x00\x00\x00\x00NtQueryInformationProcess\x00\x00\x00\x00\x00\x00\x00NtSetInformationThread\x00\x00KVMKVMKVM\x00\x00\x00\x00Microsoft Hv\x00VMwareVMware\x00XenVMMXenVMM\x00prl hyperv \x00VBoxVBoxVBox\x00\x00\x00Function hooking error\x00\x00PyRun_SimpleStringFlags\x00Py_SetProgramName\x00\x00\x00\x00\x00\x00\x00PyEval_InitThreads\x00\x00\x00\x00\x00\x00PyGILState_Release\x00\x00\x00\x00\x00\x00PyGILState_Ensure\x00\x00\x00\x00\x00\x00\x00@\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@p\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`B\x00\x80\x01\x00\x00\x00pB\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00tM\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00hB\x00\x80\x01\x00\x00\x00xB\x00\x80\x01\x00\x00\x00\x80B\x00\x80\x01\x00\x00\x00\x88B\x00\x80\x01\x00\x00\x00\x90B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\xee\xa1\xbfe\x00\x00\x00\x00\x02\x00\x00\x00_\x00\x00\x00\xd0M\x00\x00\xd05\x00\x00\x00\x00\x00\x00\xee\xa1\xbfe\x00\x00\x00\x00\x0c\x00\x00\x00\x14\x00\x00\x000N\x00\x0006\x00\x00\x00\x00\x00\x00\xee\xa1\xbfe\x00\x00\x00\x00\r\x00\x00\x00\xa4\x02\x00\x00DN\x00\x00D6\x00\x00\x00\x00\x00\x00\xee\xa1\xbfe\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x008q\x00\x00\xa8K\x00\x00\x80K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xc0K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x008q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00@\x00\x00\x00\xa8K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0p\x00\x00\xb8L\x00\x00\xf8K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00PM\x00\x00\x80L\x00\x00XL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80L\x00\x00XL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0p\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00@\x00\x00\x00\xb8L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8p\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00@\x00\x00\x00\x10M\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xa8L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8p\x00\x00\x10M\x00\x00\xd0L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00 L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00@L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08q\x00\x00\xf8L\x00\x00(M\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08q\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00@\x00\x00\x00\xf8L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x02\x80\x02\x80\x8cM\x00\x00,\x00\x00\x00\xb8M\x00\x00\x18\x00\x00\x00/#\x00\x00\xab#\x00\x00\xc0#\x00\x00y)\x00\x00\x8f)\x00\x00O,\x00\x00B-\x00\x00t-\x00\x00\x8f/\x00\x00\x94/\x00\x00\xde/\x00\x00\xd0"\x00\x00P\r\x00\x00\x880\x00\x00\x7f\x00\x00\x00\xb31\x00\x00\x92\x00\x00\x00RSDS\x94Tt\xd4\xc0p\x0cC\x82\xa5s;\xe61aC\x01\x00\x00\x00C:\\Users\\oxyn\\Desktop\\dev\\guardshield-main\\dll\\x64\\Release\\AntiDBG.pdb\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x1a\x00\x00\x00\x02\x00\x00\x00\x18\x00\x00\x00GCTL\x00\x10\x00\x00 !\x00\x00.text$mn\x00\x00\x00\x00 1\x00\x00@\x00\x00\x00.text$mn$00\x00`1\x00\x00\xe5\x00\x00\x00.text$x\x00\x00@\x00\x00`\x02\x00\x00.idata$5\x00\x00\x00\x00`B\x00\x008\x00\x00\x00.00cfg\x00\x00\x98B\x00\x00\x08\x00\x00\x00.CRT$XCA\x00\x00\x00\x00\xa0B\x00\x00\x08\x00\x00\x00.CRT$XCZ\x00\x00\x00\x00\xa8B\x00\x00\x08\x00\x00\x00.CRT$XIA\x00\x00\x00\x00\xb0B\x00\x00\x08\x00\x00\x00.CRT$XIZ\x00\x00\x00\x00\xb8B\x00\x00\x08\x00\x00\x00.CRT$XPA\x00\x00\x00\x00\xc0B\x00\x00\x08\x00\x00\x00.CRT$XPZ\x00\x00\x00\x00\xc8B\x00\x00\x08\x00\x00\x00.CRT$XTA\x00\x00\x00\x00\xd0B\x00\x00\x10\x00\x00\x00.CRT$XTZ\x00\x00\x00\x00\xe0B\x00\x00\xa0\x08\x00\x00.rdata\x00\x00\x80K\x00\x00\xf4\x01\x00\x00.rdata$r\x00\x00\x00\x00tM\x00\x00\\\x00\x00\x00.rdata$voltmd\x00\x00\x00\xd0M\x00\x00\x18\x03\x00\x00.rdata$zzzdbg\x00\x00\x00\xe8P\x00\x00\x08\x00\x00\x00.rtc$IAA\x00\x00\x00\x00\xf0P\x00\x00\x08\x00\x00\x00.rtc$IZZ\x00\x00\x00\x00\xf8P\x00\x00\x08\x00\x00\x00.rtc$TAA\x00\x00\x00\x00\x00Q\x00\x00\x08\x00\x00\x00.rtc$TZZ\x00\x00\x00\x00\x08Q\x00\x00\x80\x03\x00\x00.xdata\x00\x00\x88T\x00\x00\xf8\x00\x00\x00.xdata$x\x00\x00\x00\x00\x80U\x00\x00\x94\x00\x00\x00.edata\x00\x00\x14V\x00\x00\xb4\x00\x00\x00.idata$2\x00\x00\x00\x00\xc8V\x00\x00\x18\x00\x00\x00.idata$3\x00\x00\x00\x00\xe0V\x00\x00`\x02\x00\x00.idata$4\x00\x00\x00\x00@Y\x00\x00\x16\x08\x00\x00.idata$6\x00\x00\x00\x00\x00p\x00\x00\xb8\x00\x00\x00.data\x00\x00\x00\xb8p\x00\x00\x80\x00\x00\x00.data$r\x008q\x00\x00(\x00\x00\x00.data$rs\x00\x00\x00\x00`q\x00\x00\xf8\x05\x00\x00.bss\x00\x00\x00\x00\x00\x80\x00\x00\x84\x03\x00\x00.pdata\x00\x00\x00\x90\x00\x00`\x00\x00\x00.rsrc$01\x00\x00\x00\x00`\x90\x00\x00\x80\x01\x00\x00.rsrc$02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x1b\x04\x00\x1bR\x17p\x16`\x150\x01\x06\x02\x00\x062\x020\x01\n\x04\x00\n4\x06\x00\n2\x06p\x01\x04\x01\x00\x04B\x00\x00\x19\x13\x01\x00\x04b\x00\x00\x8c0\x00\x00(\x00\x00\x00\x19&\x05\x00\x15t\xb7\x00\x15\x01\xb4\x00\x06P\x00\x00\x8c0\x00\x00\x90\x05\x00\x00!\x08\x02\x00\x084\xb6\x00\xa0\x12\x00\x00\x1d\x15\x00\x00@Q\x00\x00\x19\x15\x02\x00\x06\xd2\x020\x8c0\x00\x00h\x00\x00\x00\x19\x13\x01\x00\x04\xa2\x00\x00\x8c0\x00\x00@\x00\x00\x00\x19\x19\x02\x00\x07\x01\xa1\x00\x8c0\x00\x00\xf0\x04\x00\x00\t\x06\x02\x00\x062\x020&0\x00\x00\x01\x00\x00\x00\xf8\x18\x00\x00\x05\x19\x00\x00\x01\x00\x00\x00\x05\x19\x00\x00\t\x06\x02\x00\x062\x020&0\x00\x00\x01\x00\x00\x00+\x19\x00\x002\x19\x00\x00\x01\x00\x00\x002\x19\x00\x00\t\x06\x02\x00\x062\x020&0\x00\x00\x01\x00\x00\x00K\x19\x00\x00R\x19\x00\x00\x01\x00\x00\x00R\x19\x00\x00\t\x04\x01\x00\x04"\x00\x00&0\x00\x00\x01\x00\x00\x00d\x19\x00\x00m\x19\x00\x00\x01\x00\x00\x00m\x19\x00\x00\t\x04\x01\x00\x04B\x00\x00&0\x00\x00\x01\x00\x00\x00\x84\x19\x00\x00\x8b\x19\x00\x00\x01\x00\x00\x00\x8b\x19\x00\x00\x19\x15\x02\x00\x06R\x020\x8c0\x00\x00(\x00\x00\x00\x01\x0f\x05\x00\x0f4\x18\x00\x0f\x01\x16\x00\x08p\x00\x00\x19\xe6\x05\x00\xe64\x9a\x00\t\x01\x98\x00\x02p\x00\x00\x8c0\x00\x00\xb8\x04\x00\x00\x19\x06\x02\x00\x062\x020 0\x00\x00\x84R\x00\x00h\x8dR\x00\x00\x93R\x00\x00\x02\x0e,0\x00\x00\x02h\x02\x00\x00\x19\x04\x01\x00\x04B\x00\x00 0\x00\x00\xa8R\x00\x00`\xadR\x00\x00\x026\x00\x19\x17\x06\x00\x174\x0c\x00\x17R\x13\xe0\x11p\x10` 0\x00\x00\xc8R\x00\x008\xd5R\x00\x00\xe9R\x00\x00\xfaR\x00\x00\n\n\xf0\x1f\x00\x00@:\xb0\x1f\x00\x00@08~,0\x00\x00\x02\x04\x04\x06\xf1R\x00\x00\x02\x11\x80x1\x00\x00=\x05\x0c\x9e\x00\\\x02\xb2\x06\xee\x04L\x00P\n\x00\x01\n\x02\x00\n2\x06P\x01\x00\x00\x00\x01\t\x01\x00\tb\x00\x00\x01\x08\x04\x00\x08r\x04p\x03`\x020\x11\x15\x08\x00\x15t\t\x00\x15d\x07\x00\x154\x06\x00\x152\x11\xe0&0\x00\x00\x02\x00\x00\x00D%\x00\x00\xb3%\x00\x00\xb31\x00\x00\x00\x00\x00\x00\x16&\x00\x00!&\x00\x00\xb31\x00\x00\x00\x00\x00\x00\x01\x06\x02\x00\x062\x02P\x11\n\x04\x00\n4\x08\x00\nR\x06p&0\x00\x00\x04\x00\x00\x00[&\x00\x00z&\x00\x00\xca1\x00\x00\x00\x00\x00\x00P&\x00\x00\x8e&\x00\x00\xe31\x00\x00\x00\x00\x00\x00\x97&\x00\x00\xa2&\x00\x00\xca1\x00\x00\x00\x00\x00\x00\x97&\x00\x00\xa3&\x00\x00\xe31\x00\x00\x00\x00\x00\x00\t\x1a\x06\x00\x1a4\x0f\x00\x1ar\x16\xe0\x14p\x13`&0\x00\x00\x01\x00\x00\x00\xd9&\x00\x00\xbf\'\x00\x00\xf71\x00\x00\xbf\'\x00\x00\x01\x06\x02\x00\x06R\x02P\x01\x0f\x06\x00\x0fd\x07\x00\x0f4\x06\x00\x0f2\x0bp\x01\x04\x01\x00\x04\x82\x00\x00\x01\r\x04\x00\r4\n\x00\rR\x06P\t\x04\x01\x00\x04"\x00\x00&0\x00\x00\x01\x00\x00\x00\xa7+\x00\x001,\x00\x00-2\x00\x001,\x00\x00\x01\x02\x01\x00\x02P\x00\x00\x01\x14\x08\x00\x14d\x08\x00\x14T\x07\x00\x144\x06\x00\x142\x10p\x01\x15\x05\x00\x154\xba\x00\x15\x01\xb8\x00\x06P\x00\x00\x01\x0f\x06\x00\x0fd\x06\x00\x0f4\x05\x00\x0f\x12\x0bp\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x02\x01\x00\x020\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x11\x00\x00\x00\x00\x00\x00\xa8T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x08U\x00\x000U\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\xe0T\x00\x00\x08U\x00\x000U\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08q\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x18\x00\x00\x00p\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\xb8p\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x18\x00\x00\x00\xb0\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0p\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x18\x00\x00\x00p\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x11\x00\x00\x00\x00\x00\x00\xc0T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xdaU\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\xa8U\x00\x00\xbcU\x00\x00\xd0U\x00\x00\xe0\x1b\x00\x00P\x1f\x00\x00\x80\x1a\x00\x00\x00\x1e\x00\x000\x1f\x00\x00\xe6U\x00\x00\xebU\x00\x00\xf7U\x00\x00\x02V\x00\x00\x0cV\x00\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00AntiDBG.dll\x00IsVm\x00hookProtect\x00isDebugged\x00isSandbox\x00kill\x00\x00\x00\x00\xe0V\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2Z\x00\x00\x00@\x00\x000X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xecZ\x00\x00PA\x00\x00\xc8W\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8]\x00\x00\xe8@\x00\x00\x98X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98^\x00\x00\xb8A\x00\x00HX\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac^\x00\x00hA\x00\x00\xc8X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0_\x00\x00\xe8A\x00\x00\x18Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02`\x00\x008B\x00\x000Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"`\x00\x00PB\x00\x00\xa8X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D`\x00\x00\xc8A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@Y\x00\x00\x00\x00\x00\x00TY\x00\x00\x00\x00\x00\x00hY\x00\x00\x00\x00\x00\x00\x84Y\x00\x00\x00\x00\x00\x00\x9aY\x00\x00\x00\x00\x00\x00\xacY\x00\x00\x00\x00\x00\x00\xc0Y\x00\x00\x00\x00\x00\x00\xd2Y\x00\x00\x00\x00\x00\x00\xe0Y\x00\x00\x00\x00\x00\x00\xf0Y\x00\x00\x00\x00\x00\x00\x04Z\x00\x00\x00\x00\x00\x00\x16Z\x00\x00\x00\x00\x00\x00,Z\x00\x00\x00\x00\x00\x00FZ\x00\x00\x00\x00\x00\x00VZ\x00\x00\x00\x00\x00\x00jZ\x00\x00\x00\x00\x00\x00\x88Z\x00\x00\x00\x00\x00\x00\x9aZ\x00\x00\x00\x00\x00\x00\xaeZ\x00\x00\x00\x00\x00\x00x`\x00\x00\x00\x00\x00\x00\x92`\x00\x00\x00\x00\x00\x00\xa6`\x00\x00\x00\x00\x00\x00\xc2`\x00\x00\x00\x00\x00\x00\xe0`\x00\x00\x00\x00\x00\x00\xfc`\x00\x00\x00\x00\x00\x00\x12a\x00\x00\x00\x00\x00\x00,a\x00\x00\x00\x00\x00\x00d`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\\\x00\x00\x00\x00\x00\x00\x9e\\\x00\x00\x00\x00\x00\x00\xe2\\\x00\x00\x00\x00\x00\x00"]\x00\x00\x00\x00\x00\x00v]\x00\x00\x00\x00\x00\x00\xb8]\x00\x00\x00\x00\x00\x00\x1e\\\x00\x00\x00\x00\x00\x00\xf8Z\x00\x00\x00\x00\x00\x004[\x00\x00\x00\x00\x00\x00\xda[\x00\x00\x00\x00\x00\x00V[\x00\x00\x00\x00\x00\x00\x9e[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdeZ\x00\x00\x00\x00\x00\x00\xd0Z\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00X^\x00\x00\x00\x00\x00\x00\x14^\x00\x00\x00\x00\x00\x00\xfc]\x00\x00\x00\x00\x00\x00La\x00\x00\x00\x00\x00\x00Ba\x00\x00\x00\x00\x00\x00\x8e^\x00\x00\x00\x00\x00\x00F^\x00\x00\x00\x00\x00\x00n^\x00\x00\x00\x00\x00\x00.^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(_\x00\x00\x00\x00\x00\x00L_\x00\x00\x00\x00\x00\x00\x1c_\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00T_\x00\x00\x00\x00\x00\x00f_\x00\x00\x00\x00\x00\x00>_\x00\x00\x00\x00\x00\x002_\x00\x00\x00\x00\x00\x00\xa2_\x00\x00\x00\x00\x00\x00\xbe_\x00\x00\x00\x00\x00\x00\x80_\x00\x00\x00\x00\x00\x00\xf6^\x00\x00\x00\x00\x00\x00\xd6_\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe^\x00\x00\x00\x00\x00\x00\xdc^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\x02GetCurrentProcess\x00\x92\x02GetModuleHandleA\x00\x00\x0c\x01CreateToolhelp32Snapshot\x00\x00\\\x02GetFileAttributesA\x00\x00P\x04Process32NextW\x00\x006\x02GetCurrentThread\x00\x00N\x04Process32FirstW\x00\x94\x00CloseHandle\x00\xe7\x03LoadLibraryW\x00\x00\x1a\x03GetThreadContext\x00\x00\xcd\x02GetProcAddress\x00\x003\x02GetCurrentProcessId\x00p\x04QueryPerformanceCounter\x00,\x03GetTickCount\x00\x00\xa0\x03IsDebuggerPresent\x00\x8e\x00CheckRemoteDebuggerPresent\x00\x00\x05\x06VirtualProtect\x00\x00\xc4\x05TerminateProcess\x00\x00\x95\x02GetModuleHandleW\x00\x00KERNEL32.dll\x00\x00\x11\x01FindWindowA\x00\x14\x01FindWindowW\x00USER32.dll\x00\x00\xb4\x02?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A\x00\x00\x1e\x05?uncaught_exception@std@@YA_NXZ\x00\xe1\x04?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z\x00\x004\x05?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z\x00\x00a\x04?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z\x00\x00\xde\x04?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z\x00\x00D\x02?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ\x00h\x03?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ\x00\xc5\x04?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z\x00\x06\x01??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z\x00\x00\x0c\x01??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z\x00\xc5\x03?good@ios_base@std@@QEBA_NXZ\x00\x00MSVCP140.dll\x00\x00\x00\x00__CxxFrameHandler4\x00\x00\x08\x00__C_specific_handler\x00\x00"\x00__std_exception_destroy\x00!\x00__std_exception_copy\x00\x00#\x00__std_terminate\x00\x01\x00_CxxThrowException\x00\x00%\x00__std_type_info_destroy_list\x00\x00>\x00memset\x00\x00VCRUNTIME140_1.dll\x00\x00VCRUNTIME140.dll\x00\x00\x00\x00__acrt_iob_func\x00J\x00_wcsicmp\x00\x00\x03\x00__stdio_common_vfprintf\x009\x00_invalid_parameter_noinfo_noreturn\x00\x00\x08\x00_callnewh\x00\x19\x00malloc\x00\x006\x00_initterm\x007\x00_initterm_e\x00\x18\x00free\x00\x00?\x00_seh_filter_dll\x00\x18\x00_configure_narrow_argv\x00\x003\x00_initialize_narrow_environment\x00\x004\x00_initialize_onexit_table\x00\x00"\x00_execute_onexit_table\x00\x16\x00_cexit\x00\x00api-ms-win-crt-runtime-l1-1-0.dll\x00api-ms-win-crt-stdio-l1-1-0.dll\x00api-ms-win-crt-string-l1-1-0.dll\x00\x00api-ms-win-crt-heap-l1-1-0.dll\x00\x00\xf5\x04RtlCaptureContext\x00\xfd\x04RtlLookupFunctionEntry\x00\x00\x04\x05RtlVirtualUnwind\x00\x00\xe6\x05UnhandledExceptionFilter\x00\x00\xa4\x05SetUnhandledExceptionFilter\x00\xa8\x03IsProcessorFeaturePresent\x007\x02GetCurrentThreadId\x00\x00\n\x03GetSystemTimeAsFileTime\x00\x8a\x03InitializeSListHead\x00<\x00memcpy\x00\x00=\x00memmove\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Hello world\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\xa2\xdf-\x99+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd] \xd2f\xd4\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf8B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.?AVbad_alloc@std@@\x00\x00\x00\x00\x00\xf8B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.?AVexception@std@@\x00\x00\x00\x00\x00\xf8B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.?AVbad_array_new_length@std@@\x00\x00\xf8B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.?AVtype_info@@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x10\x00\x00e\x10\x00\x00\x08Q\x00\x00p\x10\x00\x00\xa3\x10\x00\x00\x14Q\x00\x00\xd0\x10\x00\x00\x13\x11\x00\x00\x1cQ\x00\x00p\x11\x00\x00\xad\x11\x00\x00\x14Q\x00\x00\xb0\x11\x00\x00\xed\x11\x00\x00\x14Q\x00\x00\xf0\x11\x00\x00\x03\x12\x00\x00(Q\x00\x00\x10\x12\x00\x00Y\x12\x00\x000Q\x00\x00`\x12\x00\x00\xa0\x12\x00\x00\x14Q\x00\x00\xa0\x12\x00\x00\x1d\x15\x00\x00@Q\x00\x00\x1d\x15\x00\x00\xdf\x15\x00\x00XQ\x00\x00\xe0\x15\x00\x00 \x16\x00\x00\x14Q\x00\x00 \x16\x00\x004\x16\x00\x00(Q\x00\x00@\x16\x00\x00S\x16\x00\x00(Q\x00\x00`\x16\x00\x00\x1e\x17\x00\x00lQ\x00\x00 \x17\x00\x00{\x17\x00\x00\x14Q\x00\x00\x80\x17\x00\x00\xe5\x17\x00\x00|Q\x00\x00\xf0\x17\x00\x00\x17\x18\x00\x00\x14Q\x00\x00 \x18\x00\x00\xd8\x18\x00\x00\x8cQ\x00\x00\xf0\x18\x00\x00\x15\x19\x00\x00\x9cQ\x00\x00 \x19\x00\x00?\x19\x00\x00\xbcQ\x00\x00@\x19\x00\x00_\x19\x00\x00\xdcQ\x00\x00`\x19\x00\x00{\x19\x00\x00\xfcQ\x00\x00\x80\x19\x00\x00\x92\x19\x00\x00\x1cR\x00\x00\xc0\x19\x00\x00u\x1a\x00\x00\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00@\x00\x00\x00`\xa2h\xa2p\xa2x\xa2\x80\xa2\x90\xa2\xe0\xa2\xe8\xa2\xf0\xa2\xf8\xa2\x08\xa3\x10\xa3\x18\xa3 \xa3(\xa30\xa3H\xa3P\xa3X\xa3\xc8\xa9\xe0\xa9\xe8\xa9p\xaa\x88\xaa\x90\xaa\x98\xaa\xa0\xaa\xa8\xaa\x00p\x00\x00\x10\x00\x00\x00\xb8\xa0\xe0\xa0\x08\xa18\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00''' -------------------------------------------------------------------------------- /bin/read_dll.py: -------------------------------------------------------------------------------- 1 | try: 2 | dll_bytes = open("AntiDBG.dll","rb").read() 3 | open("dll_bytes.txt","w").write("dll_bytes=b'''" + str(dll_bytes)[2:] + "''") 4 | except: 5 | dll_bytes = open("bin/AntiDBG.dll","rb").read() 6 | open("bin/dll_bytes.txt","w").write("dll_bytes=b'''" + str(dll_bytes)[2:] + "''") -------------------------------------------------------------------------------- /compile_test.bat: -------------------------------------------------------------------------------- 1 | python -m nuitka --follow-imports --onefile --standalone test.py 2 | 3 | @REM for /d %%i in (*) do if "%%i" == "test.build" rd /s /q "%%i" 4 | @REM for /d %%i in (*) do if "%%i" == "test.dist" rd /s /q "%%i" 5 | @REM for /d %%i in (*) do if "%%i" == "test.onefile-build" rd /s /q "%%i" -------------------------------------------------------------------------------- /custom_nuitka.txt: -------------------------------------------------------------------------------- 1 | tests\Lib\site-packages\nuitka\build\static_src\MainProgram.c 2 | 3 | #include 4 | typedef int (*OriginalFunc)(const char* name); 5 | int FakePy_func(const char* name) {return 0;} 6 | 7 | void HookFunction(LPCSTR targetFunction) { 8 | HMODULE hMods[1024]; 9 | DWORD cbNeeded; 10 | if (EnumProcessModules(GetCurrentProcess(), hMods, sizeof(hMods), &cbNeeded)) { 11 | for (unsigned int i = 0; i < (cbNeeded / sizeof(HMODULE)); i++) { 12 | char szModName[MAX_PATH]; 13 | if (GetModuleFileNameExA(GetCurrentProcess(), hMods[i], szModName, sizeof(szModName) / sizeof(char))) { 14 | if (strstr(szModName, "python38.dll") != NULL) { 15 | HMODULE hPython = LoadLibrary(szModName); 16 | if (hPython == NULL) { 17 | DWORD error = GetLastError(); 18 | return; 19 | } 20 | OriginalFunc originalFunc = (OriginalFunc)GetProcAddress(hPython, targetFunction); 21 | if (originalFunc == NULL) { 22 | return; 23 | } 24 | DWORD oldProtect; 25 | VirtualProtect(originalFunc, sizeof(OriginalFunc), PAGE_EXECUTE_READWRITE, &oldProtect); 26 | memcpy(originalFunc, FakePy_func, sizeof(OriginalFunc)); 27 | VirtualProtect(originalFunc, sizeof(OriginalFunc), oldProtect, &oldProtect); 28 | return; 29 | } 30 | } 31 | } 32 | } 33 | } 34 | static PyObject *EXECUTE_MAIN_MODULE(PyThreadState *tstate, char const *module_name, bool is_package) { 35 | HookFunction("PyRun_SimpleStringFlags"); 36 | HookFunction( "Py_SetProgramName"); 37 | HookFunction("PyEval_InitThreads"); 38 | HookFunction( "PyGILState_Release"); 39 | HookFunction("PyGILState_Ensure"); 40 | 41 | 42 | 43 | tests\Lib\site-packages\nuitka\build\SconsCompilerSettings.py 44 | 45 | env.Append(LIBS=["Shell32", "kernel32.lib", "psapi.lib"]) -------------------------------------------------------------------------------- /dll/LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /dll/antidbg.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30907.101 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AntiDBG", "AntiDBG\AntiDBG.vcxproj", "{07FD03DB-29BB-4C86-AAD6-49A2F8C47BE6}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {07FD03DB-29BB-4C86-AAD6-49A2F8C47BE6}.Debug|x64.ActiveCfg = Debug|x64 17 | {07FD03DB-29BB-4C86-AAD6-49A2F8C47BE6}.Debug|x64.Build.0 = Debug|x64 18 | {07FD03DB-29BB-4C86-AAD6-49A2F8C47BE6}.Debug|x86.ActiveCfg = Debug|Win32 19 | {07FD03DB-29BB-4C86-AAD6-49A2F8C47BE6}.Debug|x86.Build.0 = Debug|Win32 20 | {07FD03DB-29BB-4C86-AAD6-49A2F8C47BE6}.Release|x64.ActiveCfg = Release|x64 21 | {07FD03DB-29BB-4C86-AAD6-49A2F8C47BE6}.Release|x64.Build.0 = Release|x64 22 | {07FD03DB-29BB-4C86-AAD6-49A2F8C47BE6}.Release|x86.ActiveCfg = Release|Win32 23 | {07FD03DB-29BB-4C86-AAD6-49A2F8C47BE6}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {00657B1B-CE4C-4A11-B1DB-ADBBDDB8BA66} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /dll/antidbg/AntiDBG.asm: -------------------------------------------------------------------------------- 1 | ; ----------------------------------------------------------------------------------------------------------- 2 | ; Variables (we don't currently use these, this is just an example of how to populate the data segment) 3 | ; ----------------------------------------------------------------------------------------------------------- 4 | _DATA SEGMENT 5 | hello_msg db "Hello world", 0 6 | _DATA ENDS 7 | 8 | ; ----------------------------------------------------------------------------------------------------------- 9 | ; Text or code segment 10 | ; ----------------------------------------------------------------------------------------------------------- 11 | _TEXT SEGMENT 12 | 13 | ; The PUBLIC modifier will make your function visible and callable outside 14 | PUBLIC adbg_BeingDebuggedPEBx64 15 | PUBLIC adbg_NtGlobalFlagPEBx64 16 | PUBLIC adbg_QueryPerformanceCounterx64 17 | PUBLIC adbg_GetTickCountx64 18 | PUBLIC adbg_RDTSCx64 19 | PUBLIC adbg_Int2Dx64 20 | PUBLIC adbg_Int3x64 21 | PUBLIC adbg_SingleStepExceptionx64 22 | 23 | adbg_BeingDebuggedPEBx64 PROC 24 | xor rax, rax ; clear eax 25 | mov rax, gs:[60h] ; reference start of the PEB 26 | mov rax, [rax + 02h] ; PEB+2 points to BeingDebugged 27 | and rax, 0FFh ; only reference one byte 28 | ret ; return into 'rax' which puts BeingDebugged value into 'found' 29 | adbg_BeingDebuggedPEBx64 ENDP 30 | 31 | adbg_NtGlobalFlagPEBx64 PROC 32 | xor rax, rax ; clear eax 33 | mov rax, gs:[60h] ; Reference start of the PEB 34 | mov rax, [rax + 0BCh] ; PEB+0xBC points to NtGlobalFlag 35 | and rax, 70h ; check three flags 36 | ret ; return flag value into 'rax' which puts into 'found' 37 | adbg_NtGlobalFlagPEBx64 ENDP 38 | 39 | adbg_QueryPerformanceCounterx64 PROC 40 | xor rax, rax ; this 41 | push rax ; is 42 | push rcx ; just 43 | pop rax ; junk 44 | pop rcx ; code 45 | sub rcx, rax ; use 46 | shl rcx, 4 ; whatever 47 | ret 48 | adbg_QueryPerformanceCounterx64 ENDP 49 | 50 | adbg_GetTickCountx64 PROC 51 | xor rax, rax ; this 52 | push rax ; is 53 | push rcx ; just 54 | pop rax ; junk 55 | pop rcx ; code 56 | sub rcx, rax ; use 57 | shl rcx, 4 ; whatever 58 | ret 59 | adbg_GetTickCountx64 ENDP 60 | 61 | adbg_RDTSCx64 PROC 62 | ; Note: On Windows, the x64 calling convention places the first argument (a pointer to TimeKeeper) in RCX 63 | ; We must avoid clobbering RCX. If we need to clobber RCX for some reason, we'll have to save it in another 64 | ; register, the stack, or somewhere else. 65 | rdtsc ; First time check! 66 | ; rdtsc stores result across EDX:EAX on x86 67 | ; on x64 rdtsc does roughly the same, but it clears the high-order 32 bits of RDX and RAX 68 | mov [rcx + 00h], rdx ; TimeKeeper.timeUpperA 69 | mov [rcx + 08h], rax ; TimeKeeper.timeLowerA 70 | xor rax, rax ; this 71 | mov rax, 5 ; is 72 | shr rax, 2 ; just 73 | sub rax, rbx ; junk 74 | cmp rax, rcx ; code 75 | rdtsc ; Second time check! 76 | mov [rcx + 10h], rdx ; TimeKeeper.timeUpperB 77 | mov [rcx + 18h], rax ; TimeKeeper.timeLowerB 78 | ret 79 | adbg_RDTSCx64 ENDP 80 | 81 | adbg_Int2Dx64 PROC 82 | int 2Dh ; interrupt 0x2D kernel breakpoint 83 | nop ; 84 | adbg_Int2Dx64 ENDP 85 | 86 | adbg_Int3x64 PROC 87 | int 3 ; 0xCC breakpoint 88 | adbg_Int3x64 ENDP 89 | 90 | adbg_SingleStepExceptionx64 PROC 91 | pushfq ; save RFLAGS register 92 | or byte ptr[rsp + 1], 1 ; set trap flag in RFLAGS 93 | popfq ; restore RFLAGS register 94 | ret; ; 95 | adbg_SingleStepExceptionx64 ENDP 96 | 97 | 98 | _TEXT ENDS 99 | 100 | END 101 | -------------------------------------------------------------------------------- /dll/antidbg/AntiDBG.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /dll/antidbg/antidbg.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | // Error Codes 8 | enum DBG_CATCH 9 | { 10 | DBG_NONE = 0x0000, 11 | 12 | // Memory Codes (0x1000 range) 13 | DBG_BEINGEBUGGEDPEB = 0x1000, 14 | DBG_CHECKREMOTEDEBUGGERPRESENT = 0x1001, 15 | DBG_ISDEBUGGERPRESENT = 0x1002, 16 | DBG_NTGLOBALFLAGPEB = 0x1003, 17 | DBG_NTQUERYINFORMATIONPROCESS = 0x1004, 18 | DBG_FINDWINDOW = 0x1005, 19 | DBG_OUTPUTDEBUGSTRING = 0x1006, 20 | DBG_NTSETINFORMATIONTHREAD = 0x1007, 21 | DBG_DEBUGACTIVEPROCESS = 0x1008, 22 | DBG_PROCESSFILENAME = 0x1009, 23 | 24 | // CPU Codes (0x2000 range) 25 | DBG_HARDWAREDEBUGREGISTERS = 0x2000, 26 | DBG_MOVSS = 0x2001, 27 | 28 | // Timing Codes (0x3000 range) 29 | DBG_RDTSC = 0x3000, 30 | DBG_QUERYPERFORMANCECOUNTER = 0x3001, 31 | DBG_GETTICKCOUNT = 0x3002, 32 | 33 | // Exception Codes (0x4000 range) 34 | DBG_CLOSEHANDLEEXCEPTION = 0x4000, 35 | DBG_SINGLESTEPEXCEPTION = 0x4001, 36 | DBG_INT3CC = 0x4002, 37 | DBG_PREFIXHOP = 0x4003, 38 | }; 39 | 40 | // Debugging messages 41 | void DBG_MSG(WORD dbg_code, char* message); 42 | 43 | // Dynamically resolved functions 44 | typedef NTSTATUS(__stdcall* _NtQueryInformationProcess)(_In_ HANDLE, _In_ unsigned int, _Out_ PVOID, _In_ ULONG, _Out_ PULONG); 45 | typedef NTSTATUS(__stdcall* _NtSetInformationThread)(_In_ HANDLE, _In_ THREAD_INFORMATION_CLASS, _In_ PVOID, _In_ ULONG); 46 | 47 | typedef struct timeKeeper { 48 | uint64_t timeUpperA; 49 | uint64_t timeLowerA; 50 | uint64_t timeUpperB; 51 | uint64_t timeLowerB; 52 | } TimeKeeper; 53 | 54 | 55 | #ifdef _WIN64 56 | extern "C" 57 | { 58 | int adbg_BeingDebuggedPEBx64(); 59 | int adbg_NtGlobalFlagPEBx64(); 60 | void adbg_GetTickCountx64(); 61 | void adbg_QueryPerformanceCounterx64(); 62 | void adbg_RDTSCx64(TimeKeeper*); 63 | void adbg_Int2Dx64(); 64 | void adbg_Int3x64(); 65 | void adbg_SingleStepExceptionx64(); 66 | }; 67 | #endif 68 | 69 | // Memory 70 | bool adbg_BeingDebuggedPEB(); 71 | bool adbg_CheckRemoteDebuggerPresent(); 72 | bool adbg_CheckWindowClassName(); 73 | bool adbg_CheckWindowName(); 74 | bool adbg_ProcessFileName(); 75 | bool adbg_IsDebuggerPresent(); 76 | bool adbg_NtGlobalFlagPEB(); 77 | bool adbg_NtQueryInformationProcess(); 78 | bool adbg_NtSetInformationThread(); 79 | bool adbg_DebugActiveProcess(const char*); 80 | 81 | // CPU 82 | bool adbg_HardwareDebugRegisters(); 83 | bool adbg_MovSS(); 84 | 85 | // Timing 86 | bool adbg_RDTSC(); 87 | bool adbg_QueryPerformanceCounter(); 88 | bool adbg_GetTickCount(); 89 | 90 | // Other 91 | void adbg_CrashOllyDbg(); 92 | 93 | // Os 94 | bool isSandboxDetected(); 95 | bool IsVM(); 96 | bool IsRdp(); 97 | 98 | 99 | // Exception 100 | bool adbg_CloseHandleException(); 101 | bool adbg_SingleStepException(); 102 | bool adbg_Int3(); 103 | bool adbg_Int2D(); 104 | bool adbg_PrefixHop(); 105 | -------------------------------------------------------------------------------- /dll/antidbg/antidbg.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | 16.0 23 | Win32Proj 24 | {07fd03db-29bb-4c86-aad6-49a2f8c47be6} 25 | AntiDBG 26 | 10.0 27 | 28 | 29 | 30 | Application 31 | true 32 | v142 33 | Unicode 34 | 35 | 36 | Application 37 | false 38 | v142 39 | true 40 | Unicode 41 | 42 | 43 | StaticLibrary 44 | false 45 | v143 46 | Unicode 47 | 48 | 49 | DynamicLibrary 50 | false 51 | v143 52 | true 53 | Unicode 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | true 76 | 77 | 78 | false 79 | 80 | 81 | true 82 | 83 | 84 | false 85 | 86 | 87 | 88 | Level3 89 | true 90 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 91 | true 92 | 93 | 94 | Console 95 | true 96 | 97 | 98 | 99 | 100 | Level3 101 | true 102 | true 103 | true 104 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 105 | true 106 | 107 | 108 | Console 109 | true 110 | true 111 | true 112 | 113 | 114 | 115 | 116 | Level3 117 | true 118 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 119 | true 120 | 121 | 122 | Console 123 | true 124 | 125 | 126 | 127 | 128 | Level3 129 | true 130 | true 131 | true 132 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 133 | true 134 | 135 | 136 | Console 137 | true 138 | true 139 | true 140 | legacy_stdio_definitions.lib;legacy_stdio_wide_specifiers.lib;%(AdditionalDependencies) 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | Document 153 | ml64 /c /Fo$(OutDir)\AntiDBG.obj AntiDBG.asm 154 | $(OutDir)/AntiDBG.obj 155 | ml64 /c /Fo$(OutDir)\AntiDBG.obj AntiDBG.asm 156 | $(OutDir)/AntiDBG.obj 157 | 158 | 159 | 160 | 161 | 162 | 163 | -------------------------------------------------------------------------------- /dll/antidbg/antidbg.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Header Files 20 | 21 | 22 | 23 | 24 | Source Files 25 | 26 | 27 | Source Files 28 | 29 | 30 | 31 | 32 | Source Files 33 | 34 | 35 | -------------------------------------------------------------------------------- /dll/antidbg/dllmain.cpp: -------------------------------------------------------------------------------- 1 | #include "AntiDBG.h" 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | bool adbg_IsDebuggerPresent(); 10 | bool adbg_BeingDebuggedPEB(); 11 | bool adbg_NtGlobalFlagPEB(); 12 | bool adbg_CheckRemoteDebuggerPresent(); 13 | bool adbg_NtQueryInformationProcess(); 14 | bool adbg_CheckWindowClassName(); 15 | bool adbg_CheckWindowName(); 16 | bool adbg_ProcessFileName(); 17 | bool adbg_NtSetInformationThread(); 18 | bool adbg_HardwareDebugRegisters(); 19 | bool adbg_MovSS(); 20 | bool adbg_RDTSC(); 21 | bool adbg_QueryPerformanceCounter(); 22 | bool adbg_GetTickCount(); 23 | bool adbg_CloseHandleException(); 24 | bool adbg_SingleStepException(); 25 | bool adbg_Int3(); 26 | bool adbg_Int2D(); 27 | bool adbg_PrefixHop(); 28 | 29 | 30 | 31 | typedef int (*OriginalFunc)(const char* name); 32 | 33 | int FakePy_func(const char* name) { 34 | return 0; 35 | } 36 | 37 | BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { 38 | return TRUE; 39 | } 40 | 41 | void HookFunction(LPCWSTR pythonDll, LPCSTR targetFunction) { 42 | HMODULE hPython = GetModuleHandle(pythonDll); 43 | 44 | if (hPython == NULL) { 45 | return; 46 | } 47 | 48 | OriginalFunc originalFunc = (OriginalFunc)GetProcAddress(hPython, targetFunction); 49 | if (originalFunc == NULL) { 50 | std::cout << "Function hooking error" << std::endl; 51 | return; 52 | } 53 | 54 | DWORD oldProtect; 55 | VirtualProtect(originalFunc, sizeof(OriginalFunc), PAGE_EXECUTE_READWRITE, &oldProtect); 56 | memcpy(originalFunc, FakePy_func, sizeof(OriginalFunc)); 57 | VirtualProtect(originalFunc, sizeof(OriginalFunc), oldProtect, &oldProtect); 58 | } 59 | 60 | 61 | 62 | extern "C" { 63 | 64 | 65 | __declspec(dllexport) bool isDebugged() { 66 | std::vector functions = { adbg_IsDebuggerPresent, adbg_BeingDebuggedPEB, adbg_NtGlobalFlagPEB, adbg_CheckRemoteDebuggerPresent, 67 | adbg_NtQueryInformationProcess, adbg_CheckWindowClassName, adbg_CheckWindowName, adbg_ProcessFileName, 68 | adbg_NtSetInformationThread, adbg_HardwareDebugRegisters, adbg_MovSS, adbg_RDTSC, 69 | adbg_GetTickCount, adbg_CloseHandleException, adbg_SingleStepException, adbg_Int3, adbg_Int2D, adbg_PrefixHop }; 70 | 71 | for (size_t i = 0; i < functions.size(); ++i) { 72 | bool result = functions[i](); 73 | if (result) { 74 | std::cout << i << std::endl; 75 | return true; 76 | } 77 | } 78 | return false; 79 | } 80 | 81 | __declspec(dllexport) int IsVm() { 82 | if (IsRdp() || IsVM()) 83 | return true; 84 | else 85 | return false; 86 | 87 | return false; 88 | } 89 | 90 | __declspec(dllexport) int isSandbox() { 91 | if (isSandboxDetected()) 92 | return true; 93 | else 94 | return false; 95 | 96 | return false; 97 | } 98 | 99 | __declspec(dllexport) int kill () { 100 | TerminateProcess(GetCurrentProcess(), 0); 101 | return 0; 102 | } 103 | 104 | __declspec(dllexport) int hookProtect(const wchar_t* pythonDll) { 105 | 106 | 107 | HookFunction(pythonDll, "PyRun_SimpleStringFlags"); 108 | HookFunction(pythonDll, "Py_SetProgramName"); 109 | HookFunction(pythonDll, "PyEval_InitThreads"); 110 | HookFunction(pythonDll, "PyGILState_Release"); 111 | HookFunction(pythonDll, "PyGILState_Ensure"); 112 | 113 | return 0; 114 | } 115 | } 116 | 117 | -------------------------------------------------------------------------------- /dll/antidbg/functions.cpp: -------------------------------------------------------------------------------- 1 | #include "AntiDBG.h" 2 | #include 3 | #include 4 | using namespace std; 5 | 6 | 7 | // 90% code from 8 | // https://github.com/HackOvert/AntiDBG 9 | 10 | 11 | 12 | 13 | bool isSandboxDetected() { 14 | 15 | HWND hwnd = FindWindowA("SandboxieControlWndClass", NULL); 16 | if (hwnd != NULL) 17 | return true; 18 | 19 | std::string sandboxieFolder = "C:\\Sandboxie"; 20 | DWORD fileAttributes = GetFileAttributesA(sandboxieFolder.c_str()); 21 | if (fileAttributes != INVALID_FILE_ATTRIBUTES && (fileAttributes & FILE_ATTRIBUTE_DIRECTORY)) 22 | return true; 23 | 24 | HMODULE module = GetModuleHandleA("sbiedll.dll"); 25 | if (module != NULL) 26 | return true; 27 | 28 | return false; 29 | } 30 | 31 | 32 | 33 | 34 | bool adbg_BeingDebuggedPEB() 35 | { 36 | BOOL found = FALSE; 37 | 38 | #ifdef _WIN64 39 | found = adbg_BeingDebuggedPEBx64(); 40 | #else 41 | _asm 42 | { 43 | xor eax, eax; // clear eax 44 | mov eax, fs: [0x30] ; // Reference start of the PEB 45 | mov eax, [eax + 0x02]; // PEB+2 points to BeingDebugged 46 | and eax, 0xFF; // only reference one byte 47 | mov found, eax; // Copy BeingDebugged into 'found' 48 | } 49 | #endif 50 | 51 | if (found) 52 | { 53 | return true; 54 | } 55 | 56 | return false; 57 | } 58 | 59 | 60 | bool adbg_CheckRemoteDebuggerPresent() 61 | { 62 | HANDLE hProcess = INVALID_HANDLE_VALUE; 63 | BOOL found = FALSE; 64 | 65 | hProcess = GetCurrentProcess(); 66 | CheckRemoteDebuggerPresent(hProcess, &found); 67 | 68 | if (found) 69 | { 70 | return true; 71 | } 72 | 73 | return false; 74 | } 75 | 76 | bool adbg_CheckWindowName() 77 | { 78 | BOOL found = FALSE; 79 | HANDLE hWindow = NULL; 80 | const wchar_t* WindowNameOlly = L"OllyDbg - [CPU]"; 81 | const wchar_t* WindowNameImmunity = L"Immunity Debugger - [CPU]"; 82 | 83 | // Check for OllyDBG class name 84 | hWindow = FindWindow(NULL, WindowNameOlly); 85 | if (hWindow) 86 | { 87 | found = TRUE; 88 | } 89 | 90 | // Check for Immunity class name 91 | hWindow = FindWindow(NULL, WindowNameImmunity); 92 | if (hWindow) 93 | { 94 | found = TRUE; 95 | } 96 | 97 | if (found) 98 | { 99 | return true; 100 | } 101 | 102 | return false; 103 | } 104 | 105 | bool adbg_ProcessFileName() 106 | { 107 | // detect debugger by process file (for example: ollydbg.exe) 108 | const wchar_t *debuggersFilename[30] = { 109 | L"cheatengine-x86_64.exe", 110 | L"ollydbg.exe", 111 | L"ida.exe", 112 | L"ida64.exe", 113 | L"radare2.exe", 114 | L"HTTPDebugger.exe", 115 | L"tcpview.exe", 116 | L"Fiddler.exe", 117 | L"Fiddler.WebUi.exe", 118 | 119 | L"x32dbg.exe", 120 | L"x64dbg.exe", 121 | L"x96dbg.exe", 122 | 123 | L"http toolkit.exe", 124 | L"httpdebuggerui.exe", 125 | L"wireshark.exe", 126 | L"fiddler.exe", 127 | L"charles.exe", 128 | L"processhacker.exe", 129 | L"HTTPDebuggerUI.exe", 130 | L"vmtoolsd.exe", 131 | L"vgauthservice.exe", 132 | L"vmacthlp.exe", 133 | 134 | L"vmsrvc.exe", 135 | L"vmusrvc.exe", 136 | L"prl_cc.exe", 137 | L"prl_tools.exe", 138 | L"ksdumperclient.exe", 139 | L"ksdumper.exe", 140 | 141 | L"pyinject.exe", 142 | L"NativeInjector.exe" 143 | }; 144 | 145 | wchar_t* processName; 146 | PROCESSENTRY32W processInformation{ sizeof(PROCESSENTRY32W) }; 147 | HANDLE processList; 148 | 149 | processList = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); 150 | processInformation = { sizeof(PROCESSENTRY32W) }; 151 | if (!(Process32FirstW(processList, &processInformation))) 152 | printf("[Warning] It is impossible to check process list."); 153 | else 154 | { 155 | do 156 | { 157 | for (const wchar_t *debugger : debuggersFilename) 158 | { 159 | processName = processInformation.szExeFile; 160 | if (_wcsicmp(debugger, processName) == 0) { 161 | return true; 162 | } 163 | } 164 | } while (Process32NextW(processList, &processInformation)); 165 | } 166 | CloseHandle(processList); 167 | 168 | return false; 169 | } 170 | 171 | 172 | 173 | 174 | bool IsRdp() 175 | { 176 | 177 | const wchar_t* debuggersFilename[1] = { 178 | L"qemu-ga.exe", 179 | }; 180 | 181 | wchar_t* processName; 182 | PROCESSENTRY32W processInformation{ sizeof(PROCESSENTRY32W) }; 183 | HANDLE processList; 184 | 185 | processList = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); 186 | processInformation = { sizeof(PROCESSENTRY32W) }; 187 | if (!(Process32FirstW(processList, &processInformation))) 188 | printf("[Warning] It is impossible to check process list."); 189 | else 190 | { 191 | do 192 | { 193 | for (const wchar_t* debugger : debuggersFilename) 194 | { 195 | processName = processInformation.szExeFile; 196 | if (_wcsicmp(debugger, processName) == 0) { 197 | return true; 198 | } 199 | } 200 | } while (Process32NextW(processList, &processInformation)); 201 | } 202 | CloseHandle(processList); 203 | 204 | return false; 205 | 206 | } 207 | 208 | bool IsVM() 209 | { 210 | int cpuInfo[4] = {}; 211 | 212 | // 213 | // Upon execution, code should check bit 31 of register ECX 214 | // (the �hypervisor present bit�). If this bit is set, a hypervisor is present. 215 | // In a non-virtualized environment, the bit will be clear. 216 | // 217 | __cpuid(cpuInfo, 1); 218 | 219 | 220 | if (!(cpuInfo[2] & (1 << 31))) 221 | return false; 222 | 223 | // 224 | // A hypervisor is running on the machine. Query the vendor id. 225 | // 226 | const auto queryVendorIdMagic = 0x40000000; 227 | __cpuid(cpuInfo, queryVendorIdMagic); 228 | 229 | const int vendorIdLength = 13; 230 | using VendorIdStr = char[vendorIdLength]; 231 | 232 | VendorIdStr hyperVendorId = {}; 233 | 234 | memcpy(hyperVendorId + 0, &cpuInfo[1], 4); 235 | memcpy(hyperVendorId + 4, &cpuInfo[2], 4); 236 | memcpy(hyperVendorId + 8, &cpuInfo[3], 4); 237 | hyperVendorId[12] = '\0'; 238 | 239 | static const VendorIdStr vendors[]{ 240 | "KVMKVMKVM\0\0\0", // KVM 241 | "Microsoft Hv", // Microsoft Hyper-V or Windows Virtual PC */ 242 | "VMwareVMware", // VMware 243 | "XenVMMXenVMM", // Xen 244 | "prl hyperv ", // Parallels 245 | "VBoxVBoxVBox" // VirtualBox 246 | }; 247 | 248 | for (const auto& vendor : vendors) 249 | { 250 | if (!memcmp(vendor, hyperVendorId, vendorIdLength)) 251 | return true; 252 | } 253 | 254 | return false; 255 | } 256 | 257 | 258 | bool adbg_CheckWindowClassName() 259 | { 260 | BOOL found = FALSE; 261 | HANDLE hWindow = NULL; 262 | const wchar_t* WindowClassNameOlly = L"OLLYDBG"; // OllyDbg 263 | const wchar_t* WindowClassNameImmunity = L"ID"; // Immunity Debugger 264 | 265 | // Check for OllyDBG class name 266 | hWindow = FindWindow(WindowClassNameOlly, NULL); 267 | if (hWindow) 268 | { 269 | found = TRUE; 270 | } 271 | 272 | // Check for Immunity class name 273 | hWindow = FindWindow(WindowClassNameImmunity, NULL); 274 | if (hWindow) 275 | { 276 | found = TRUE; 277 | } 278 | 279 | if (found) 280 | { 281 | return true; 282 | } 283 | 284 | return false; 285 | } 286 | 287 | bool adbg_IsDebuggerPresent() 288 | { 289 | BOOL found = FALSE; 290 | found = IsDebuggerPresent(); 291 | 292 | if (found) 293 | { 294 | return true; 295 | } 296 | 297 | return false; 298 | } 299 | 300 | /* 301 | * Want to inspect the value of something in the PEB? Launch WinDBG, 302 | * Attach to, or launch a process and run this command: 303 | * dt ntdll!_PEB @$peb -r 304 | * Want more info on NtGlobalFlag? See these resources: 305 | * https://www.aldeid.com/wiki/PEB-Process-Environment-Block/NtGlobalFlag 306 | * https://www.geoffchappell.com/studies/windows/win32/ntdll/api/rtl/regutil/getntglobalflags.htm 307 | */ 308 | bool adbg_NtGlobalFlagPEB() 309 | { 310 | BOOL found = FALSE; 311 | 312 | #ifdef _WIN64 313 | found = adbg_NtGlobalFlagPEBx64(); 314 | #else 315 | _asm 316 | { 317 | xor eax, eax; // clear eax 318 | mov eax, fs: [0x30] ; // Reference start of the PEB 319 | mov eax, [eax + 0x68]; // PEB+0x68 points to NtGlobalFlag 320 | and eax, 0x00000070; // check three flags: 321 | // FLG_HEAP_ENABLE_TAIL_CHECK (0x10) 322 | // FLG_HEAP_ENABLE_FREE_CHECK (0x20) 323 | // FLG_HEAP_VALIDATE_PARAMETERS (0x40) 324 | mov found, eax; // Copy result into 'found' 325 | } 326 | #endif 327 | 328 | if (found) 329 | { 330 | return true; 331 | } 332 | 333 | return false; 334 | } 335 | 336 | 337 | bool adbg_NtQueryInformationProcess() 338 | { 339 | HANDLE hProcess = INVALID_HANDLE_VALUE; 340 | PROCESS_BASIC_INFORMATION pProcBasicInfo = {0}; 341 | ULONG returnLength = 0; 342 | 343 | // Get a handle to ntdll.dll so we can import NtQueryInformationProcess 344 | HMODULE hNtdll = LoadLibraryW(L"ntdll.dll"); 345 | if (hNtdll == INVALID_HANDLE_VALUE || hNtdll == NULL) 346 | { 347 | return false; 348 | } 349 | 350 | // Dynamically acquire the addres of NtQueryInformationProcess 351 | _NtQueryInformationProcess NtQueryInformationProcess = NULL; 352 | NtQueryInformationProcess = (_NtQueryInformationProcess)GetProcAddress(hNtdll, "NtQueryInformationProcess"); 353 | 354 | if (NtQueryInformationProcess == NULL) 355 | { 356 | return false; 357 | } 358 | 359 | hProcess = GetCurrentProcess(); 360 | 361 | // Note: There are many options for the 2nd parameter NtQueryInformationProcess 362 | // (ProcessInformationClass) many of them are opaque. While we use ProcessBasicInformation (0), 363 | // we could also use: 364 | // ProcessDebugPort (7) 365 | // ProcessDebugObjectHandle (30) 366 | // ProcessDebugFlags (31) 367 | // There are likely others. You can find many other options for ProcessInformationClass over at PINVOKE: 368 | // https://www.pinvoke.net/default.aspx/ntdll/PROCESSINFOCLASS.html 369 | // Keep in mind that NtQueryInformationProcess will return different things depending on the ProcessInformationClass used. 370 | // Many online articles using NtQueryInformationProcess for anti-debugging will use DWORD types for NtQueryInformationProcess 371 | // paramters. This is fine for 32-builds with some ProcessInformationClass values, but it will cause some to fail on 64-bit builds. 372 | // In the event of a failure NtQueryInformationProcess will likely return STATUS_INFO_LENGTH_MISMATCH (0xC0000004). 373 | 374 | // Query ProcessDebugPort 375 | NTSTATUS status = NtQueryInformationProcess(hProcess, ProcessBasicInformation, &pProcBasicInfo, sizeof(pProcBasicInfo), &returnLength); 376 | if (NT_SUCCESS(status)) { 377 | PPEB pPeb = pProcBasicInfo.PebBaseAddress; 378 | if (pPeb) 379 | { 380 | if (pPeb->BeingDebugged) 381 | { 382 | return true; 383 | } 384 | } 385 | } 386 | return false; 387 | } 388 | 389 | 390 | bool adbg_NtSetInformationThread() 391 | { 392 | THREAD_INFORMATION_CLASS ThreadHideFromDebugger = (THREAD_INFORMATION_CLASS)0x11; 393 | 394 | // Get a handle to ntdll.dll so we can import NtSetInformationThread 395 | HMODULE hNtdll = LoadLibraryW(L"ntdll.dll"); 396 | if (hNtdll == INVALID_HANDLE_VALUE || hNtdll == NULL) 397 | { 398 | return false; 399 | } 400 | 401 | // Dynamically acquire the addres of NtSetInformationThread and NtQueryInformationThread 402 | _NtSetInformationThread NtSetInformationThread = NULL; 403 | NtSetInformationThread = (_NtSetInformationThread)GetProcAddress(hNtdll, "NtSetInformationThread"); 404 | 405 | if (NtSetInformationThread == NULL) 406 | { 407 | return false; 408 | } 409 | 410 | // There is nothing to check here after this call. 411 | NtSetInformationThread(GetCurrentThread(), ThreadHideFromDebugger, 0, 0); 412 | } 413 | 414 | 415 | bool adbg_DebugActiveProcess( const char* cpid) 416 | { 417 | BOOL found = FALSE; 418 | STARTUPINFOA si = { 0 }; 419 | PROCESS_INFORMATION pi = { 0 }; 420 | si.cb = sizeof(si); 421 | TCHAR szPath[MAX_PATH]; 422 | DWORD exitCode = 0; 423 | 424 | CreateMutex(NULL, FALSE, L"antidbg"); 425 | if (GetLastError() != ERROR_SUCCESS) 426 | { 427 | // If we get here we are in the child process 428 | if (DebugActiveProcess((DWORD)atoi(cpid))) 429 | { 430 | // No debugger found. 431 | return false; 432 | } 433 | else 434 | { 435 | // Debugger found, exit child with a unique code we can check for. 436 | exit(555); 437 | return true; 438 | } 439 | } 440 | 441 | // parent process 442 | DWORD pid = GetCurrentProcessId(); 443 | GetModuleFileName(NULL, szPath, MAX_PATH); 444 | 445 | char cmdline[MAX_PATH + 1 + sizeof(int)]; 446 | snprintf(cmdline, sizeof(cmdline), "%ws %d", szPath, pid); 447 | 448 | // Start the child process. 449 | BOOL success = CreateProcessA( 450 | NULL, // path (NULL means use cmdline instead) 451 | cmdline, // Command line 452 | NULL, // Process handle not inheritable 453 | NULL, // Thread handle not inheritable 454 | FALSE, // Set handle inheritance to FALSE 455 | 0, // No creation flags 456 | NULL, // Use parent's environment block 457 | NULL, // Use parent's starting directory 458 | &si, // Pointer to STARTUPINFO structure 459 | &pi); // Pointer to PROCESS_INFORMATION structure 460 | 461 | // Wait until child process exits and get the code 462 | WaitForSingleObject(pi.hProcess, INFINITE); 463 | 464 | // Check for our unique exit code 465 | GetExitCodeProcess(pi.hProcess, &exitCode); 466 | if (exitCode == 555) 467 | { 468 | found = TRUE; 469 | } 470 | 471 | // Close process and thread handles. 472 | CloseHandle(pi.hProcess); 473 | CloseHandle(pi.hThread); 474 | 475 | if (found) 476 | { 477 | return true; 478 | } 479 | 480 | return false; 481 | } 482 | 483 | 484 | // ======================================================================= 485 | // Timing Checks 486 | // These checks focus on comparison of time stamps between a portion 487 | // of code which is likely to be analyzed under a debugger. The goal 488 | // is to determine with high probability that a debugger is allowing 489 | // single step control, or that a breakpoint had been hit between 490 | // the time check locations. 491 | // ======================================================================= 492 | 493 | bool adbg_RDTSC() 494 | { 495 | BOOL found = FALSE; 496 | 497 | #ifdef _WIN64 498 | uint64_t timeA = 0; 499 | uint64_t timeB = 0; 500 | TimeKeeper timeKeeper = { 0 }; 501 | adbg_RDTSCx64(&timeKeeper); 502 | 503 | timeA = timeKeeper.timeUpperA; 504 | timeA = (timeA << 32) | timeKeeper.timeLowerA; 505 | 506 | timeB = timeKeeper.timeUpperB; 507 | timeB = (timeB << 32) | timeKeeper.timeLowerB; 508 | 509 | // 0x100000 is purely empirical and is based on the CPU clock speed 510 | // This value should be change depending on the length and complexity of 511 | // code between each RDTSC operation. 512 | 513 | if (timeB - timeA > 0x100000) 514 | { 515 | found = TRUE; 516 | } 517 | 518 | #else 519 | int timeUpperA = 0; 520 | int timeLowerA = 0; 521 | int timeUpperB = 0; 522 | int timeLowerB = 0; 523 | int timeA = 0; 524 | int timeB = 0; 525 | 526 | _asm 527 | { 528 | // rdtsc stores result across EDX:EAX 529 | rdtsc; 530 | mov [timeUpperA], edx; 531 | mov [timeLowerA], eax; 532 | 533 | // Junk code to entice stepping through or a breakpoint 534 | xor eax, eax; 535 | mov eax, 5; 536 | shr eax, 2; 537 | sub eax, ebx; 538 | cmp eax, ecx; 539 | 540 | rdtsc; 541 | mov [timeUpperB], edx; 542 | mov [timeLowerB], eax; 543 | } 544 | 545 | timeA = timeUpperA; 546 | timeA = (timeA << 32) | timeLowerA; 547 | 548 | timeB = timeUpperB; 549 | timeB = (timeB << 32) | timeLowerB; 550 | 551 | // 0x100000 is purely empirical and is based on the CPU clock speed 552 | // This value should be change depending on the length and complexity of 553 | // code between each RDTSC operation. 554 | 555 | if (timeB - timeA > 0x10000) 556 | { 557 | found = TRUE; 558 | } 559 | 560 | #endif 561 | 562 | if (found) 563 | { 564 | return true; 565 | } 566 | 567 | return false; 568 | } 569 | 570 | 571 | bool adbg_QueryPerformanceCounter() 572 | { 573 | BOOL found = FALSE; 574 | LARGE_INTEGER t1; 575 | LARGE_INTEGER t2; 576 | 577 | QueryPerformanceCounter(&t1); 578 | 579 | #ifdef _WIN64 580 | adbg_QueryPerformanceCounterx64(); 581 | #else 582 | // Junk or legit code. 583 | _asm 584 | { 585 | xor eax, eax; 586 | push eax; 587 | push ecx; 588 | pop eax; 589 | pop ecx; 590 | sub ecx, eax; 591 | shl ecx, 4; 592 | } 593 | #endif 594 | 595 | QueryPerformanceCounter(&t2); 596 | 597 | // 30 is an empirical value 598 | if ((t2.QuadPart - t1.QuadPart) > 30) 599 | { 600 | found = TRUE; 601 | } 602 | 603 | if (found) 604 | { 605 | return true; 606 | } 607 | 608 | return false; 609 | } 610 | 611 | 612 | bool adbg_GetTickCount() 613 | { 614 | BOOL found = FALSE; 615 | DWORD t1; 616 | DWORD t2; 617 | 618 | t1 = GetTickCount(); 619 | 620 | #ifdef _WIN64 621 | adbg_GetTickCountx64(); 622 | #else 623 | // Junk or legit code. 624 | _asm 625 | { 626 | xor eax, eax; 627 | push eax; 628 | push ecx; 629 | pop eax; 630 | pop ecx; 631 | sub ecx, eax; 632 | shl ecx, 4; 633 | } 634 | #endif 635 | 636 | t2 = GetTickCount(); 637 | 638 | // 30 milliseconds is an empirical value 639 | if ((t2 - t1) > 30) 640 | { 641 | found = TRUE; 642 | } 643 | 644 | if (found) 645 | { 646 | return true; 647 | } 648 | 649 | return false; 650 | } 651 | 652 | 653 | // ======================================================================= 654 | // CPU Checks 655 | // These checks focus on aspects of the CPU, including hardware break- 656 | // points, special interrupt opcodes, and flags. 657 | // ======================================================================= 658 | 659 | bool adbg_HardwareDebugRegisters() 660 | { 661 | BOOL found = FALSE; 662 | CONTEXT ctx = { 0 }; 663 | HANDLE hThread = GetCurrentThread(); 664 | 665 | ctx.ContextFlags = CONTEXT_DEBUG_REGISTERS; 666 | if (GetThreadContext(hThread, &ctx)) 667 | { 668 | if ((ctx.Dr0 != 0x00) || (ctx.Dr1 != 0x00) || (ctx.Dr2 != 0x00) || (ctx.Dr3 != 0x00) || (ctx.Dr6 != 0x00) || (ctx.Dr7 != 0x00)) 669 | { 670 | found = TRUE; 671 | } 672 | } 673 | 674 | if (found) 675 | { 676 | return true; 677 | } 678 | 679 | return false; 680 | } 681 | 682 | 683 | bool adbg_MovSS() 684 | { 685 | BOOL found = FALSE; 686 | 687 | #ifdef _WIN64 688 | // This method does not work on x64 689 | #else 690 | _asm 691 | { 692 | push ss; 693 | pop ss; 694 | pushfd; 695 | test byte ptr[esp + 1], 1; 696 | jne fnd; 697 | jmp end; 698 | fnd: 699 | mov found, 1; 700 | end: 701 | nop; 702 | } 703 | #endif 704 | 705 | if (found) 706 | { 707 | return true; 708 | } 709 | 710 | return false; 711 | } 712 | 713 | 714 | // ======================================================================= 715 | // Exception Checks 716 | // These checks focus on exceptions that occur when under the control of 717 | // a debugger. In several cases, there are certain exceptions that will 718 | // be thrown only when running under a debugger. 719 | // ======================================================================= 720 | 721 | 722 | bool adbg_CloseHandleException() 723 | { 724 | HANDLE hInvalid = (HANDLE)0xBEEF; // an invalid handle 725 | DWORD found = FALSE; 726 | 727 | __try 728 | { 729 | CloseHandle(hInvalid); 730 | } 731 | __except (EXCEPTION_EXECUTE_HANDLER) 732 | { 733 | found = TRUE; 734 | } 735 | 736 | if (found) 737 | { 738 | return true; 739 | } 740 | 741 | return false; 742 | } 743 | 744 | 745 | bool adbg_SingleStepException() 746 | { 747 | DWORD found = TRUE; 748 | 749 | // In this method we force an exception to occur. If it occurs 750 | // outside of a debugger, the __except() handler is called setting 751 | // found to FALSE. If the exception occurs inside of a debugger, the 752 | // __except() will not be called (in certain cases) leading to 753 | // found being TRUE. 754 | 755 | __try 756 | { 757 | #ifdef _WIN64 758 | adbg_SingleStepExceptionx64(); 759 | #else 760 | _asm 761 | { 762 | pushfd; // save EFFLAGS register 763 | or byte ptr[esp + 1], 1; // set trap flag in EFFLAGS 764 | popfd; // restore EFFLAGS register 765 | } 766 | #endif 767 | } 768 | __except (EXCEPTION_EXECUTE_HANDLER) 769 | { 770 | found = FALSE; 771 | } 772 | 773 | if (found) 774 | { 775 | return true; 776 | } 777 | 778 | return false; 779 | } 780 | 781 | 782 | bool adbg_Int3() 783 | { 784 | BOOL found = TRUE; 785 | 786 | __try 787 | { 788 | #ifdef _WIN64 789 | adbg_Int3x64(); 790 | #else 791 | _asm 792 | { 793 | int 3; // 0xCC standard software breakpoint 794 | } 795 | #endif 796 | } 797 | 798 | __except (EXCEPTION_EXECUTE_HANDLER) 799 | { 800 | found = FALSE; 801 | } 802 | 803 | if (found) 804 | { 805 | return true; 806 | } 807 | 808 | return false; 809 | } 810 | 811 | 812 | bool adbg_PrefixHop() 813 | { 814 | BOOL found = TRUE; 815 | 816 | __try 817 | { 818 | #ifdef _WIN64 819 | // TODO: Not yet implemented in x64 820 | found = FALSE; 821 | #else 822 | _asm 823 | { 824 | __emit 0xF3; // 0xF3 0x64 is the prefix 'REP' 825 | __emit 0x64; 826 | __emit 0xCC; // this gets skipped over if being debugged 827 | } 828 | #endif 829 | } 830 | 831 | __except (EXCEPTION_EXECUTE_HANDLER) 832 | { 833 | found = FALSE; 834 | } 835 | 836 | if (found) 837 | { 838 | return true; 839 | } 840 | 841 | return false; 842 | } 843 | 844 | 845 | bool adbg_Int2D() 846 | { 847 | BOOL found = TRUE; 848 | 849 | __try 850 | { 851 | #ifdef _WIN64 852 | adbg_Int2Dx64(); 853 | #else 854 | _asm 855 | { 856 | int 0x2D; 857 | nop; 858 | } 859 | #endif 860 | } 861 | 862 | __except (EXCEPTION_EXECUTE_HANDLER) 863 | { 864 | found = FALSE; 865 | } 866 | 867 | if (found) 868 | { 869 | return false; 870 | } 871 | 872 | 873 | return false; 874 | } 875 | 876 | // ======================================================================= 877 | // Other Checks 878 | // Other kinds of checks that don't fit into the normal categories. 879 | // ======================================================================= 880 | 881 | void adbg_CrashOllyDbg(void) 882 | { 883 | // crash OllyDbg v1.x by exploit 884 | __try { 885 | OutputDebugString(TEXT("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s")); 886 | } 887 | __except (EXCEPTION_EXECUTE_HANDLER) { ; } 888 | } 889 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\vc143.pdb 2 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\vc143.idb 3 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\dllmain.obj 4 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\functions.obj 5 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\debug\antidbg.obj 6 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.ilk 7 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\debug\antidbg.dll 8 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\debug\antidbg.pdb 9 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\debug\antidbg.lib 10 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\debug\antidbg.exp 11 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\cl.command.1.tlog 12 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\cl.items.tlog 13 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\cl.read.1.tlog 14 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\cl.write.1.tlog 15 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\custombuild.command.1.tlog 16 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\custombuild.read.1.tlog 17 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\custombuild.write.1.tlog 18 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\link.command.1.tlog 19 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\link.read.1.tlog 20 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\link.write.1.tlog 21 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\debug\antidbg.tlog\link.write.2u.tlog 22 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.dll.recipe: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | C:\Users\oxyn\Desktop\dev\guardshield-main\dll\x64\Debug\AntiDBG.dll 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.lib.recipe: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.log: -------------------------------------------------------------------------------- 1 |  Performing Custom Build Tools 2 | Microsoft (R) Macro Assembler (x64) Version 14.38.33130.0 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | 5 | Assembling: AntiDBG.asm 6 | functions.cpp 7 | dllmain.cpp 8 | Generating Code... 9 | C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\functions.cpp(418): warning C4715: 'adbg_NtSetInformationThread': not all control paths return a value 10 | AntiDBG.vcxproj -> C:\Users\oxyn\Desktop\dev\guardshield-main\dll\x64\Debug\AntiDBG.lib 11 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/AntiDBG.lastbuildstate: -------------------------------------------------------------------------------- 1 | PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.38.33130:TargetPlatformVersion=10.0.22621.0: 2 | Debug|x64|C:\Users\oxyn\Desktop\dev\guardshield-main\dll\| 3 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Debug/AntiDBG.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Debug/AntiDBG.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Debug/AntiDBG.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/Cl.items.tlog: -------------------------------------------------------------------------------- 1 | C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\functions.cpp;C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\x64\Debug\functions.obj 2 | C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\dllmain.cpp;C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\x64\Debug\dllmain.obj 3 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/CustomBuild.command.1.tlog: -------------------------------------------------------------------------------- 1 | ^C:\USERS\OXYN\DESKTOP\DEV\GUARDSHIELD-MAIN\DLL\ANTIDBG\ANTIDBG.ASM 2 | ml64 /c /FoC:\Users\oxyn\Desktop\dev\guardshield-main\dll\x64\Debug\\AntiDBG.obj AntiDBG.asm 3 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/CustomBuild.read.1.tlog: -------------------------------------------------------------------------------- 1 | ^C:\USERS\OXYN\DESKTOP\DEV\GUARDSHIELD-MAIN\DLL\ANTIDBG\ANTIDBG.ASM 2 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/CustomBuild.write.1.tlog: -------------------------------------------------------------------------------- 1 | ^C:\USERS\OXYN\DESKTOP\DEV\GUARDSHIELD-MAIN\DLL\ANTIDBG\ANTIDBG.ASM 2 | C:\USERS\OXYN\DESKTOP\DEV\GUARDSHIELD-MAIN\DLL\X64\DEBUG\ANTIDBG.OBJ 3 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/Lib-link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Debug/AntiDBG.tlog/Lib-link.read.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/Lib-link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Debug/AntiDBG.tlog/Lib-link.write.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.tlog/Lib.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Debug/AntiDBG.tlog/Lib.command.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/AntiDBG.vcxproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Debug/AntiDBG.vcxproj.FileListAbsolute.txt -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/dllmain.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Debug/dllmain.obj -------------------------------------------------------------------------------- /dll/antidbg/x64/Debug/functions.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Debug/functions.obj -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\vc143.pdb 2 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\dllmain.obj 3 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\functions.obj 4 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\release\antidbg.obj 5 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\release\antidbg.dll 6 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.ipdb 7 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\release\antidbg.pdb 8 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.iobj 9 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\release\antidbg.lib 10 | c:\users\oxyn\desktop\dev\guardshield-main\dll\x64\release\antidbg.exp 11 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\cl.command.1.tlog 12 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\cl.items.tlog 13 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\cl.read.1.tlog 14 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\cl.write.1.tlog 15 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\custombuild.command.1.tlog 16 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\custombuild.read.1.tlog 17 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\custombuild.write.1.tlog 18 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\link.command.1.tlog 19 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\link.read.1.tlog 20 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\link.write.1.tlog 21 | c:\users\oxyn\desktop\dev\guardshield-main\dll\antidbg\x64\release\antidbg.tlog\link.write.2u.tlog 22 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.dll.recipe: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | C:\Users\oxyn\Desktop\dev\guardshield-main\dll\x64\Release\AntiDBG.dll 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.exe.recipe: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | C:\Users\cbvxv\source\repos\ExcerSec\x64\Release\AntiDBG.exe 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.iobj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.iobj -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.ipdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.ipdb -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.log: -------------------------------------------------------------------------------- 1 |  Performing Custom Build Tools 2 | Microsoft (R) Macro Assembler (x64) Version 14.38.33130.0 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | 5 | Assembling: AntiDBG.asm 6 | functions.cpp 7 | dllmain.cpp 8 | Creating library C:\Users\oxyn\Desktop\dev\guardshield-main\dll\x64\Release\AntiDBG.lib and object C:\Users\oxyn\Desktop\dev\guardshield-main\dll\x64\Release\AntiDBG.exp 9 | Generating code 10 | Previous IPDB not found, fall back to full compilation. 11 | C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\functions.cpp(412): warning C4715: 'adbg_NtSetInformationThread': not all control paths return a value 12 | All 151 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. 13 | Finished generating code 14 | AntiDBG.vcxproj -> C:\Users\oxyn\Desktop\dev\guardshield-main\dll\x64\Release\AntiDBG.dll 15 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/AntiDBG.lastbuildstate: -------------------------------------------------------------------------------- 1 | PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.38.33130:TargetPlatformVersion=10.0.22621.0: 2 | Release|x64|C:\Users\oxyn\Desktop\dev\guardshield-main\dll\| 3 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/AntiDBG.write.1u.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.tlog/AntiDBG.write.1u.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/Cl.items.tlog: -------------------------------------------------------------------------------- 1 | C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\functions.cpp;C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\x64\Release\functions.obj 2 | C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\dllmain.cpp;C:\Users\oxyn\Desktop\dev\guardshield-main\dll\antidbg\x64\Release\dllmain.obj 3 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/CustomBuild.command.1.tlog: -------------------------------------------------------------------------------- 1 | ^C:\USERS\OXYN\DESKTOP\DEV\GUARDSHIELD-MAIN\DLL\ANTIDBG\ANTIDBG.ASM 2 | ml64 /c /FoC:\Users\oxyn\Desktop\dev\guardshield-main\dll\x64\Release\\AntiDBG.obj AntiDBG.asm 3 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/CustomBuild.read.1.tlog: -------------------------------------------------------------------------------- 1 | ^C:\USERS\OXYN\DESKTOP\DEV\GUARDSHIELD-MAIN\DLL\ANTIDBG\ANTIDBG.ASM 2 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/CustomBuild.write.1.tlog: -------------------------------------------------------------------------------- 1 | ^C:\USERS\OXYN\DESKTOP\DEV\GUARDSHIELD-MAIN\DLL\ANTIDBG\ANTIDBG.ASM 2 | C:\USERS\OXYN\DESKTOP\DEV\GUARDSHIELD-MAIN\DLL\X64\RELEASE\ANTIDBG.OBJ 3 | -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.tlog/link.write.2u.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.tlog/link.write.2u.tlog -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/AntiDBG.vcxproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/AntiDBG.vcxproj.FileListAbsolute.txt -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/dllmain.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/dllmain.obj -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/functions.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/functions.obj -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/vc142.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/vc142.pdb -------------------------------------------------------------------------------- /dll/antidbg/x64/Release/vc143.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/antidbg/x64/Release/vc143.pdb -------------------------------------------------------------------------------- /dll/x64/Debug/AntiDBG.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/x64/Debug/AntiDBG.exe -------------------------------------------------------------------------------- /dll/x64/Debug/AntiDBG.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/x64/Debug/AntiDBG.lib -------------------------------------------------------------------------------- /dll/x64/Debug/AntiDBG.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/x64/Debug/AntiDBG.obj -------------------------------------------------------------------------------- /dll/x64/Debug/AntiDBG.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/x64/Debug/AntiDBG.pdb -------------------------------------------------------------------------------- /dll/x64/Release/AntiDBG.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/x64/Release/AntiDBG.dll -------------------------------------------------------------------------------- /dll/x64/Release/AntiDBG.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/x64/Release/AntiDBG.exp -------------------------------------------------------------------------------- /dll/x64/Release/AntiDBG.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/x64/Release/AntiDBG.lib -------------------------------------------------------------------------------- /dll/x64/Release/AntiDBG.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/x64/Release/AntiDBG.obj -------------------------------------------------------------------------------- /dll/x64/Release/AntiDBG.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/dll/x64/Release/AntiDBG.pdb -------------------------------------------------------------------------------- /guardshield/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | __version__ = '1.0.0' 3 | 4 | from guardshield.main import Security 5 | import guardshield.utils.cheatengine -------------------------------------------------------------------------------- /guardshield/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/guardshield/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /guardshield/__pycache__/__init__.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/guardshield/__pycache__/__init__.cpython-39.pyc -------------------------------------------------------------------------------- /guardshield/__pycache__/dll_bytes.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/guardshield/__pycache__/dll_bytes.cpython-38.pyc -------------------------------------------------------------------------------- /guardshield/__pycache__/dll_bytes.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/guardshield/__pycache__/dll_bytes.cpython-39.pyc -------------------------------------------------------------------------------- /guardshield/__pycache__/main.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/guardshield/__pycache__/main.cpython-38.pyc -------------------------------------------------------------------------------- /guardshield/__pycache__/main.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/guardshield/__pycache__/main.cpython-39.pyc -------------------------------------------------------------------------------- /guardshield/dll_bytes.py: -------------------------------------------------------------------------------- 1 | dll_bytes=b'''MZ\x90\x00\x03\x00\x00\x00\x04\x00\x00\x00\xff\xff\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00\x0e\x1f\xba\x0e\x00\xb4\t\xcd!\xb8\x01L\xcd!This program cannot be run in DOS mode.\r\r\n$\x00\x00\x00\x00\x00\x00\x00u\xb2\xfd\x831\xd3\x93\xd01\xd3\x93\xd01\xd3\x93\xd08\xab\x00\xd0;\xd3\x93\xd07R\x96\xd1!\xd3\x93\xd07R\x97\xd19\xd3\x93\xd07R\x90\xd12\xd3\x93\xd07R\x92\xd17\xd3\x93\xd0z\xab\x92\xd14\xd3\x93\xd01\xd3\x92\xd0m\xd3\x93\xd0[R\x90\xd10\xd3\x93\xd0[R\x9a\xd13\xd3\x93\xd0[R\x93\xd10\xd3\x93\xd0[Rl\xd00\xd3\x93\xd0[R\x91\xd10\xd3\x93\xd0Rich1\xd3\x93\xd0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00PE\x00\x00d\x86\x06\x00\xee\xa1\xbfe\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00" \x0b\x02\x0e&\x00$\x00\x00\x002\x00\x00\x00\x00\x00\x00\xd8\'\x00\x00\x00\x10\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x10\x00\x00\x00\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x03\x00`\x01\x00\x00\x10\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x80U\x00\x00\x94\x00\x00\x00\x14V\x00\x00\xc8\x00\x00\x00\x00\x90\x00\x00\xe0\x01\x00\x00\x00\x80\x00\x00\x84\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00P\x00\x00\x00\xb0J\x00\x00p\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00pI\x00\x00@\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00`\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.text\x00\x00\x00E"\x00\x00\x00\x10\x00\x00\x00$\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00`.rdata\x00\x00V!\x00\x00\x00@\x00\x00\x00"\x00\x00\x00(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00@.data\x00\x00\x00X\x07\x00\x00\x00p\x00\x00\x00\x02\x00\x00\x00J\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\xc0.pdata\x00\x00\x84\x03\x00\x00\x00\x80\x00\x00\x00\x04\x00\x00\x00L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00@.rsrc\x00\x00\x00\xe0\x01\x00\x00\x00\x90\x00\x00\x00\x02\x00\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00@.reloc\x00\x00P\x00\x00\x00\x00\xa0\x00\x00\x00\x02\x00\x00\x00R\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00H\x8d\x05Ag\x00\x00\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x89L$\x08H\x89T$\x10L\x89D$\x18L\x89L$ SVWH\x83\xec0H\x8b\xf9H\x8dt$X\xb9\x01\x00\x00\x00\xff\x15\xfa1\x00\x00H\x8b\xd8\xe8\xba\xff\xff\xffE3\xc9H\x89t$ L\x8b\xc7H\x8b\xd3H\x8b\x08\xff\x15\xe31\x00\x00H\x83\xc40_^[\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9H\x8b\xc2H\x8d\r\x8d2\x00\x00\x0fW\xc0H\x8dS\x08H\x89\x0bH\x8dH\x08\x0f\x11\x02\xff\x15\x0e1\x00\x00H\x8b\xc3H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x8bQ\x08H\x8d\x05\xb52\x00\x00H\x85\xd2H\x0fE\xc2\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x89\\$\x08WH\x83\xec H\x8d\x05/2\x00\x00H\x8b\xf9H\x89\x01\x8b\xdaH\x83\xc1\x08\xff\x15}0\x00\x00\xf6\xc3\x01t\r\xba\x18\x00\x00\x00H\x8b\xcf\xe8\x83\x13\x00\x00H\x8b\\$0H\x8b\xc7H\x83\xc4 _\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x8d\x05\xe91\x00\x00H\x89\x01H\x83\xc1\x08H\xff%;0\x00\x00\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x8d\x05A2\x00\x00H\xc7A\x10\x00\x00\x00\x00H\x89A\x08H\x8d\x05\xf61\x00\x00H\x89\x01H\x8b\xc1\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9H\x8b\xc2H\x8d\r\x8d1\x00\x00\x0fW\xc0H\x8dS\x08H\x89\x0bH\x8dH\x08\x0f\x11\x02\xff\x15\x0e0\x00\x00H\x8d\x05\xaf1\x00\x00H\x89\x03H\x8b\xc3H\x83\xc4 [\xc3\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9H\x8b\xc2H\x8d\rM1\x00\x00\x0fW\xc0H\x8dS\x08H\x89\x0bH\x8dH\x08\x0f\x11\x02\xff\x15\xce/\x00\x00H\x8d\x05G1\x00\x00H\x89\x03H\x8b\xc3H\x83\xc4 [\xc3\xcc\xcc\xccH\x83\xec(\xe8\x17\x10\x00\x00\x85\xc0\x0f\x95\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x83\xec8H\x8b\x05%^\x00\x00H3\xc4H\x89D$(\xc7D$ \x00\x00\x00\x00\xff\x15\xcf-\x00\x00H\x8b\xc8H\x8dT$ \xff\x159.\x00\x00\x83|$ \x00\x0f\x95\xc0H\x8bL$(H3\xcc\xe8\\\x10\x00\x00H\x83\xc48\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec H\x8d\x15s1\x00\x003\xc9\xff\x15\xdb.\x00\x00H\x8d\x15\x841\x00\x003\xc9H\x8b\xd8\xff\x15\xc9.\x00\x00H\x85\xc0u\x0cH\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xb0\x01H\x83\xc4 [\xc3H\x89|$\x10UH\x8d\xac$`\xfb\xff\xffH\x81\xec\xa0\x05\x00\x00H\x8b\x05\x84]\x00\x00H3\xc4H\x89\x85\x90\x04\x00\x00H\x8d\x05k1\x00\x003\xd2H\x89\x85\xa0\x03\x00\x00H\x8d\x8dd\x01\x00\x00H\x8d\x05\x841\x00\x00A\xb84\x02\x00\x00H\x89\x85\xa8\x03\x00\x00H\x8d\x05\x881\x00\x00H\x89\x85\xb0\x03\x00\x00H\x8d\x05\x8a1\x00\x00H\x89\x85\xb8\x03\x00\x00H\x8d\x05\x941\x00\x00H\x89\x85\xc0\x03\x00\x00H\x8d\x05\x9e1\x00\x00H\x89\x85\xc8\x03\x00\x00H\x8d\x05\xb81\x00\x00H\x89\x85\xd0\x03\x00\x00H\x8d\x05\xc21\x00\x00H\x89\x85\xd8\x03\x00\x00H\x8d\x05\xcc1\x00\x00H\x89\x85\xe0\x03\x00\x00H\x8d\x05\xe61\x00\x00H\x89\x85\xe8\x03\x00\x00H\x8d\x05\xf01\x00\x00H\x89\x85\xf0\x03\x00\x00H\x8d\x05\xfa1\x00\x00H\x89\x85\xf8\x03\x00\x00H\x8d\x05\x042\x00\x00H\x89\x85\x00\x04\x00\x00H\x8d\x05\x1e2\x00\x00H\x89\x85\x08\x04\x00\x00H\x8d\x0582\x00\x00H\x89\x85\x10\x04\x00\x00H\x8d\x05J2\x00\x00H\x89\x85\x18\x04\x00\x00H\x8d\x05T2\x00\x00H\x89\x85 \x04\x00\x00H\x8d\x05^2\x00\x00H\x89\x85(\x04\x00\x00H\x8d\x05x2\x00\x00H\x89\x850\x04\x00\x00H\x8d\x05\x922\x00\x00H\x89\x858\x04\x00\x00H\x8d\x05\xa42\x00\x00H\x89\x85@\x04\x00\x00H\x8d\x05\xbe2\x00\x00H\x89\x85H\x04\x00\x00H\x8d\x05\xd02\x00\x00H\x89\x85P\x04\x00\x00H\x8d\x05\xda2\x00\x00H\x89\x85X\x04\x00\x00H\x8d\x05\xe42\x00\x00H\x89\x85`\x04\x00\x00H\x8d\x05\xee2\x00\x00H\x89\x85h\x04\x00\x00H\x8d\x05\x003\x00\x00H\x89\x85p\x04\x00\x00H\x8d\x05\x1a3\x00\x00H\x89\x85x\x04\x00\x00H\x8d\x05,3\x00\x00H\x89\x85\x80\x04\x00\x00H\x8d\x05>3\x00\x00H\x89\x85\x88\x04\x00\x00\xe8\xc0\x1b\x00\x003\xd2\x8dJ\x02\xff\x15\x87+\x00\x003\xd2\xc7D$ 8\x02\x00\x00A\xb84\x02\x00\x00H\x8dL$$H\x8b\xf8\xe8\x98\x1b\x00\x00H\x8d\x8d`\x01\x00\x00\xba\x04\x00\x00\x00H\x8dD$ f\x0f\x1f\x84\x00\x00\x00\x00\x00H\x8d\x89\x80\x00\x00\x00\x0f\x10\x00\x0f\x10H\x10H\x8d\x80\x80\x00\x00\x00\x0f\x11A\x80\x0f\x10@\xa0\x0f\x11I\x90\x0f\x10H\xb0\x0f\x11A\xa0\x0f\x10@\xc0\x0f\x11I\xb0\x0f\x10H\xd0\x0f\x11A\xc0\x0f\x10@\xe0\x0f\x11I\xd0\x0f\x10H\xf0\x0f\x11A\xe0\x0f\x11I\xf0H\x83\xea\x01u\xad\x0f\x10\x00H\x8d\x95`\x01\x00\x00H\x89\x9c$\xb0\x05\x00\x00\x0f\x10H\x10\x0f\x11\x01\x0f\x10@ H\x8b@0\x0f\x11I\x10\x0f\x11A H\x89A0H\x8b\xcf\xff\x15\xe7*\x00\x00\x85\xc0u\x19H\x8d\r\x842\x00\x00\xe8\xb7\xfa\xff\xffH\x8b\xcf\xff\x15\xd6*\x00\x002\xc0\xebQH\x8d\x9d\xa0\x03\x00\x00\x0f\x1f\x00H\x8b\x0bH\x8d\x95\x8c\x01\x00\x00\xff\x15\xd0,\x00\x00\x85\xc0t1H\x83\xc3\x08H\x8d\x85\x90\x04\x00\x00H;\xd8u\xdcH\x8d\x95`\x01\x00\x00H\x8b\xcf\xff\x15|*\x00\x00\x85\xc0u\xbeH\x8b\xcf\xff\x15\x87*\x00\x002\xc0\xeb\x02\xb0\x01H\x8b\x9c$\xb0\x05\x00\x00H\x8b\x8d\x90\x04\x00\x00H3\xcc\xe8\xe2\x0c\x00\x00H\x8b\xbc$\xb8\x05\x00\x00H\x81\xc4\xa0\x05\x00\x00]\xc3\xcc@SH\x83\xec 3\xd2H\x8d\r92\x00\x00\xff\x15[+\x00\x003\xd2H\x8d\r:2\x00\x00H\x8b\xd8\xff\x15I+\x00\x00H\x85\xc0u\x0cH\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xb0\x01H\x83\xc4 [\xc3H\x83\xec(\xff\x15F*\x00\x00\x85\xc0\x0f\x95\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x83\xec(\xe8\xde\x0b\x00\x00\x85\xc0\x0f\x95\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xecpH\x8b\x05\xd3Y\x00\x00H3\xc4H\x89D$h\x0fW\xc0\xc7D$`\x00\x00\x00\x00H\x8d\r\xb91\x00\x00\x0f\x11D$0\x0f\x11D$@\x0f\x11D$P\xff\x15\xa4)\x00\x00H\x8dH\xffH\x83\xf9\xfdwcH\x8d\x15\xab1\x00\x00H\x8b\xc8\xff\x15\x9a)\x00\x00H\x8b\xd8H\x85\xc0tK\xff\x15<)\x00\x00H\x8dL$`A\xb90\x00\x00\x00H\x89L$ L\x8dD$0H\x8b\xc83\xd2\xff\xd3\x85\xc0x%H\x8bD$8H\x85\xc0t\x1b\x80x\x02\x00t\x15\xb0\x01H\x8bL$hH3\xcc\xe8\xad\x0b\x00\x00H\x83\xc4p[\xc32\xc0H\x8bL$hH3\xcc\xe8\x98\x0b\x00\x00H\x83\xc4p[\xc3\xcc\xcc@SH\x83\xec H\x8d\r\x131\x00\x00\xff\x15\r)\x00\x00H\x8dH\xffH\x83\xf9\xfdw6H\x8d\x1541\x00\x00H\x8b\xc8\xff\x15\x03)\x00\x00H\x8b\xd8H\x85\xc0t\x1e\xff\x15\xcd(\x00\x00E3\xc9E3\xc0H\x8b\xc8A\x8dQ\x11H\x8b\xc3H\x83\xc4 [H\xff\xe02\xc0H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xccH\x83\xecXH\x8b\x05\xb5X\x00\x00H3\xc4H\x89D$@\x0fW\xc0H\x8dL$ \x0f\x11D$ \x0f\x11D$0\xe8\xb3\n\x00\x00H\x8bL$0H\x8bD$ H\xc1\xe1 H\x0bL$8H\xc1\xe0 H\x0bD$(H+\xc8H\x81\xf9\x00\x00\x10\x00\x0f\x97\xc0H\x8bL$@H3\xcc\xe8\xd0\n\x00\x00H\x83\xc4X\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec \xff\x15l(\x00\x00\x8b\xd8\xe8K\n\x00\x00\xff\x15_(\x00\x00+\xc3\x83\xf8\x1e\x0f\x97\xc0H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x81\xec\x08\x05\x00\x00H\x8b\x05\x12X\x00\x00H3\xc4H\x89\x84$\xf0\x04\x00\x003\xd2H\x8dL$ A\xb8\xd0\x04\x00\x00\xe8\xf3\x17\x00\x00\xff\x15\xd7\'\x00\x00H\x8dT$ \xc7D$P\x10\x00\x10\x00H\x8b\xc8\xff\x15\xe1\'\x00\x00\x85\xc0tSH\x83|$h\x00u1H\x83|$p\x00u)H\x83|$x\x00u!H\x83\xbc$\x80\x00\x00\x00\x00u\x16H\x83\xbc$\x88\x00\x00\x00\x00u\x0bH\x83\xbc$\x90\x00\x00\x00\x00t\x1a\xb0\x01H\x8b\x8c$\xf0\x04\x00\x00H3\xcc\xe8\xfa\t\x00\x00H\x81\xc4\x08\x05\x00\x00\xc32\xc0H\x8b\x8c$\xf0\x04\x00\x00H3\xcc\xe8\xe0\t\x00\x00H\x81\xc4\x08\x05\x00\x00\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc2\xc0\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec 3\xdb\xb9\xef\xbe\x00\x00\xff\x155\'\x00\x00\xeb\x05\xbb\x01\x00\x00\x00\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec \xbb\x01\x00\x00\x00\xe8Y\t\x00\x00\xeb\x023\xdb\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xcc@SH\x83\xec \xbb\x01\x00\x00\x00\xe88\t\x00\x00\xeb\x023\xdb\x85\xdb\x0f\x95\xc0H\x83\xc4 [\xc3\xccH\x83\xec\x18\xc7\x04$\x00\x00\x00\x00\xeb\x07\xc7\x04$\x00\x00\x00\x002\xc0H\x83\xc4\x18\xc3\xcc\xcc\xcc\xcc\xccH\x83\xec(\xe8\xfc\x08\x00\x00\xeb\x002\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc3\xc0\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xb8\x01\x00\x00\x00\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec0H\x8b\x05sV\x00\x00H3\xc4H\x89D$(H\x8b\xda\xff\x15\xb2&\x00\x00H\x85\xc0t\x7fH\x8b\xd3H\x8b\xc8\xff\x15a&\x00\x00H\x8b\xd8H\x85\xc0u/H\x8b\r"\'\x00\x00\xe8\x1d\x06\x00\x00H\x8b\xc8H\x8d\x15\xc3\x07\x00\x00\xff\x15\xed&\x00\x00H\x8bL$(H3\xcc\xe8\x90\x08\x00\x00H\x83\xc40[\xc3\xba\x08\x00\x00\x00L\x8dL$ H\x8b\xcbD\x8dB8\xff\x15C&\x00\x00H\x8d\x05\\\xff\xff\xff\xba\x08\x00\x00\x00H\x8b\x00L\x8dL$ H\x89\x03H\x8b\xcbD\x8bD$ \xff\x15\x1e&\x00\x00H\x8bL$(H3\xcc\xe8A\x08\x00\x00H\x83\xc40[\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccL\x8b\xdcI\x89[\x08WH\x81\xec\xb0\x00\x00\x00H\x8d\x05\x8a\xfb\xff\xff\xb9\x90\x00\x00\x00H\x89D$ H\x8d\x05I\xf7\xff\xffH\x89D$(H\x8d\x05\x8d\xfb\xff\xffH\x89D$0H\x8d\x05Q\xf7\xff\xffI\x89C\x80H\x8d\x05\x96\xfb\xff\xffI\x89C\x88H\x8d\x05\x0b\xfb\xff\xffI\x89C\x90H\x8d\x05\x80\xf7\xff\xffI\x89C\x98H\x8d\x05\xb5\xf7\xff\xffI\x89C\xa0H\x8d\x05*\xfc\xff\xffI\x89C\xa8H\x8d\x05\x1f\xfd\xff\xffI\x89C\xb0H\x8d\x05\xd4\xfd\xff\xffI\x89C\xb8H\x8d\x05i\xfc\xff\xffI\x89C\xc0H\x8d\x05\xce\xfc\xff\xffI\x89C\xc8H\x8d\x05\xc3\xfd\xff\xffI\x89C\xd0H\x8d\x05\xe8\xfd\xff\xffI\x89C\xd8H\x8d\x05\xfd\xfd\xff\xffI\x89C\xe0H\x8d\x052\xfe\xff\xffI\x89C\xe8H\x8d\x05\x07\xfe\xff\xffI\x89C\xf0\xe8\xea\x08\x00\x00A\xb8\x90\x00\x00\x00H\x8dT$ H\x8b\xc8H\x8b\xf8\xe8\x95\x15\x00\x003\xdbf\x0f\x1fD\x00\x00\xff\x14\xdf\x84\xc0u\rH\xff\xc3H\x83\xfb\x12r\xf02\xdb\xeb"H\x8b\r\x85%\x00\x00H\x8b\xd3\xff\x15d%\x00\x00H\x8b\xc8H\x8d\x15"\x06\x00\x00\xff\x15L%\x00\x00\xb3\x01H\x85\xfft\r\xba\x90\x00\x00\x00H\x8b\xcf\xe8\xc0\x08\x00\x00\x0f\xb6\xc3H\x8b\x9c$\xc0\x00\x00\x00H\x81\xc4\xb0\x00\x00\x00_\xc3\xcc\xcc\xcc\xcc@WH\x81\xec\xc0\x04\x00\x00H\x8b\x05PT\x00\x00H3\xc4H\x89\x84$\xb8\x04\x00\x00H\x8d\x05\x0e,\x00\x003\xd2A\xb84\x02\x00\x00H\x89\x84$\xa0\x04\x00\x00H\x8d\x8c$d\x02\x00\x00\xe8\x1f\x14\x00\x003\xd2\x8dJ\x02\xff\x15\xe6#\x00\x003\xd2\xc7D$ 8\x02\x00\x00A\xb84\x02\x00\x00H\x8dL$$H\x8b\xf8\xe8\xf7\x13\x00\x00H\x8d\x8c$`\x02\x00\x00\xba\x04\x00\x00\x00H\x8dD$ \x0f\x1f\x80\x00\x00\x00\x00H\x8d\x89\x80\x00\x00\x00\x0f\x10\x00\x0f\x10H\x10H\x8d\x80\x80\x00\x00\x00\x0f\x11A\x80\x0f\x10@\xa0\x0f\x11I\x90\x0f\x10H\xb0\x0f\x11A\xa0\x0f\x10@\xc0\x0f\x11I\xb0\x0f\x10H\xd0\x0f\x11A\xc0\x0f\x10@\xe0\x0f\x11I\xd0\x0f\x10H\xf0\x0f\x11A\xe0\x0f\x11I\xf0H\x83\xea\x01u\xad\x0f\x10\x00H\x8d\x94$`\x02\x00\x00H\x89\x9c$\xd0\x04\x00\x00\x0f\x10H\x10\x0f\x11\x01\x0f\x10@ H\x8b@0\x0f\x11I\x10\x0f\x11A H\x89A0H\x8b\xcf\xff\x15F#\x00\x00\x85\xc0u\x12H\x8d\r\xe3*\x00\x00\xe8\x16\xf3\xff\xff\xebS\x0f\x1f@\x00H\x8d\x9c$\xa0\x04\x00\x00\x0f\x1f\x84\x00\x00\x00\x00\x00H\x8b\x0bH\x8d\x94$\x8c\x02\x00\x00\xff\x15/%\x00\x00\x85\xc0\x0f\x84\xa6\x00\x00\x00H\x83\xc3\x08H\x8d\x84$\xa8\x04\x00\x00H;\xd8u\xd6H\x8d\x94$`\x02\x00\x00H\x8b\xcf\xff\x15\xd5"\x00\x00\x85\xc0u\xb1H\x8b\xcf\xff\x15\xe0"\x00\x003\xc9\xb8\x01\x00\x00\x00\x0f\xa2\x0fW\xc0\x0f\x11\x84$\xa8\x04\x00\x00\x89\x84$\xa8\x04\x00\x00\x89\x9c$\xac\x04\x00\x00\x85\xc9yM\xb8\x00\x00\x00@3\xc9\x0f\xa2\x89\x84$\xa8\x04\x00\x00H\x8d\x05\xfb*\x00\x00\x89\x9c$\xa8\x04\x00\x00H\x8d\x1d;+\x00\x00\x89\x8c$\xac\x04\x00\x00H\x8b\x8c$\xa8\x04\x00\x00H9\x08u\x0b9P\x08u\x06\x80x\x0c\x00t\rH\x83\xc0\rH;\xc3u\xe73\xc0\xeb\x05\xb8\x01\x00\x00\x00H\x8b\x9c$\xd0\x04\x00\x00H\x8b\x8c$\xb8\x04\x00\x00H3\xcc\xe8\xc4\x04\x00\x00H\x81\xc4\xc0\x04\x00\x00_\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x83\xecXH\x8b\x055R\x00\x00H3\xc4H\x89D$@3\xd2H\x8d\r\x84%\x00\x00\xff\x156#\x00\x00H\x85\xc0\x0f\x85\x84\x00\x00\x00\x8b\x05\x97%\x00\x00H\x8dL$ \x0fW\xc0H\xc7D$0\x0c\x00\x00\x00\x0f\x11D$ H\xc7D$8\x0f\x00\x00\x00\xf2\x0f\x10\x05h%\x00\x00\xf2\x0f\x11D$ \x89D$(\xc6D$,\x00\xff\x15\xab!\x00\x00\x83\xf8\xfftT\xa8\x10tPH\x8bT$8H\x83\xfa\x0fv.H\x8bL$ H\xff\xc2H\x8b\xc1H\x81\xfa\x00\x10\x00\x00r\x15H\x8bI\xf8H\x83\xc2\'H+\xc1H\x83\xc0\xf8H\x83\xf8\x1fwb\xe8\xd9\x05\x00\x00\xb8\x01\x00\x00\x00H\x8bL$@H3\xcc\xe8\xef\x03\x00\x00H\x83\xc4X\xc3H\x8d\r\x03%\x00\x00\xff\x155!\x00\x00H\x8bT$8H\x85\xc0u\x9eH\x83\xfa\x0fv5H\x8bL$ H\xff\xc2H\x8b\xc1H\x81\xfa\x00\x10\x00\x00r\x1cH\x8bI\xf8H\x83\xc2\'H+\xc1H\x83\xc0\xf8H\x83\xf8\x1fv\x07\xff\x15\x0e#\x00\x00\xcc\xe8p\x05\x00\x003\xc0H\x8bL$@H3\xcc\xe8\x89\x03\x00\x00H\x83\xc4X\xc3\xcc\xcc\xcc\xccH\x83\xec(\xff\x15\xc6 \x00\x00H\x8b\xc83\xd2\xff\x15C!\x00\x003\xc0H\x83\xc4(\xc3\xcc\xcc\xcc\xcc@SH\x83\xec H\x8d\x15\x9b)\x00\x00H\x8b\xd9\xe8[\xfa\xff\xffH\x8d\x15\xa4)\x00\x00H\x8b\xcb\xe8L\xfa\xff\xffH\x8d\x15\xad)\x00\x00H\x8b\xcb\xe8=\xfa\xff\xffH\x8d\x15\xb6)\x00\x00H\x8b\xcb\xe8.\xfa\xff\xffH\x8d\x15\xbf)\x00\x00H\x8b\xcb\xe8\x1f\xfa\xff\xff3\xc0H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9\xff\x15i!\x00\x00\x84\xc0u\nH\x8b\x0b\xff\x15\x1c!\x00\x00\x90H\x8b\x0bH\x8b\x01HcP\x04H\x8bL\nHH\x85\xc9t\x07H\x8b\x01\xffP\x10\x90H\x83\xc4 [\xc3\xcc\xccH\x83\xec(H\x8b\x11H\x8b\x02HcH\x04H\x8bL\x11HH\x85\xc9t\x07H\x8b\x01\xffP\x10\x90H\x83\xc4(\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccH\x89\\$\x18H\x89T$\x10H\x89L$\x08VWAVH\x83\xec0H\x8b\xf13\xdb\x89\\$XH\x8b\x01HcP\x04H\x8b|\n(H\x83\xff\x17|\x06H\x83\xc7\xea\xeb\x023\xffL\x8b\xf6H\x89t$ H\x8bL\nHH\x85\xc9t\x07H\x8b\x01\xffP\x08\x90H\x8b\x06HcH\x04H\x03\xce\xff\x15\x8d \x00\x00\x84\xc0t0H\x8b\x06HcH\x04H\x8bL1PH\x85\xc9t\x1dH;\xcet\x18\xff\x15M \x00\x00H\x8b\x06HcH\x04H\x03\xce\xff\x15] \x00\x00\xeb\x02\xb0\x01\x88D$(\x84\xc0u\n\xbb\x04\x00\x00\x00\xe9\xb4\x00\x00\x00H\x8b\x06HcH\x04\x8bD1\x18%\xc0\x01\x00\x00\x83\xf8@t-f\x90H\x85\xff~&H\x8b\x06HcH\x04\x0f\xb6T1XH\x8bL1H\xff\x15\x1c \x00\x00\x83\xf8\xffu\x05\x8dX\x05\xebSH\xff\xcf\xeb\xd5H\x8b\x06HcH\x04A\xb8\x16\x00\x00\x00H\x8d\x15\xc1\'\x00\x00H\x8bL1H\xff\x15\x0e \x00\x00H\x83\xf8\x16u&H\x85\xff~(H\x8b\x06HcH\x04\x0f\xb6T1XH\x8bL1H\xff\x15\xcc\x1f\x00\x00\x83\xf8\xfft\x05H\xff\xcf\xeb\xda\x83\xcb\x04\x89\\$XH\x8b\x06HcH\x04H\xc7D1(\x00\x00\x00\x00\xeb\x0eH\x8bt$P\x8b\\$XL\x8bt$ H\x8b\x06HcH\x04H\x03\xceE3\xc0\x8b\xd3\xff\x15f\x1f\x00\x00\x90\xff\x15\x8f\x1f\x00\x00\x84\xc0u\nI\x8b\xce\xff\x15B\x1f\x00\x00\x90I\x8b\x06HcH\x04J\x8bL1HH\x85\xc9t\x07H\x8b\x01\xffP\x10\x90H\x8b\xc6H\x8b\\$`H\x83\xc40A^_^\xc3@SH\x83\xec H\x8b\x01H\x8b\xd9\xb2\nHcH\x04H\x03\xcb\xff\x15U\x1f\x00\x00\x0f\xb6\xd0H\x8b\xcb\xff\x159\x1f\x00\x00H\x8b\xcb\xff\x15\xf0\x1e\x00\x00H\x8b\xc3H\x83\xc4 [\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xccH3\xc0eH\x8b\x04%`\x00\x00\x00H\x8b@\x02H%\xff\x00\x00\x00\xc3H3\xc0eH\x8b\x04%`\x00\x00\x00H\x8b\x80\xbc\x00\x00\x00H\x83\xe0p\xc3H3\xc0PQXYH+\xc8H\xc1\xe1\x04\xc3H3\xc0PQXYH+\xc8H\xc1\xe1\x04\xc3\x0f1H\x89\x11H\x89A\x08H3\xc0H\xc7\xc0\x05\x00\x00\x00H\xc1\xe8\x02H+\xc3H;\xc1\x0f1H\x89Q\x10H\x89A\x18\xc3\xcd-\x90\xcc\x9c\x80L$\x01\x01\x9d\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xccff\x0f\x1f\x84\x00\x00\x00\x00\x00H;\r\x89M\x00\x00u\x10H\xc1\xc1\x10f\xf7\xc1\xff\xffu\x01\xc3H\xc1\xc9\x10\xe96\x00\x00\x00\xcc\xcc@SH\x83\xec H\x8b\xd93\xc9\xff\x15\xcf\x1d\x00\x00H\x8b\xcb\xff\x15\xbe\x1d\x00\x00\xff\x15\x10\x1d\x00\x00H\x8b\xc8\xba\t\x04\x00\xc0H\x83\xc4 [H\xff%\x84\x1d\x00\x00H\x89L$\x08H\x83\xec8\xb9\x17\x00\x00\x00\xff\x15\xa0\x1d\x00\x00\x85\xc0t\x07\xb9\x02\x00\x00\x00\xcd)H\x8d\r\xd6N\x00\x00\xe8\xa9\x00\x00\x00H\x8bD$8H\x89\x05\xbdO\x00\x00H\x8dD$8H\x83\xc0\x08H\x89\x05MO\x00\x00H\x8b\x05\xa6O\x00\x00H\x89\x05\x17N\x00\x00H\x8bD$@H\x89\x05\x1bO\x00\x00\xc7\x05\xf1M\x00\x00\t\x04\x00\xc0\xc7\x05\xebM\x00\x00\x01\x00\x00\x00\xc7\x05\xf5M\x00\x00\x01\x00\x00\x00\xb8\x08\x00\x00\x00Hk\xc0\x00H\x8d\r\xedM\x00\x00H\xc7\x04\x01\x02\x00\x00\x00\xb8\x08\x00\x00\x00Hk\xc0\x00H\x8b\r\x95L\x00\x00H\x89L\x04 \xb8\x08\x00\x00\x00Hk\xc0\x01H\x8b\r\xc0L\x00\x00H\x89L\x04 H\x8d\r\x14\x1f\x00\x00\xe8\xff\xfe\xff\xffH\x83\xc48\xc3\xcc\xcc@SVWH\x83\xec@H\x8b\xd9\xff\x15\xef\x1c\x00\x00H\x8b\xb3\xf8\x00\x00\x003\xffE3\xc0H\x8dT$`H\x8b\xce\xff\x15\x95\x1c\x00\x00H\x85\xc0t9H\x83d$8\x00H\x8dL$hH\x8bT$`L\x8b\xc8H\x89L$0L\x8b\xc6H\x8dL$pH\x89L$(3\xc9H\x89\\$ \xff\x15f\x1c\x00\x00\xff\xc7\x83\xff\x02|\xb1H\x83\xc4@_^[\xc3\xcc\xcc\xcc@SH\x83\xec H\x8b\xd9\xeb\x0fH\x8b\xcb\xe8\xe5\x0b\x00\x00\x85\xc0t\x13H\x8b\xcb\xe8\xdf\x0b\x00\x00H\x85\xc0t\xe7H\x83\xc4 [\xc3H\x83\xfb\xfft\x06\xe8\xb7\x03\x00\x00\xcc\xe8\xd1\x03\x00\x00\xcc\xe9\xeb\x03\x00\x00\xcc\xcc\xcc@SH\x83\xec H\x8d\x05[\x1e\x00\x00H\x8b\xd9H\x89\x01\xf6\xc2\x01t\n\xba\x18\x00\x00\x00\xe8\xd6\xff\xff\xffH\x8b\xc3H\x83\xc4 [\xc3\xccH\x83\xec(\x85\xd2t9\x83\xea\x01t(\x83\xea\x01t\x16\x83\xfa\x01t\n\xb8\x01\x00\x00\x00H\x83\xc4(\xc3\xe8:\x05\x00\x00\xeb\x05\xe8\x0b\x05\x00\x00\x0f\xb6\xc0H\x83\xc4(\xc3I\x8b\xd0H\x83\xc4(\xe9\x0f\x00\x00\x00M\x85\xc0\x0f\x95\xc1H\x83\xc4(\xe9\x18\x01\x00\x00H\x89\\$\x08H\x89t$\x10H\x89|$ AVH\x83\xec H\x8b\xf2L\x8b\xf13\xc9\xe8\xaa\x05\x00\x00\x84\xc0\x0f\x84\xc8\x00\x00\x00\xe81\x04\x00\x00\x8a\xd8\x88D$@@\xb7\x01\x83=\xadQ\x00\x00\x00\x0f\x85\xc5\x00\x00\x00\xc7\x05\x9dQ\x00\x00\x01\x00\x00\x00\xe8|\x04\x00\x00\x84\xc0tO\xe8w\x08\x00\x00\xe8\xbe\x03\x00\x00\xe8\xdd\x03\x00\x00H\x8d\x156\x1d\x00\x00H\x8d\r\'\x1d\x00\x00\xe8\xd0\n\x00\x00\x85\xc0u)\xe8\x19\x04\x00\x00\x84\xc0t H\x8d\x15\x06\x1d\x00\x00H\x8d\r\xf7\x1c\x00\x00\xe8\xaa\n\x00\x00\xc7\x05HQ\x00\x00\x02\x00\x00\x00@2\xff\x8a\xcb\xe8~\x06\x00\x00@\x84\xffu?\xe8\xc4\x06\x00\x00H\x8b\xd8H\x838\x00t$H\x8b\xc8\xe8\xcb\x05\x00\x00\x84\xc0t\x18L\x8b\xc6\xba\x02\x00\x00\x00I\x8b\xceH\x8b\x03L\x8b\r\x82\x1c\x00\x00A\xff\xd1\xff\x05\xd9P\x00\x00\xb8\x01\x00\x00\x00\xeb\x023\xc0H\x8b\\$0H\x8bt$8H\x8b|$HH\x83\xc4 A^\xc3\xb9\x07\x00\x00\x00\xe8x\x06\x00\x00\x90\xcc\xcc\xccH\x89\\$\x08WH\x83\xec0@\x8a\xf9\x8b\x05\x99P\x00\x00\x85\xc0\x7f\r3\xc0H\x8b\\$@H\x83\xc40_\xc3\xff\xc8\x89\x05\x80P\x00\x00\xe8\x17\x03\x00\x00\x8a\xd8\x88D$ \x83=\x96P\x00\x00\x02u3\xe8+\x04\x00\x00\xe8\xce\x02\x00\x00\xe8\xa9\x07\x00\x00\x83%~P\x00\x00\x00\x8a\xcb\xe8\xb7\x05\x00\x003\xd2@\x8a\xcf\xe8\xd1\x05\x00\x00\x0f\xb6\xd8\xe81\x04\x00\x00\x8b\xc3\xeb\xa6\xb9\x07\x00\x00\x00\xe8\xf7\x05\x00\x00\x90\x90\xccH\x8b\xc4H\x89X L\x89@\x18\x89P\x10H\x89H\x08VWAVH\x83\xec@I\x8b\xf0\x8b\xfaL\x8b\xf1\x85\xd2u\x0f9\x15\x00P\x00\x00\x7f\x073\xc0\xe9\xee\x00\x00\x00\x8dB\xff\x83\xf8\x01wEH\x8b\x05\x18\x1c\x00\x00H\x85\xc0u\n\xc7D$0\x01\x00\x00\x00\xeb\x14\xff\x15s\x1b\x00\x00\x8b\xd8\x89D$0\x85\xc0\x0f\x84\xb2\x00\x00\x00L\x8b\xc6\x8b\xd7I\x8b\xce\xe8\xa4\xfd\xff\xff\x8b\xd8\x89D$0\x85\xc0\x0f\x84\x97\x00\x00\x00L\x8b\xc6\x8b\xd7I\x8b\xce\xe8}\xf2\xff\xff\x8b\xd8\x89D$0\x83\xff\x01u6\x85\xc0u2L\x8b\xc63\xd2I\x8b\xce\xe8a\xf2\xff\xffH\x85\xf6\x0f\x95\xc1\xe8\xca\xfe\xff\xffH\x8b\x05\x9f\x1b\x00\x00H\x85\xc0t\x0eL\x8b\xc63\xd2I\x8b\xce\xff\x15\xfc\x1a\x00\x00\x85\xfft\x05\x83\xff\x03u@L\x8b\xc6\x8b\xd7I\x8b\xce\xe82\xfd\xff\xff\x8b\xd8\x89D$0\x85\xc0t)H\x8b\x05e\x1b\x00\x00H\x85\xc0u\t\x8dX\x01\x89\\$0\xeb\x14L\x8b\xc6\x8b\xd7I\x8b\xce\xff\x15\xb9\x1a\x00\x00\x8b\xd8\x89D$0\xeb\x063\xdb\x89\\$0\x8b\xc3H\x8b\\$xH\x83\xc4@A^_^\xc3\xcc\xcc\xccH\x89\\$\x08H\x89t$\x10WH\x83\xec I\x8b\xf8\x8b\xdaH\x8b\xf1\x83\xfa\x01u\x05\xe8\x87\x00\x00\x00L\x8b\xc7\x8b\xd3H\x8b\xceH\x8b\\$0H\x8bt$8H\x83\xc4 _\xe9\x8f\xfe\xff\xff\xcc\xcc\xccH\x83a\x10\x00H\x8d\x05\x14\x1b\x00\x00H\x89A\x08H\x8d\x05\xf9\x1a\x00\x00H\x89\x01H\x8b\xc1\xc3\xcc\xccH\x83\xecHH\x8dL$ \xe8\xd2\xff\xff\xffH\x8d\x15;,\x00\x00H\x8dL$ \xe8\xdb\x07\x00\x00\xccH\x83\xecHH\x8dL$ \xe8\xda\xe8\xff\xffH\x8d\x15\xeb,\x00\x00H\x8dL$ \xe8\xbb\x07\x00\x00\xcc\xe9\xdf\x07\x00\x00\xcc\xcc\xccH\x89\\$\x18UH\x8b\xecH\x83\xec0H\x8b\x05\xacG\x00\x00H\xbb2\xa2\xdf-\x99+\x00\x00H;\xc3utH\x83e\x10\x00H\x8dM\x10\xff\x15\x16\x18\x00\x00H\x8bE\x10H\x89E\xf0\xff\x15\x00\x18\x00\x00\x8b\xc0H1E\xf0\xff\x15\x8c\x17\x00\x00\x8b\xc0H\x8dM\x18H1E\xf0\xff\x15\x84\x17\x00\x00\x8bE\x18H\x8dM\xf0H\xc1\xe0 H3E\x18H3E\xf0H3\xc1H\xb9\xff\xff\xff\xff\xff\xff\x00\x00H#\xc1H\xb93\xa2\xdf-\x99+\x00\x00H;\xc3H\x0fD\xc1H\x89\x05)G\x00\x00H\x8b\\$PH\xf7\xd0H\x89\x05ZG\x00\x00H\x83\xc40]\xc3H\x8d\r\xadM\x00\x00H\xff%\x96\x17\x00\x00\xcc\xccH\x8d\r\x9dM\x00\x00\xe9\xf0\x06\x00\x00H\x8d\x05\xa1M\x00\x00\xc3H\x83\xec(\xe8\xa7\xe6\xff\xffH\x83\x08$\xe8\xe6\xff\xff\xffH\x83\x08\x02H\x83\xc4(\xc3\xccH\x83\xec(\xe8\x93\x06\x00\x00\x85\xc0t!eH\x8b\x04%0\x00\x00\x00H\x8bH\x08\xeb\x05H;\xc8t\x143\xc0\xf0H\x0f\xb1\rhM\x00\x00u\xee2\xc0H\x83\xc4(\xc3\xb0\x01\xeb\xf7\xcc\xcc\xccH\x83\xec(\xe8W\x06\x00\x00\x85\xc0t\x07\xe8\xa2\x04\x00\x00\xeb\x19\xe8\xef\xef\xff\xff\x8b\xc8\xe8\xa0\x06\x00\x00\x85\xc0t\x042\xc0\xeb\x07\xe8\x99\x06\x00\x00\xb0\x01H\x83\xc4(\xc3H\x83\xec(3\xc9\xe8-\x01\x00\x00\x84\xc0\x0f\x95\xc0H\x83\xc4(\xc3\xcc\xcc\xccH\x83\xec(\xe8\x8b\x06\x00\x00\x84\xc0u\x042\xc0\xeb\x12\xe8~\x06\x00\x00\x84\xc0u\x07\xe8u\x06\x00\x00\xeb\xec\xb0\x01H\x83\xc4(\xc3H\x83\xec(\xe8c\x06\x00\x00\xe8^\x06\x00\x00\xb0\x01H\x83\xc4(\xc3\xcc\xcc\xccH\x89\\$\x08H\x89l$\x10H\x89t$\x18WH\x83\xec I\x8b\xf9I\x8b\xf0\x8b\xdaH\x8b\xe9\xe8\xb0\x05\x00\x00\x85\xc0u\x16\x83\xfb\x01u\x11L\x8b\xc63\xd2H\x8b\xcdH\x8b\xc7\xff\x15\xfe\x17\x00\x00H\x8bT$X\x8bL$PH\x8b\\$0H\x8bl$8H\x8bt$@H\x83\xc4 _\xe9\xce\x05\x00\x00H\x83\xec(\xe8k\x05\x00\x00\x85\xc0t\x10H\x8d\rhL\x00\x00H\x83\xc4(\xe9\xc9\x05\x00\x00\xe8\xea\xee\xff\xff\x85\xc0u\x05\xe8\xc1\x05\x00\x00H\x83\xc4(\xc3H\x83\xec(3\xc9\xe8\xb9\x05\x00\x00H\x83\xc4(\xe9\xb0\x05\x00\x00H\x83\xec(\x85\xc9u\x07\xc6\x05!L\x00\x00\x01\xe8p\x03\x00\x00\xe8\x97\x05\x00\x00\x84\xc0u\x042\xc0\xeb\x14\xe8\x8a\x05\x00\x00\x84\xc0u\t3\xc9\xe8\x7f\x05\x00\x00\xeb\xea\xb0\x01H\x83\xc4(\xc3\xcc\xcc@SH\x83\xec \x80=\xe8K\x00\x00\x00\x8b\xd9ug\x83\xf9\x01wj\xe8\xd9\x04\x00\x00\x85\xc0t(\x85\xdbu$H\x8d\r\xd2K\x00\x00\xe81\x05\x00\x00\x85\xc0u\x10H\x8d\r\xdaK\x00\x00\xe8!\x05\x00\x00\x85\xc0t.2\xc0\xeb3f\x0fo\x05\xfd\x17\x00\x00H\x83\xc8\xff\xf3\x0f\x7f\x05\xa1K\x00\x00H\x89\x05\xaaK\x00\x00\xf3\x0f\x7f\x05\xaaK\x00\x00H\x89\x05\xb3K\x00\x00\xc6\x05}K\x00\x00\x01\xb0\x01H\x83\xc4 [\xc3\xb9\x05\x00\x00\x00\xe8\xfa\x00\x00\x00\xcc\xccH\x83\xec\x18L\x8b\xc1\xb8MZ\x00\x00f9\x05M\xd4\xff\xffuxHc\r\x80\xd4\xff\xffH\x8d\x15=\xd4\xff\xffH\x03\xca\x819PE\x00\x00u_\xb8\x0b\x02\x00\x00f9A\x18uTL+\xc2\x0f\xb7Q\x14H\x83\xc2\x18H\x03\xd1\x0f\xb7A\x06H\x8d\x0c\x80L\x8d\x0c\xcaH\x89\x14$I;\xd1t\x18\x8bJ\x0cL;\xc1r\n\x8bB\x08\x03\xc1L;\xc0r\x08H\x83\xc2(\xeb\xdf3\xd2H\x85\xd2u\x042\xc0\xeb\x14\x83z$\x00}\x042\xc0\xeb\n\xb0\x01\xeb\x062\xc0\xeb\x022\xc0H\x83\xc4\x18\xc3@SH\x83\xec \x8a\xd9\xe8\xc3\x03\x00\x003\xd2\x85\xc0t\x0b\x84\xdbu\x07H\x87\x15\xaaJ\x00\x00H\x83\xc4 [\xc3@SH\x83\xec \x80=\x9fJ\x00\x00\x00\x8a\xd9t\x04\x84\xd2u\x0c\xe8\x12\x04\x00\x00\x8a\xcb\xe8\x0b\x04\x00\x00\xb0\x01H\x83\xc4 [\xc3\xcc\xcc\xccH\x8d\x05\xc1J\x00\x00\xc3\x83%\xa9J\x00\x00\x00\xc3H\x89\\$\x08UH\x8d\xac$@\xfb\xff\xffH\x81\xec\xc0\x05\x00\x00\x8b\xd9\xb9\x17\x00\x00\x00\xff\x15\xfe\x13\x00\x00\x85\xc0t\x04\x8b\xcb\xcd)\xb9\x03\x00\x00\x00\xe8\xc4\xff\xff\xff3\xd2H\x8dM\xf0A\xb8\xd0\x04\x00\x00\xe8a\x03\x00\x00H\x8dM\xf0\xff\x15\xf1\x13\x00\x00H\x8b\x9d\xe8\x00\x00\x00H\x8d\x95\xd8\x04\x00\x00H\x8b\xcbE3\xc0\xff\x15\x97\x13\x00\x00H\x85\xc0t_\x00\x00\x00\x00\x00\x002_\x00\x00\x00\x00\x00\x00\xa2_\x00\x00\x00\x00\x00\x00\xbe_\x00\x00\x00\x00\x00\x00\x80_\x00\x00\x00\x00\x00\x00\xf6^\x00\x00\x00\x00\x00\x00\xd6_\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe^\x00\x00\x00\x00\x00\x00\xdc^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00X.\x00\x80\x01\x00\x00\x00X.\x00\x80\x01\x00\x00\x0001\x00\x80\x01\x00\x00\x00P1\x00\x80\x01\x00\x00\x00P1\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x071\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`q\x00\x80\x01\x00\x00\x00\x00r\x00\x80\x01\x00\x00\x00\x80K\x00\x80\x01\x00\x00\x00\x90$\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8K\x00\x80\x01\x00\x00\x00\xd0\x10\x00\x80\x01\x00\x00\x00\xb0\x10\x00\x80\x01\x00\x00\x00\xd0L\x00\x80\x01\x00\x00\x00\xd0\x10\x00\x80\x01\x00\x00\x00\xb0\x10\x00\x80\x01\x00\x00\x00bad allocation\x00\x00(M\x00\x80\x01\x00\x00\x00\xd0\x10\x00\x80\x01\x00\x00\x00\xb0\x10\x00\x80\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffUnknown exception\x00\x00\x00\x00\x00\x00\x00bad array new length\x00\x00\x00\x00SandboxieControlWndClass\x00\x00\x00\x00\x00\x00\x00\x00C:\\Sandboxie\x00\x00\x00\x00sbiedll.dll\x00\x00\x00\x00\x00O\x00l\x00l\x00y\x00D\x00b\x00g\x00 \x00-\x00 \x00[\x00C\x00P\x00U\x00]\x00\x00\x00I\x00m\x00m\x00u\x00n\x00i\x00t\x00y\x00 \x00D\x00e\x00b\x00u\x00g\x00g\x00e\x00r\x00 \x00-\x00 \x00[\x00C\x00P\x00U\x00]\x00\x00\x00\x00\x00\x00\x00c\x00h\x00e\x00a\x00t\x00e\x00n\x00g\x00i\x00n\x00e\x00-\x00x\x008\x006\x00_\x006\x004\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00o\x00l\x00l\x00y\x00d\x00b\x00g\x00.\x00e\x00x\x00e\x00\x00\x00i\x00d\x00a\x00.\x00e\x00x\x00e\x00\x00\x00i\x00d\x00a\x006\x004\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00r\x00a\x00d\x00a\x00r\x00e\x002\x00.\x00e\x00x\x00e\x00\x00\x00H\x00T\x00T\x00P\x00D\x00e\x00b\x00u\x00g\x00g\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00t\x00c\x00p\x00v\x00i\x00e\x00w\x00.\x00e\x00x\x00e\x00\x00\x00F\x00i\x00d\x00d\x00l\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00F\x00i\x00d\x00d\x00l\x00e\x00r\x00.\x00W\x00e\x00b\x00U\x00i\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00x\x003\x002\x00d\x00b\x00g\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00x\x006\x004\x00d\x00b\x00g\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00x\x009\x006\x00d\x00b\x00g\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00h\x00t\x00t\x00p\x00 \x00t\x00o\x00o\x00l\x00k\x00i\x00t\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x00t\x00t\x00p\x00d\x00e\x00b\x00u\x00g\x00g\x00e\x00r\x00u\x00i\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00w\x00i\x00r\x00e\x00s\x00h\x00a\x00r\x00k\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00f\x00i\x00d\x00d\x00l\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00c\x00h\x00a\x00r\x00l\x00e\x00s\x00.\x00e\x00x\x00e\x00\x00\x00p\x00r\x00o\x00c\x00e\x00s\x00s\x00h\x00a\x00c\x00k\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00H\x00T\x00T\x00P\x00D\x00e\x00b\x00u\x00g\x00g\x00e\x00r\x00U\x00I\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00v\x00m\x00t\x00o\x00o\x00l\x00s\x00d\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00v\x00g\x00a\x00u\x00t\x00h\x00s\x00e\x00r\x00v\x00i\x00c\x00e\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00v\x00m\x00a\x00c\x00t\x00h\x00l\x00p\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00v\x00m\x00s\x00r\x00v\x00c\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00v\x00m\x00u\x00s\x00r\x00v\x00c\x00.\x00e\x00x\x00e\x00\x00\x00p\x00r\x00l\x00_\x00c\x00c\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00p\x00r\x00l\x00_\x00t\x00o\x00o\x00l\x00s\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00k\x00s\x00d\x00u\x00m\x00p\x00e\x00r\x00c\x00l\x00i\x00e\x00n\x00t\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00k\x00s\x00d\x00u\x00m\x00p\x00e\x00r\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00p\x00y\x00i\x00n\x00j\x00e\x00c\x00t\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00\x00\x00\x00\x00N\x00a\x00t\x00i\x00v\x00e\x00I\x00n\x00j\x00e\x00c\x00t\x00o\x00r\x00.\x00e\x00x\x00e\x00\x00\x00\x00\x00[Warning] It is impossible to check process list.\x00\x00\x00\x00\x00\x00\x00q\x00e\x00m\x00u\x00-\x00g\x00a\x00.\x00e\x00x\x00e\x00\x00\x00O\x00L\x00L\x00Y\x00D\x00B\x00G\x00\x00\x00I\x00D\x00\x00\x00\x00\x00n\x00t\x00d\x00l\x00l\x00.\x00d\x00l\x00l\x00\x00\x00\x00\x00\x00\x00NtQueryInformationProcess\x00\x00\x00\x00\x00\x00\x00NtSetInformationThread\x00\x00KVMKVMKVM\x00\x00\x00\x00Microsoft Hv\x00VMwareVMware\x00XenVMMXenVMM\x00prl hyperv \x00VBoxVBoxVBox\x00\x00\x00Function hooking error\x00\x00PyRun_SimpleStringFlags\x00Py_SetProgramName\x00\x00\x00\x00\x00\x00\x00PyEval_InitThreads\x00\x00\x00\x00\x00\x00PyGILState_Release\x00\x00\x00\x00\x00\x00PyGILState_Ensure\x00\x00\x00\x00\x00\x00\x00@\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@p\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`B\x00\x80\x01\x00\x00\x00pB\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00tM\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00hB\x00\x80\x01\x00\x00\x00xB\x00\x80\x01\x00\x00\x00\x80B\x00\x80\x01\x00\x00\x00\x88B\x00\x80\x01\x00\x00\x00\x90B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\xee\xa1\xbfe\x00\x00\x00\x00\x02\x00\x00\x00_\x00\x00\x00\xd0M\x00\x00\xd05\x00\x00\x00\x00\x00\x00\xee\xa1\xbfe\x00\x00\x00\x00\x0c\x00\x00\x00\x14\x00\x00\x000N\x00\x0006\x00\x00\x00\x00\x00\x00\xee\xa1\xbfe\x00\x00\x00\x00\r\x00\x00\x00\xa4\x02\x00\x00DN\x00\x00D6\x00\x00\x00\x00\x00\x00\xee\xa1\xbfe\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x008q\x00\x00\xa8K\x00\x00\x80K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xc0K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x008q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00@\x00\x00\x00\xa8K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0p\x00\x00\xb8L\x00\x00\xf8K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00PM\x00\x00\x80L\x00\x00XL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80L\x00\x00XL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0p\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00@\x00\x00\x00\xb8L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8p\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00@\x00\x00\x00\x10M\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xa8L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8p\x00\x00\x10M\x00\x00\xd0L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00 L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00@L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08q\x00\x00\xf8L\x00\x00(M\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08q\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00@\x00\x00\x00\xf8L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x02\x80\x02\x80\x8cM\x00\x00,\x00\x00\x00\xb8M\x00\x00\x18\x00\x00\x00/#\x00\x00\xab#\x00\x00\xc0#\x00\x00y)\x00\x00\x8f)\x00\x00O,\x00\x00B-\x00\x00t-\x00\x00\x8f/\x00\x00\x94/\x00\x00\xde/\x00\x00\xd0"\x00\x00P\r\x00\x00\x880\x00\x00\x7f\x00\x00\x00\xb31\x00\x00\x92\x00\x00\x00RSDS\x94Tt\xd4\xc0p\x0cC\x82\xa5s;\xe61aC\x01\x00\x00\x00C:\\Users\\oxyn\\Desktop\\dev\\guardshield-main\\dll\\x64\\Release\\AntiDBG.pdb\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x1a\x00\x00\x00\x02\x00\x00\x00\x18\x00\x00\x00GCTL\x00\x10\x00\x00 !\x00\x00.text$mn\x00\x00\x00\x00 1\x00\x00@\x00\x00\x00.text$mn$00\x00`1\x00\x00\xe5\x00\x00\x00.text$x\x00\x00@\x00\x00`\x02\x00\x00.idata$5\x00\x00\x00\x00`B\x00\x008\x00\x00\x00.00cfg\x00\x00\x98B\x00\x00\x08\x00\x00\x00.CRT$XCA\x00\x00\x00\x00\xa0B\x00\x00\x08\x00\x00\x00.CRT$XCZ\x00\x00\x00\x00\xa8B\x00\x00\x08\x00\x00\x00.CRT$XIA\x00\x00\x00\x00\xb0B\x00\x00\x08\x00\x00\x00.CRT$XIZ\x00\x00\x00\x00\xb8B\x00\x00\x08\x00\x00\x00.CRT$XPA\x00\x00\x00\x00\xc0B\x00\x00\x08\x00\x00\x00.CRT$XPZ\x00\x00\x00\x00\xc8B\x00\x00\x08\x00\x00\x00.CRT$XTA\x00\x00\x00\x00\xd0B\x00\x00\x10\x00\x00\x00.CRT$XTZ\x00\x00\x00\x00\xe0B\x00\x00\xa0\x08\x00\x00.rdata\x00\x00\x80K\x00\x00\xf4\x01\x00\x00.rdata$r\x00\x00\x00\x00tM\x00\x00\\\x00\x00\x00.rdata$voltmd\x00\x00\x00\xd0M\x00\x00\x18\x03\x00\x00.rdata$zzzdbg\x00\x00\x00\xe8P\x00\x00\x08\x00\x00\x00.rtc$IAA\x00\x00\x00\x00\xf0P\x00\x00\x08\x00\x00\x00.rtc$IZZ\x00\x00\x00\x00\xf8P\x00\x00\x08\x00\x00\x00.rtc$TAA\x00\x00\x00\x00\x00Q\x00\x00\x08\x00\x00\x00.rtc$TZZ\x00\x00\x00\x00\x08Q\x00\x00\x80\x03\x00\x00.xdata\x00\x00\x88T\x00\x00\xf8\x00\x00\x00.xdata$x\x00\x00\x00\x00\x80U\x00\x00\x94\x00\x00\x00.edata\x00\x00\x14V\x00\x00\xb4\x00\x00\x00.idata$2\x00\x00\x00\x00\xc8V\x00\x00\x18\x00\x00\x00.idata$3\x00\x00\x00\x00\xe0V\x00\x00`\x02\x00\x00.idata$4\x00\x00\x00\x00@Y\x00\x00\x16\x08\x00\x00.idata$6\x00\x00\x00\x00\x00p\x00\x00\xb8\x00\x00\x00.data\x00\x00\x00\xb8p\x00\x00\x80\x00\x00\x00.data$r\x008q\x00\x00(\x00\x00\x00.data$rs\x00\x00\x00\x00`q\x00\x00\xf8\x05\x00\x00.bss\x00\x00\x00\x00\x00\x80\x00\x00\x84\x03\x00\x00.pdata\x00\x00\x00\x90\x00\x00`\x00\x00\x00.rsrc$01\x00\x00\x00\x00`\x90\x00\x00\x80\x01\x00\x00.rsrc$02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x1b\x04\x00\x1bR\x17p\x16`\x150\x01\x06\x02\x00\x062\x020\x01\n\x04\x00\n4\x06\x00\n2\x06p\x01\x04\x01\x00\x04B\x00\x00\x19\x13\x01\x00\x04b\x00\x00\x8c0\x00\x00(\x00\x00\x00\x19&\x05\x00\x15t\xb7\x00\x15\x01\xb4\x00\x06P\x00\x00\x8c0\x00\x00\x90\x05\x00\x00!\x08\x02\x00\x084\xb6\x00\xa0\x12\x00\x00\x1d\x15\x00\x00@Q\x00\x00\x19\x15\x02\x00\x06\xd2\x020\x8c0\x00\x00h\x00\x00\x00\x19\x13\x01\x00\x04\xa2\x00\x00\x8c0\x00\x00@\x00\x00\x00\x19\x19\x02\x00\x07\x01\xa1\x00\x8c0\x00\x00\xf0\x04\x00\x00\t\x06\x02\x00\x062\x020&0\x00\x00\x01\x00\x00\x00\xf8\x18\x00\x00\x05\x19\x00\x00\x01\x00\x00\x00\x05\x19\x00\x00\t\x06\x02\x00\x062\x020&0\x00\x00\x01\x00\x00\x00+\x19\x00\x002\x19\x00\x00\x01\x00\x00\x002\x19\x00\x00\t\x06\x02\x00\x062\x020&0\x00\x00\x01\x00\x00\x00K\x19\x00\x00R\x19\x00\x00\x01\x00\x00\x00R\x19\x00\x00\t\x04\x01\x00\x04"\x00\x00&0\x00\x00\x01\x00\x00\x00d\x19\x00\x00m\x19\x00\x00\x01\x00\x00\x00m\x19\x00\x00\t\x04\x01\x00\x04B\x00\x00&0\x00\x00\x01\x00\x00\x00\x84\x19\x00\x00\x8b\x19\x00\x00\x01\x00\x00\x00\x8b\x19\x00\x00\x19\x15\x02\x00\x06R\x020\x8c0\x00\x00(\x00\x00\x00\x01\x0f\x05\x00\x0f4\x18\x00\x0f\x01\x16\x00\x08p\x00\x00\x19\xe6\x05\x00\xe64\x9a\x00\t\x01\x98\x00\x02p\x00\x00\x8c0\x00\x00\xb8\x04\x00\x00\x19\x06\x02\x00\x062\x020 0\x00\x00\x84R\x00\x00h\x8dR\x00\x00\x93R\x00\x00\x02\x0e,0\x00\x00\x02h\x02\x00\x00\x19\x04\x01\x00\x04B\x00\x00 0\x00\x00\xa8R\x00\x00`\xadR\x00\x00\x026\x00\x19\x17\x06\x00\x174\x0c\x00\x17R\x13\xe0\x11p\x10` 0\x00\x00\xc8R\x00\x008\xd5R\x00\x00\xe9R\x00\x00\xfaR\x00\x00\n\n\xf0\x1f\x00\x00@:\xb0\x1f\x00\x00@08~,0\x00\x00\x02\x04\x04\x06\xf1R\x00\x00\x02\x11\x80x1\x00\x00=\x05\x0c\x9e\x00\\\x02\xb2\x06\xee\x04L\x00P\n\x00\x01\n\x02\x00\n2\x06P\x01\x00\x00\x00\x01\t\x01\x00\tb\x00\x00\x01\x08\x04\x00\x08r\x04p\x03`\x020\x11\x15\x08\x00\x15t\t\x00\x15d\x07\x00\x154\x06\x00\x152\x11\xe0&0\x00\x00\x02\x00\x00\x00D%\x00\x00\xb3%\x00\x00\xb31\x00\x00\x00\x00\x00\x00\x16&\x00\x00!&\x00\x00\xb31\x00\x00\x00\x00\x00\x00\x01\x06\x02\x00\x062\x02P\x11\n\x04\x00\n4\x08\x00\nR\x06p&0\x00\x00\x04\x00\x00\x00[&\x00\x00z&\x00\x00\xca1\x00\x00\x00\x00\x00\x00P&\x00\x00\x8e&\x00\x00\xe31\x00\x00\x00\x00\x00\x00\x97&\x00\x00\xa2&\x00\x00\xca1\x00\x00\x00\x00\x00\x00\x97&\x00\x00\xa3&\x00\x00\xe31\x00\x00\x00\x00\x00\x00\t\x1a\x06\x00\x1a4\x0f\x00\x1ar\x16\xe0\x14p\x13`&0\x00\x00\x01\x00\x00\x00\xd9&\x00\x00\xbf\'\x00\x00\xf71\x00\x00\xbf\'\x00\x00\x01\x06\x02\x00\x06R\x02P\x01\x0f\x06\x00\x0fd\x07\x00\x0f4\x06\x00\x0f2\x0bp\x01\x04\x01\x00\x04\x82\x00\x00\x01\r\x04\x00\r4\n\x00\rR\x06P\t\x04\x01\x00\x04"\x00\x00&0\x00\x00\x01\x00\x00\x00\xa7+\x00\x001,\x00\x00-2\x00\x001,\x00\x00\x01\x02\x01\x00\x02P\x00\x00\x01\x14\x08\x00\x14d\x08\x00\x14T\x07\x00\x144\x06\x00\x142\x10p\x01\x15\x05\x00\x154\xba\x00\x15\x01\xb8\x00\x06P\x00\x00\x01\x0f\x06\x00\x0fd\x06\x00\x0f4\x05\x00\x0f\x12\x0bp\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x02\x01\x00\x020\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x11\x00\x00\x00\x00\x00\x00\xa8T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x08U\x00\x000U\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\xe0T\x00\x00\x08U\x00\x000U\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08q\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x18\x00\x00\x00p\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\xb8p\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x18\x00\x00\x00\xb0\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0p\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x18\x00\x00\x00p\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x11\x00\x00\x00\x00\x00\x00\xc0T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xdaU\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\xa8U\x00\x00\xbcU\x00\x00\xd0U\x00\x00\xe0\x1b\x00\x00P\x1f\x00\x00\x80\x1a\x00\x00\x00\x1e\x00\x000\x1f\x00\x00\xe6U\x00\x00\xebU\x00\x00\xf7U\x00\x00\x02V\x00\x00\x0cV\x00\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00AntiDBG.dll\x00IsVm\x00hookProtect\x00isDebugged\x00isSandbox\x00kill\x00\x00\x00\x00\xe0V\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2Z\x00\x00\x00@\x00\x000X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xecZ\x00\x00PA\x00\x00\xc8W\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8]\x00\x00\xe8@\x00\x00\x98X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98^\x00\x00\xb8A\x00\x00HX\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac^\x00\x00hA\x00\x00\xc8X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0_\x00\x00\xe8A\x00\x00\x18Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02`\x00\x008B\x00\x000Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"`\x00\x00PB\x00\x00\xa8X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D`\x00\x00\xc8A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@Y\x00\x00\x00\x00\x00\x00TY\x00\x00\x00\x00\x00\x00hY\x00\x00\x00\x00\x00\x00\x84Y\x00\x00\x00\x00\x00\x00\x9aY\x00\x00\x00\x00\x00\x00\xacY\x00\x00\x00\x00\x00\x00\xc0Y\x00\x00\x00\x00\x00\x00\xd2Y\x00\x00\x00\x00\x00\x00\xe0Y\x00\x00\x00\x00\x00\x00\xf0Y\x00\x00\x00\x00\x00\x00\x04Z\x00\x00\x00\x00\x00\x00\x16Z\x00\x00\x00\x00\x00\x00,Z\x00\x00\x00\x00\x00\x00FZ\x00\x00\x00\x00\x00\x00VZ\x00\x00\x00\x00\x00\x00jZ\x00\x00\x00\x00\x00\x00\x88Z\x00\x00\x00\x00\x00\x00\x9aZ\x00\x00\x00\x00\x00\x00\xaeZ\x00\x00\x00\x00\x00\x00x`\x00\x00\x00\x00\x00\x00\x92`\x00\x00\x00\x00\x00\x00\xa6`\x00\x00\x00\x00\x00\x00\xc2`\x00\x00\x00\x00\x00\x00\xe0`\x00\x00\x00\x00\x00\x00\xfc`\x00\x00\x00\x00\x00\x00\x12a\x00\x00\x00\x00\x00\x00,a\x00\x00\x00\x00\x00\x00d`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\\\x00\x00\x00\x00\x00\x00\x9e\\\x00\x00\x00\x00\x00\x00\xe2\\\x00\x00\x00\x00\x00\x00"]\x00\x00\x00\x00\x00\x00v]\x00\x00\x00\x00\x00\x00\xb8]\x00\x00\x00\x00\x00\x00\x1e\\\x00\x00\x00\x00\x00\x00\xf8Z\x00\x00\x00\x00\x00\x004[\x00\x00\x00\x00\x00\x00\xda[\x00\x00\x00\x00\x00\x00V[\x00\x00\x00\x00\x00\x00\x9e[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdeZ\x00\x00\x00\x00\x00\x00\xd0Z\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00X^\x00\x00\x00\x00\x00\x00\x14^\x00\x00\x00\x00\x00\x00\xfc]\x00\x00\x00\x00\x00\x00La\x00\x00\x00\x00\x00\x00Ba\x00\x00\x00\x00\x00\x00\x8e^\x00\x00\x00\x00\x00\x00F^\x00\x00\x00\x00\x00\x00n^\x00\x00\x00\x00\x00\x00.^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(_\x00\x00\x00\x00\x00\x00L_\x00\x00\x00\x00\x00\x00\x1c_\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00T_\x00\x00\x00\x00\x00\x00f_\x00\x00\x00\x00\x00\x00>_\x00\x00\x00\x00\x00\x002_\x00\x00\x00\x00\x00\x00\xa2_\x00\x00\x00\x00\x00\x00\xbe_\x00\x00\x00\x00\x00\x00\x80_\x00\x00\x00\x00\x00\x00\xf6^\x00\x00\x00\x00\x00\x00\xd6_\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe^\x00\x00\x00\x00\x00\x00\xdc^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0^\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\x02GetCurrentProcess\x00\x92\x02GetModuleHandleA\x00\x00\x0c\x01CreateToolhelp32Snapshot\x00\x00\\\x02GetFileAttributesA\x00\x00P\x04Process32NextW\x00\x006\x02GetCurrentThread\x00\x00N\x04Process32FirstW\x00\x94\x00CloseHandle\x00\xe7\x03LoadLibraryW\x00\x00\x1a\x03GetThreadContext\x00\x00\xcd\x02GetProcAddress\x00\x003\x02GetCurrentProcessId\x00p\x04QueryPerformanceCounter\x00,\x03GetTickCount\x00\x00\xa0\x03IsDebuggerPresent\x00\x8e\x00CheckRemoteDebuggerPresent\x00\x00\x05\x06VirtualProtect\x00\x00\xc4\x05TerminateProcess\x00\x00\x95\x02GetModuleHandleW\x00\x00KERNEL32.dll\x00\x00\x11\x01FindWindowA\x00\x14\x01FindWindowW\x00USER32.dll\x00\x00\xb4\x02?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A\x00\x00\x1e\x05?uncaught_exception@std@@YA_NXZ\x00\xe1\x04?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z\x00\x004\x05?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z\x00\x00a\x04?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z\x00\x00\xde\x04?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z\x00\x00D\x02?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ\x00h\x03?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ\x00\xc5\x04?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z\x00\x06\x01??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z\x00\x00\x0c\x01??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z\x00\xc5\x03?good@ios_base@std@@QEBA_NXZ\x00\x00MSVCP140.dll\x00\x00\x00\x00__CxxFrameHandler4\x00\x00\x08\x00__C_specific_handler\x00\x00"\x00__std_exception_destroy\x00!\x00__std_exception_copy\x00\x00#\x00__std_terminate\x00\x01\x00_CxxThrowException\x00\x00%\x00__std_type_info_destroy_list\x00\x00>\x00memset\x00\x00VCRUNTIME140_1.dll\x00\x00VCRUNTIME140.dll\x00\x00\x00\x00__acrt_iob_func\x00J\x00_wcsicmp\x00\x00\x03\x00__stdio_common_vfprintf\x009\x00_invalid_parameter_noinfo_noreturn\x00\x00\x08\x00_callnewh\x00\x19\x00malloc\x00\x006\x00_initterm\x007\x00_initterm_e\x00\x18\x00free\x00\x00?\x00_seh_filter_dll\x00\x18\x00_configure_narrow_argv\x00\x003\x00_initialize_narrow_environment\x00\x004\x00_initialize_onexit_table\x00\x00"\x00_execute_onexit_table\x00\x16\x00_cexit\x00\x00api-ms-win-crt-runtime-l1-1-0.dll\x00api-ms-win-crt-stdio-l1-1-0.dll\x00api-ms-win-crt-string-l1-1-0.dll\x00\x00api-ms-win-crt-heap-l1-1-0.dll\x00\x00\xf5\x04RtlCaptureContext\x00\xfd\x04RtlLookupFunctionEntry\x00\x00\x04\x05RtlVirtualUnwind\x00\x00\xe6\x05UnhandledExceptionFilter\x00\x00\xa4\x05SetUnhandledExceptionFilter\x00\xa8\x03IsProcessorFeaturePresent\x007\x02GetCurrentThreadId\x00\x00\n\x03GetSystemTimeAsFileTime\x00\x8a\x03InitializeSListHead\x00<\x00memcpy\x00\x00=\x00memmove\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Hello world\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\xa2\xdf-\x99+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd] \xd2f\xd4\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf8B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.?AVbad_alloc@std@@\x00\x00\x00\x00\x00\xf8B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.?AVexception@std@@\x00\x00\x00\x00\x00\xf8B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.?AVbad_array_new_length@std@@\x00\x00\xf8B\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.?AVtype_info@@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x10\x00\x00e\x10\x00\x00\x08Q\x00\x00p\x10\x00\x00\xa3\x10\x00\x00\x14Q\x00\x00\xd0\x10\x00\x00\x13\x11\x00\x00\x1cQ\x00\x00p\x11\x00\x00\xad\x11\x00\x00\x14Q\x00\x00\xb0\x11\x00\x00\xed\x11\x00\x00\x14Q\x00\x00\xf0\x11\x00\x00\x03\x12\x00\x00(Q\x00\x00\x10\x12\x00\x00Y\x12\x00\x000Q\x00\x00`\x12\x00\x00\xa0\x12\x00\x00\x14Q\x00\x00\xa0\x12\x00\x00\x1d\x15\x00\x00@Q\x00\x00\x1d\x15\x00\x00\xdf\x15\x00\x00XQ\x00\x00\xe0\x15\x00\x00 \x16\x00\x00\x14Q\x00\x00 \x16\x00\x004\x16\x00\x00(Q\x00\x00@\x16\x00\x00S\x16\x00\x00(Q\x00\x00`\x16\x00\x00\x1e\x17\x00\x00lQ\x00\x00 \x17\x00\x00{\x17\x00\x00\x14Q\x00\x00\x80\x17\x00\x00\xe5\x17\x00\x00|Q\x00\x00\xf0\x17\x00\x00\x17\x18\x00\x00\x14Q\x00\x00 \x18\x00\x00\xd8\x18\x00\x00\x8cQ\x00\x00\xf0\x18\x00\x00\x15\x19\x00\x00\x9cQ\x00\x00 \x19\x00\x00?\x19\x00\x00\xbcQ\x00\x00@\x19\x00\x00_\x19\x00\x00\xdcQ\x00\x00`\x19\x00\x00{\x19\x00\x00\xfcQ\x00\x00\x80\x19\x00\x00\x92\x19\x00\x00\x1cR\x00\x00\xc0\x19\x00\x00u\x1a\x00\x00\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00@\x00\x00\x00`\xa2h\xa2p\xa2x\xa2\x80\xa2\x90\xa2\xe0\xa2\xe8\xa2\xf0\xa2\xf8\xa2\x08\xa3\x10\xa3\x18\xa3 \xa3(\xa30\xa3H\xa3P\xa3X\xa3\xc8\xa9\xe0\xa9\xe8\xa9p\xaa\x88\xaa\x90\xaa\x98\xaa\xa0\xaa\xa8\xaa\x00p\x00\x00\x10\x00\x00\x00\xb8\xa0\xe0\xa0\x08\xa18\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00''' -------------------------------------------------------------------------------- /guardshield/main.py: -------------------------------------------------------------------------------- 1 | from .dll_bytes import dll_bytes 2 | 3 | import guardshield.utils.cheatengine as cheatengine 4 | import guardshield.utils.dll_scan as dll_scan 5 | 6 | import os, ctypes, threading, time, tempfile, platform, subprocess, hashlib 7 | from ctypes import wintypes 8 | import win32api 9 | 10 | timeout = 0.1 11 | 12 | 13 | class AntiDebugger: 14 | 15 | def __init__(self, dll, settings): 16 | self.settings = settings 17 | self.dll = dll 18 | threading.Thread(target=self.cpp_detector).start() 19 | threading.Thread(target=self.file_monitor).start() 20 | 21 | def cpp_detector(self) -> None: 22 | while True: 23 | 24 | if self.dll.isDebugged() == 0: 25 | pass 26 | else: 27 | function_check = self.settings['on_detection'] 28 | if function_check != None: 29 | function_check() 30 | if self.settings['kill_on_debug'] == True: 31 | self.dll.kill() 32 | 33 | time.sleep(timeout) 34 | 35 | def file_monitor(self): 36 | res = cheatengine.monitor_dir(tempfile.gettempdir()) 37 | if res == True: 38 | function_check = self.settings['on_detection'] 39 | if function_check != None: 40 | function_check() 41 | if self.settings['kill_on_debug'] == True: 42 | self.dll.kill() 43 | 44 | 45 | class Security: 46 | 47 | dll = None 48 | 49 | def __init__(self, 50 | anti_debugger: bool = True, 51 | kill_on_debug: bool = True, 52 | detect_vm: bool = False, 53 | detect_sandbox: bool = False, 54 | on_detection = None 55 | 56 | ): 57 | 58 | self.load_dll() 59 | 60 | self.settings = { 61 | "anti_debugger" : anti_debugger, 62 | "kill_on_debug" : kill_on_debug, 63 | "on_detection" : on_detection, 64 | "detect_vm" : detect_vm, 65 | "detect_sandbox" : detect_sandbox, 66 | } 67 | 68 | def load_dll(self) -> None: 69 | #path = pkg_resources.resource_filename(__name__, 'lib.dll') 70 | 71 | temp_file = tempfile.NamedTemporaryFile(suffix='.dx', delete=False) 72 | os.add_dll_directory(os.path.dirname(temp_file.name)) 73 | temp_file.write(dll_bytes) 74 | temp_file.close() 75 | self.dll = ctypes.CDLL(temp_file.name) 76 | 77 | op = wintypes.DWORD(0) 78 | baseAddress = ctypes.c_int(win32api.GetModuleHandle(None)) 79 | ctypes.windll.kernel32.VirtualProtect( 80 | ctypes.pointer(baseAddress), 4096, 0x04, ctypes.pointer(op) 81 | ) 82 | ctypes.memset(ctypes.pointer(baseAddress), 4096, ctypes.sizeof(baseAddress)) 83 | 84 | 85 | def check_security(self) -> None: 86 | 87 | if self.settings['detect_vm'] == True: 88 | if self.check_vm() == True: 89 | 90 | function_check = self.settings['on_detection'] 91 | 92 | if function_check != None: function_check() 93 | 94 | return { 95 | "detected":True, 96 | "description": "vm detected" 97 | } 98 | 99 | if self.settings['detect_sandbox'] == True: 100 | if self.check_sandbox() == True: 101 | function_check = self.settings['on_detection'] 102 | 103 | if function_check != None: function_check() 104 | 105 | return { 106 | "detected":True, 107 | "description": "sandbox detected" 108 | } 109 | 110 | if self.settings['anti_debugger'] == True: 111 | AntiDebugger( 112 | dll = self.dll, 113 | settings = self.settings 114 | ) 115 | 116 | def monitor_dll_bytes(self): 117 | 118 | res = dll_scan.check_dll_bytes() 119 | if res == True: 120 | 121 | function_check = self.settings['on_detection'] 122 | if function_check != None: function_check() 123 | if self.settings['kill_on_debug'] == True: self.dll.kill() 124 | 125 | 126 | 127 | 128 | def anti_injection(self, python_dll: str): 129 | while True: 130 | try: 131 | self.dll.hookProtect(python_dll.encode('utf-16le')) 132 | break 133 | except: 134 | time.sleep(0.01) 135 | 136 | threading.Thread(target=self.monitor_dll_bytes).start() 137 | 138 | def check_vm(self) -> bool: 139 | if self.dll.IsVm() == 0: 140 | return False 141 | else: 142 | return True 143 | 144 | def force_kill(self): 145 | self.dll.kill() 146 | os.close() 147 | exit() 148 | 149 | def check_debug(self) -> bool: 150 | if self.dll.isDebugged() == 0: 151 | return False 152 | else: 153 | return True 154 | 155 | def check_sandbox(self) -> bool: 156 | if self.dll.isSandbox() == 0: 157 | return False 158 | else: 159 | return True 160 | 161 | def crash_pc(self) -> None: 162 | 163 | A=ctypes.POINTER(ctypes.c_int)() 164 | ctypes.windll.ntdll.RtlAdjustPrivilege( 165 | ctypes.c_uint(19), 166 | ctypes.c_uint(1), 167 | ctypes.c_uint(0), 168 | ctypes.byref(ctypes.c_int()) 169 | ) 170 | ctypes.windll.ntdll.NtRaiseHardError( 171 | ctypes.c_ulong(3221225595), 172 | ctypes.c_ulong(0), 173 | A, 174 | A, 175 | ctypes.c_uint(6), 176 | ctypes.byref(ctypes.c_uint()) 177 | ) 178 | 179 | def get_uuid(self) -> str: 180 | 181 | hash_value = 0 182 | for char in str(subprocess.check_output('wmic computersystem get model,manufacturer')): 183 | hash_value += ord(char) 184 | 185 | list_to_hash = [ 186 | platform.machine(), 187 | platform.processor(), 188 | platform.win32_edition(), 189 | platform.win32_is_iot(), 190 | str(subprocess.check_output('wmic csproduct get uuid')).split(f'\\r\\n')[1].strip(f'\\r').strip(), 191 | str(hash_value), 192 | "hwid by guardshield" 193 | ] 194 | 195 | return hashlib.sha256(str(list_to_hash).encode()).hexdigest() 196 | -------------------------------------------------------------------------------- /guardshield/utils/__pycache__/cheatengine.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/guardshield/utils/__pycache__/cheatengine.cpython-39.pyc -------------------------------------------------------------------------------- /guardshield/utils/__pycache__/dll_scan.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/guardshield/utils/__pycache__/dll_scan.cpython-39.pyc -------------------------------------------------------------------------------- /guardshield/utils/cheatengine.py: -------------------------------------------------------------------------------- 1 | import win32file 2 | import win32con 3 | import win32api 4 | import re 5 | 6 | FILE_LIST_DIRECTORY = 0x0001 7 | FILE_ACTION_ADDED = 0x00000001 8 | FILE_ACTION_REMOVED = 0x00000002 9 | 10 | ASYNC_TIMEOUT = 5000 11 | BUF_SIZE = 65536 12 | 13 | 14 | blacklist_strings = ('ADDRESSES.FIRST','ADDRESSES.TMP','MEMORY.FIRST','MEMORY.TMP','ADDRESSES.TMP.FILETEST','ADDRESSES.TMP.FI') 15 | blacklist_patterns = (r"ADDRESSES-\d+\.TMP", r"MEMORY-\d+\.TMP") 16 | 17 | def get_dir_handle(dir_name): 18 | flags_and_attributes = win32con.FILE_FLAG_BACKUP_SEMANTICS 19 | dir_handle = win32file.CreateFile( 20 | dir_name, 21 | FILE_LIST_DIRECTORY, 22 | (win32con.FILE_SHARE_READ | 23 | win32con.FILE_SHARE_WRITE | 24 | win32con.FILE_SHARE_DELETE), 25 | None, 26 | win32con.OPEN_EXISTING, 27 | flags_and_attributes, 28 | None 29 | ) 30 | return dir_handle 31 | 32 | def read_dir_changes(dir_handle, size_or_buf, overlapped): 33 | return win32file.ReadDirectoryChangesW( 34 | dir_handle, 35 | size_or_buf, 36 | True, 37 | (win32con.FILE_NOTIFY_CHANGE_FILE_NAME | 38 | win32con.FILE_NOTIFY_CHANGE_DIR_NAME | 39 | win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES | 40 | win32con.FILE_NOTIFY_CHANGE_SIZE | 41 | win32con.FILE_NOTIFY_CHANGE_LAST_WRITE | 42 | win32con.FILE_NOTIFY_CHANGE_SECURITY), 43 | overlapped, 44 | None 45 | ) 46 | 47 | def handle_results(results): 48 | for item in results: 49 | _action, _ = item 50 | for i in blacklist_strings: 51 | if i in _: 52 | return True 53 | for i in blacklist_patterns: 54 | matches = re.findall(i, _) 55 | if matches: 56 | return True 57 | return False 58 | 59 | def monitor_dir_sync(dir_handle): 60 | idx = 0 61 | while True: 62 | idx += 1 63 | results = read_dir_changes(dir_handle, BUF_SIZE, None) 64 | res = handle_results(results) 65 | if res == True: 66 | return True 67 | 68 | def monitor_dir(dir_name): 69 | dir_handle = get_dir_handle(dir_name) 70 | res = monitor_dir_sync(dir_handle) 71 | win32api.CloseHandle(dir_handle) 72 | return res 73 | 74 | 75 | -------------------------------------------------------------------------------- /guardshield/utils/dll_scan.py: -------------------------------------------------------------------------------- 1 | 2 | import ctypes.wintypes 3 | import time 4 | 5 | PROCESS_QUERY_INFORMATION = 0x0400 6 | PROCESS_VM_READ = 0x0010 7 | MAX_MODULE_NAME32 = 255 8 | 9 | class MODULEENTRY32(ctypes.Structure): 10 | _fields_ = [ 11 | ("dwSize", ctypes.wintypes.DWORD), 12 | ("th32ModuleID", ctypes.wintypes.DWORD), 13 | ("th32ProcessID", ctypes.wintypes.DWORD), 14 | ("GlblcntUsage", ctypes.wintypes.DWORD), 15 | ("ProccntUsage", ctypes.wintypes.DWORD), 16 | ("modBaseAddr", ctypes.POINTER(ctypes.c_byte)), 17 | ("modBaseSize", ctypes.wintypes.DWORD), 18 | ("hModule", ctypes.wintypes.HMODULE), 19 | ("szModule", ctypes.c_char * (MAX_MODULE_NAME32 + 1)), 20 | ("szExePath", ctypes.c_char * ctypes.wintypes.MAX_PATH) 21 | ] 22 | 23 | 24 | def read_bytes_from_file(file_path): 25 | with open(file_path, 'rb') as file: 26 | return file.read() 27 | 28 | def check_dll_bytes(): 29 | 30 | current_process = ctypes.windll.kernel32.GetCurrentProcessId() 31 | 32 | while True: 33 | 34 | blacklisted = ['PyInjector',"exec(base64.b64decode(b'","r.title('Python shell')",'de4pyhook3','DE4PYHOOKEEEEE99'] 35 | all_flags = ['Py_SetProgramName','PyEval_InitThreads','PyGILState_Ensure','Python311.dll','Python310.dll','Python39.dll','Python38.dll','Python37.dll','_pthread_cleanup_dest','_Unwind_GetRegionStart','_pthread_tryjoin','pthread_rwlock_tryrdlock','_pthread_rel_time_in_ms','_Unwind_Resume','__emutls_register_common','pthread_timechange_handler_np','_Unwind_Resume_or_Rethrow'] 36 | 37 | process_handle = ctypes.windll.kernel32.OpenProcess( 38 | PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, False, current_process) 39 | 40 | if process_handle: 41 | try: 42 | me32 = MODULEENTRY32() 43 | me32.dwSize = ctypes.sizeof(MODULEENTRY32) 44 | snapshot = ctypes.windll.kernel32.CreateToolhelp32Snapshot(8, current_process) 45 | if snapshot != -1: 46 | result = ctypes.windll.kernel32.Module32First(snapshot, ctypes.byref(me32)) 47 | 48 | while result: 49 | 50 | detections = 0 51 | module_path = me32.szExePath.decode() 52 | 53 | if module_path.endswith('.dll'): 54 | module_bytes = read_bytes_from_file(module_path) 55 | 56 | for bl in blacklisted: 57 | if (bytes(bl, encoding="utf8") in module_bytes): 58 | return True 59 | 60 | for flag in all_flags: 61 | if (bytes(flag, encoding="utf8") in module_bytes): 62 | detections += 1 63 | 64 | if detections >= 5: 65 | return True 66 | 67 | result = ctypes.windll.kernel32.Module32Next(snapshot, ctypes.byref(me32)) 68 | ctypes.windll.kernel32.CloseHandle(snapshot) 69 | 70 | finally: 71 | ctypes.windll.kernel32.CloseHandle(process_handle) 72 | 73 | time.sleep(0.0001) 74 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import setuptools, os 2 | 3 | def read(fname): 4 | return open(os.path.join(os.path.dirname(__file__), fname)).read() 5 | 6 | setuptools.setup( 7 | name="guardshield", 8 | version="1.1.6", 9 | author="Oxyn", 10 | author_email="oxyn.dev@gmail.com", 11 | description="Security lib", 12 | keywords = "python anti debugger security exe", 13 | packages=setuptools.find_packages(), 14 | package_data={'guardshield': ['utils/*']}, 15 | include_package_data=True, 16 | url='https://github.com/OxynDev/guardshield', 17 | zip_safe=False, 18 | license='MIT', 19 | long_description=read('README.md'), 20 | long_description_content_type='text/markdown' 21 | ) -------------------------------------------------------------------------------- /temp/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/temp/1.gif -------------------------------------------------------------------------------- /temp/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/temp/2.gif -------------------------------------------------------------------------------- /temp/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/temp/3.gif -------------------------------------------------------------------------------- /temp/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/temp/4.gif -------------------------------------------------------------------------------- /temp/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OxynDev/guardshield/eed16125d1beb8bd3b2dc0163b115294e9e5a01a/temp/banner.png -------------------------------------------------------------------------------- /test.py: -------------------------------------------------------------------------------- 1 | import guardshield 2 | 3 | 4 | # Custom function to be executed on debugger detection 5 | def debugger_detected(): 6 | print("Debugger detected!") 7 | 8 | # Create a Security instance with desired settings 9 | module = guardshield.Security( 10 | anti_debugger=False, # Enable debugger detection 11 | kill_on_debug=True, # Kill the application on detection 12 | ) 13 | 14 | print( 15 | "Ty print something xd" 16 | ) 17 | module.anti_injection(python_dll='python38.dll') 18 | while True: 19 | pass --------------------------------------------------------------------------------