уни-патч для линукса и для макоси - Страница 3
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 49

Комбинированный просмотр

  1. #1
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    патчер для линукса-x64 + python3
    код ниже сохранить в файл unipatch.py
    запускать так (либа бэкбейс должна быть рядом - в том же каталоге):
    python3 unipatch.py
    если предварительно выполнить:
    chmod +x unipatch.py
    , то запускать можно будеть так:
    ./unipatch.py
    заголовок файла теперь анализируется - место укола может меняться
    проверялось на питоне 3.6.8
    в строках 683,684 можно вписать желаемое число "спартанцев" (1,5,10,20,50), по-дефолту получите 100
    Код:
    #!/usr/bin/env python3
    import sys, os, glob, mmap
    
    pattern = bytearray(b'\x41\x81\x78\x08\x6C\x68\x73\x68')
    unipatch = bytearray(b'\
    \x51\x53\x52\x57\x56\xe8\x88\x13\x00\x00\x00\x00\x00\x00\x00\x00\
    \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\
    \x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\xa8\x00\x00\x00\x00\x00\
    \x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\
    \x00\x00\xb1\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x00\x00\x00\x00\
    \x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\xfa\x10\x00\x00\x00\x00\
    \x00\x00\x06\x11\x00\x00\x00\x00\x00\x00\xc4\x10\x00\x00\x00\x00\
    \x00\x00\xc8\x10\x00\x00\x00\x00\x00\x00\xcc\x10\x00\x00\x00\x00\
    \x00\x00\xd0\x10\x00\x00\x00\x00\x00\x00\xd4\x10\x00\x00\x00\x00\
    \x00\x00\xd5\x10\x00\x00\x00\x00\x00\x00\xd6\x10\x00\x00\x00\x00\
    \x00\x00\x1e\x11\x00\x00\x00\x00\x00\x00\x0e\x13\x00\x00\x00\x00\
    \x00\x00\x1a\x13\x00\x00\x00\x00\x00\x00\x7a\x23\x25\x41\x71\xcf\
    \x1d\x28\x01\x00\x00\x00\x01\x00\x00\x00\xfb\x13\x15\xea\x8f\xea\
    \x73\xea\xeb\xea\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
    \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
    \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xd0\xbc\x08\x3f\x28\
    \x30\x02\xe5\x6f\x3e\x39\xd4\x76\x9f\x6f\xd4\x76\x21\x57\x02\x41\
    \xc3\xcc\xd5\xa7\x4b\x4c\xc2\x81\x64\x84\x55\x76\x41\xe1\x5e\x2c\
    \x18\xa7\x6f\xf2\x08\xe1\x40\xa0\x4e\x94\xa7\x4a\xb5\x41\x53\x6d\
    \x48\xc3\x6d\xe4\xa4\xec\xc8\x9c\x27\x7d\xe0\x79\x51\xb1\x25\xc6\
    \xa1\x69\x14\xfb\x03\x7b\xc5\x1b\xe3\xef\xa3\x1e\x04\xb5\xa5\xe1\
    \x4e\xc8\x5d\x28\x99\x30\x10\x39\x2f\x8d\xb3\xe0\x95\xf0\x36\x91\
    \x56\x46\xc4\x75\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\x57\x42\x50\x54\x01\x00\x00\x00\x70\x00\x00\x00\
    \x00\x00\x21\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
    \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
    \x00\x00\x00\x00\x00\x00\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\
    \x00\x01\x02\x4a\x1f\x01\x18\x02\x08\x01\x14\x2c\x33\x00\xcb\x70\
    \x6d\x3b\xd6\xc5\x93\x1b\x0a\x00\x00\x00\x04\x00\x00\x00\xdb\x30\
    \x9a\x21\x2c\x25\xde\x65\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x00\
    \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
    \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
    \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\x08\
    \x97\xf2\x84\xcf\xdc\x4e\x1e\xbb\x55\x6e\x19\x91\x2d\x4a\x74\xa3\
    \x33\x7d\x33\x69\x30\xe3\x5c\x64\xe5\xd7\x5b\x51\xc3\xc4\x9d\x0f\
    \xf7\xd5\xf6\xa4\x34\x0e\xe5\xe5\x4b\x63\x44\x2e\x80\x73\x06\xf8\
    \x6a\xd1\x37\xba\x0f\x9a\xfd\x74\x7b\x5c\x89\xae\x3b\xac\x18\xbb\
    \x71\x8a\x9b\x85\x7c\x13\x1d\x9f\xbf\x55\x82\x70\x6d\x87\xda\x18\
    \x0a\xbd\xc4\x22\x05\xa5\x28\xd4\x54\xb2\xbc\x38\xf1\xf2\xe6\xf4\
    \x54\x09\x42\x4c\xb2\xe1\x1d\xab\x64\x00\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
    \xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x64\x00\
    \x00\x00\xfe\xff\x00\x01\x02\x4a\x1f\x01\x04\x07\x08\x01\x10\x34\
    \x07\x00\x5e\x48\x89\xc9\x48\x31\xc0\x48\x31\xd2\x8a\x41\x16\x89\
    \x06\x48\x89\xf3\x48\x83\xc6\x10\x48\x83\xf8\x01\x75\x0d\xc6\x41\
    \x28\x01\xc6\x41\x30\x00\xe9\x32\x02\x00\x00\x66\x8b\x51\x20\xc1\
    \xe2\x10\x66\x8b\x51\x24\x48\x8b\x3e\x3b\x14\x3e\x75\x02\x74\x10\
    \x48\x83\xc6\x50\x48\x8b\x3e\x3b\x14\x3e\x0f\x85\x0d\x02\x00\x00\
    \x89\x53\x04\x48\x89\x73\x08\x48\x83\xf8\x03\x74\x06\x48\x83\xf8\
    \x2c\x75\x21\x48\x03\x76\x38\x48\x31\xc0\x8b\x41\x28\x48\xd1\xe0\
    \x48\x0f\xb7\x04\x06\x89\x41\x2c\xc7\x41\x30\x00\x00\x00\x00\xe9\
    \xd9\x01\x00\x00\x48\x83\xf8\x04\x74\x06\x48\x83\xf8\x2d\x75\x21\
    \x48\x03\x76\x38\x48\x31\xc0\x8b\x41\x28\x66\x8b\x79\x2c\x48\xd1\
    \xe0\x66\x89\x3c\x06\xc7\x41\x30\x00\x00\x00\x00\xe9\xac\x01\x00\
    \x00\x48\x83\xf8\x05\x75\x2a\x48\x31\xc0\x48\x8b\x56\x18\x8b\x04\
    \x16\x89\x41\x28\x48\x8b\x56\x10\x8b\x04\x16\x89\x41\x2c\xc7\x41\
    \x30\x66\x00\x00\x00\xc7\x41\x34\x54\x64\x00\x00\xe9\x7c\x01\x00\
    \x00\x48\x83\xf8\x06\x74\x05\x83\xf8\x2e\x75\x22\x48\x03\x76\x08\
    \x48\x31\xc0\x8b\x06\x48\x0f\xb7\xf8\xc1\xe8\x10\x89\x79\x28\x89\
    \x41\x2c\xc7\x41\x30\x00\x00\x00\x00\xe9\x4f\x01\x00\x00\x48\x83\
    \xf8\x28\x75\x1a\xc7\x41\x28\x00\x00\x00\x00\xc7\x41\x2c\x00\x00\
    \x00\x00\xc7\x41\x30\x00\x00\x00\x00\xe9\x2f\x01\x00\x00\x48\x83\
    \xf8\x2a\x75\x0c\xc7\x41\x30\x00\x00\x00\x00\xe9\x1d\x01\x00\x00\
    \x48\x83\xf8\x2b\x75\x0c\xc7\x41\x30\x00\x00\x00\x00\xe9\x0b\x01\
    \x00\x00\x48\x83\xf8\x30\x75\x05\xe9\x00\x01\x00\x00\x48\x83\xf8\
    \x32\x74\x06\x48\x83\xf8\x34\x75\x32\x48\x03\x76\x38\x48\x31\xc0\
    \x48\x8b\x79\x40\x8b\x41\x28\x48\xd1\xe0\x48\x01\xc6\x48\x89\xc8\
    \x48\x31\xc9\x8b\x48\x2c\x9c\xfc\xf3\x66\xa5\x9d\x48\x89\xc1\xc7\
    \x41\x30\x00\x00\x00\x00\xe9\xc2\x00\x00\x00\x83\xf8\x33\x74\x06\
    \x48\x83\xf8\x33\x75\x35\x48\x03\x76\x38\x48\x31\xc0\x48\x8b\x79\
    \x40\x8b\x41\x28\x48\xd1\xe0\x48\x01\xc6\x48\x89\xc8\x48\x31\xc9\
    \x8b\x48\x2c\x48\x87\xf7\x9c\xfc\xf3\x66\xa5\x9d\x48\x89\xc1\xc7\
    \x41\x30\x00\x00\x00\x00\xe9\x82\x00\x00\x00\x83\xf8\x3c\x74\x05\
    \x83\xf8\x58\x75\x31\x83\x79\x2c\x08\x72\x72\x51\x48\x81\xec\x00\
    \x01\x00\x00\x49\x89\xe0\x48\x31\xd2\x8b\x51\x2c\x48\x8b\x49\x40\
    \xe8\x85\x0b\x00\x00\x48\x81\xc4\x00\x01\x00\x00\x59\xc7\x41\x30\
    \x00\x00\x00\x00\xeb\x47\x83\xf8\x3d\x74\x05\x83\xf8\x59\x75\x31\
    \x83\x79\x2c\x08\x72\x37\x51\x48\x31\xd2\x8b\x51\x2c\x48\x8b\x49\
    \x40\x48\x81\xec\x00\x01\x00\x00\x49\x89\xe0\xe8\x34\x10\x00\x00\
    \x48\x81\xc4\x00\x01\x00\x00\x59\xc7\x41\x30\x00\x00\x00\x00\xeb\
    \x0c\x83\xf8\x55\x75\x02\xeb\x05\xb8\x78\x56\x34\x12\x5e\x5f\x5a\
    \x5b\x59\xc3\x56\x57\x48\x89\xd6\x48\x89\xcf\x31\xc9\x44\x89\xc1\
    \xf3\xa4\x5f\x5e\xc3\x48\x89\x54\x24\x10\x89\x4c\x24\x08\x48\x83\
    \xec\x18\x8b\x44\x24\x20\x83\xe0\x1f\x89\x44\x24\x20\x8b\x44\x24\
    \x20\xc1\xe8\x02\x25\xfe\x00\x00\x00\x48\x8b\x4c\x24\x28\x0f\xb6\
    \x44\x01\x02\xb9\x1f\x00\x00\x00\x2b\x4c\x24\x20\x83\xe1\x07\xd3\
    \xf8\x83\xe0\x01\x88\x44\x24\x04\x0f\xb6\x44\x24\x04\x83\xf0\x01\
    \x8b\x4c\x24\x20\xc1\xe9\x03\x21\xc8\x8b\x4c\x24\x20\x31\xc1\x89\
    \xc8\x8b\x4c\x24\x20\xc1\xe9\x04\x31\xc8\x89\x04\x24\x48\x8b\x44\
    \x24\x28\x8b\x40\x0f\xc1\xe8\x0a\x8b\x0c\x24\x31\xc1\x89\xc8\x89\
    \x04\x24\x48\x8b\x44\x24\x28\x8b\x40\x0f\xc1\xe8\x07\x8b\x0c\x24\
    \x31\xc1\x89\xc8\x89\x04\x24\x8b\x44\x24\x20\x83\xe0\x02\x85\xc0\
    \x74\x15\x48\x8b\x44\x24\x28\x8b\x40\x0f\xc1\xe8\x05\x8b\x0c\x24\
    \x31\xc1\x89\xc8\x89\x04\x24\x8b\x44\x24\x20\x83\xe0\x04\x85\xc0\
    \x74\x15\x48\x8b\x44\x24\x28\x8b\x40\x0f\xc1\xe8\x08\x8b\x0c\x24\
    \x31\xc1\x89\xc8\x89\x04\x24\x8b\x04\x24\x83\xe0\x01\x89\x04\x24\
    \x8b\x44\x24\x20\x83\xe0\x01\xc1\xe0\x02\x48\x8b\x4c\x24\x28\x8b\
    \x49\x0f\x31\xc1\x89\xc8\x48\x8b\x4c\x24\x28\x89\x41\x0f\x48\x8b\
    \x44\x24\x28\x8b\x40\x0f\xd1\xe0\x48\x8b\x4c\x24\x28\x89\x41\x0f\
    \x48\x8b\x44\x24\x28\x8b\x0c\x24\x8b\x40\x0f\x09\xc8\x48\x8b\x4c\
    \x24\x28\x89\x41\x0f\x48\x8b\x44\x24\x28\x8b\x40\x0f\xc1\xe8\x0b\
    \x0f\xb6\x4c\x24\x04\x31\xc8\x83\xe0\x01\x48\x83\xc4\x18\xc3\x48\
    \x89\x54\x24\x10\x48\x89\x4c\x24\x08\x48\x83\xec\x48\xc7\x44\x24\
    \x30\x1f\x00\x00\x00\x48\x8b\x44\x24\x58\x8b\x40\x14\x89\x44\x24\
    \x20\x8b\x44\x24\x20\x35\x89\x19\x08\x01\x89\x44\x24\x20\x8b\x44\
    \x24\x20\xc1\xe8\x0c\x89\x44\x24\x20\xc7\x44\x24\x24\x0a\x00\x00\
    \x00\xeb\x0a\x8b\x44\x24\x24\xff\xc8\x89\x44\x24\x24\x83\x7c\x24\
    \x24\x05\x76\x69\x0f\xb6\x44\x24\x20\x83\xe0\x0f\x89\x44\x24\x2c\
    \x83\x7c\x24\x2c\x00\x74\x0a\xc7\x44\x24\x38\x01\x00\x00\x00\xeb\
    \x08\xc7\x44\x24\x38\x00\x00\x00\x00\x83\x7c\x24\x2c\x0b\x73\x0a\
    \xc7\x44\x24\x3c\x01\x00\x00\x00\xeb\x08\xc7\x44\x24\x3c\x00\x00\
    \x00\x00\x8b\x44\x24\x3c\x8b\x4c\x24\x38\x21\xc1\x89\xc8\x8b\x4c\
    \x24\x24\xd3\xe0\x8b\x4c\x24\x30\x09\xc1\x89\xc8\x89\x44\x24\x30\
    \x8b\x44\x24\x20\xc1\xe8\x04\x89\x44\x24\x20\xeb\x86\x8b\x44\x24\
    \x30\xc1\xe8\x06\x48\x8b\x4c\x24\x58\x88\x41\x13\x48\x8b\x44\x24\
    \x58\x0f\xb6\x40\x13\xc1\xe0\x06\x83\xc8\x1f\x48\x8b\x4c\x24\x58\
    \x89\x41\x0f\xc7\x44\x24\x24\x01\x00\x00\x00\xc7\x44\x24\x28\x00\
    \x00\x00\x00\xeb\x0a\x8b\x44\x24\x24\xff\xc0\x89\x44\x24\x24\x83\
    \x7c\x24\x24\x27\x77\x6a\x8b\x44\x24\x28\x48\x8b\x4c\x24\x50\x0f\
    \xb6\x04\x01\x48\x8b\x54\x24\x58\x89\xc1\xe8\xa6\xfd\xff\xff\x89\
    \x44\x24\x34\x48\x8b\x44\x24\x50\x8b\x00\x83\xe0\x01\xd1\xe0\x0b\
    \x44\x24\x34\x89\x44\x24\x28\x48\x8b\x44\x24\x50\x8b\x00\x83\xe0\
    \x01\x3b\x44\x24\x34\x75\x12\x48\x8b\x44\x24\x50\x8b\x00\xd1\xe8\
    \x48\x8b\x4c\x24\x50\x89\x01\xeb\x15\x48\x8b\x44\x24\x50\x8b\x00\
    \xd1\xe8\x35\x62\x00\x50\x80\x48\x8b\x4c\x24\x50\x89\x01\xeb\x85\
    \x48\x83\xc4\x48\xc3\x48\x89\x4c\x24\x08\x48\x83\xec\x48\x48\x8b\
    \x44\x24\x50\x0f\xb6\x40\x01\xc1\xf8\x05\x83\xe0\x01\x48\x8b\x4c\
    \x24\x50\x88\x41\x0a\x48\x8b\x44\x24\x50\x0f\xb6\x40\x02\xc1\xf8\
    \x07\x83\xe0\x01\x83\xf0\x01\x88\x44\x24\x24\x0f\xb6\x44\x24\x24\
    \x85\xc0\x74\x0e\x48\x8b\x44\x24\x50\x0f\xb6\x00\x89\x44\x24\x3c\
    \xeb\x0e\x48\x8b\x44\x24\x50\x0f\xb6\x00\xf7\xd0\x89\x44\x24\x3c\
    \x0f\xb6\x44\x24\x3c\x88\x44\x24\x26\xc7\x44\x24\x28\x00\x00\x00\
    \x00\x48\x8b\x44\x24\x50\x0f\xb6\x40\x01\x83\xe0\x1f\x88\x44\x24\
    \x25\xc7\x44\x24\x2c\x00\x00\x00\x00\xeb\x0a\x8b\x44\x24\x2c\xff\
    \xc0\x89\x44\x24\x2c\x83\x7c\x24\x2c\x04\x7d\x3d\x0f\xb6\x44\x24\
    \x28\xc0\xe0\x02\x88\x44\x24\x28\x0f\xb6\x44\x24\x25\x83\xe0\x01\
    \x0f\xb6\x4c\x24\x25\x83\xf1\x01\x83\xe1\x01\xd1\xe1\x09\xc8\x0f\
    \xb6\x4c\x24\x28\x09\xc1\x89\xc8\x88\x44\x24\x28\x0f\xb6\x44\x24\
    \x25\xd0\xe8\x88\x44\x24\x25\xeb\xb2\x0f\xb6\x44\x24\x28\x35\xff\
    \x00\x00\x00\x88\x44\x24\x2a\x0f\xb6\x44\x24\x28\x88\x44\x24\x29\
    \x0f\xb6\x44\x24\x2a\x88\x44\x24\x2b\xc7\x44\x24\x2c\x00\x00\x00\
    \x00\xeb\x0a\x8b\x44\x24\x2c\xff\xc0\x89\x44\x24\x2c\x83\x7c\x24\
    \x2c\x08\x0f\x8d\x9f\x00\x00\x00\x8b\x44\x24\x2c\x83\xc0\x08\xc1\
    \xf8\x02\x25\xfe\x00\x00\x00\x48\x98\x48\x8b\x4c\x24\x50\x0f\xb6\
    \x44\x01\x02\x8b\x4c\x24\x2c\x83\xc1\x08\xba\x1f\x00\x00\x00\x29\
    \xca\x89\xd1\x83\xe1\x07\xd3\xf8\x83\xe0\x01\x0f\xb6\x4c\x24\x25\
    \x31\xc8\x8b\x4c\x24\x2c\xd3\xe0\x0f\xb6\x4c\x24\x29\x31\xc1\x89\
    \xc8\x88\x44\x24\x29\x8b\x44\x24\x2c\x83\xc0\x18\xc1\xf8\x02\x25\
    \xfe\x00\x00\x00\x48\x98\x48\x8b\x4c\x24\x50\x0f\xb6\x44\x01\x02\
    \x8b\x4c\x24\x2c\x83\xc1\x18\xba\x1f\x00\x00\x00\x29\xca\x89\xd1\
    \x83\xe1\x07\xd3\xf8\x83\xe0\x01\x0f\xb6\x4c\x24\x25\x31\xc8\x8b\
    \x4c\x24\x2c\xd3\xe0\x0f\xb6\x4c\x24\x2b\x31\xc1\x89\xc8\x88\x44\
    \x24\x2b\xe9\x4c\xff\xff\xff\x48\x8b\x44\x24\x50\xc7\x40\x0b\x00\
    \x00\x00\x00\xc7\x44\x24\x20\x00\x00\x00\x00\xc7\x44\x24\x30\x1f\
    \x00\x00\x00\xeb\x0a\x8b\x44\x24\x30\xff\xc8\x89\x44\x24\x30\x83\
    \x7c\x24\x30\x00\x0f\x8c\xa4\x00\x00\x00\x0f\xb6\x44\x24\x26\xc1\
    \xe0\x03\x48\x8b\x4c\x24\x50\x89\x41\x0f\xc7\x44\x24\x38\x00\x00\
    \x00\x00\xeb\x0a\x8b\x44\x24\x38\xff\xc0\x89\x44\x24\x38\x83\x7c\
    \x24\x38\x0c\x7d\x14\x48\x8b\x54\x24\x50\x8b\x4c\x24\x30\xe8\xa6\
    \x00\x00\x00\x88\x44\x24\x34\xeb\xdb\x8b\x44\x24\x20\xd1\xe0\x89\
    \x44\x24\x20\x8b\x44\x24\x30\xc1\xf8\x02\x25\xfe\x00\x00\x00\x48\
    \x98\x48\x8b\x4c\x24\x50\x0f\xb6\x44\x01\x02\xb9\x1f\x00\x00\x00\
    \x2b\x4c\x24\x30\x83\xe1\x07\xd3\xf8\x83\xe0\x01\x8b\x4c\x24\x30\
    \x83\xe1\x01\x31\xc8\x8b\x4c\x24\x30\x8b\x54\x24\x28\xd3\xea\x89\
    \xd1\x83\xe1\x01\x31\xc8\x0f\xb6\x4c\x24\x34\x31\xc8\x8b\x4c\x24\
    \x20\x09\xc1\x89\xc8\x89\x44\x24\x20\xe9\x47\xff\xff\xff\x48\x8b\
    \x44\x24\x50\x8b\x4c\x24\x20\x89\x48\x0b\x0f\xb6\x44\x24\x26\xc1\
    \xe0\x03\x0f\xb6\x4c\x24\x24\xc1\xe1\x02\x09\xc8\x0f\xb6\x4c\x24\
    \x24\xd1\xe1\x09\xc8\x0f\xb6\x4c\x24\x24\x09\xc8\x48\x8b\x4c\x24\
    \x50\x89\x41\x0f\x48\x83\xc4\x48\xc3\x48\x89\x54\x24\x10\x89\x4c\
    \x24\x08\x48\x83\xec\x28\x8b\x44\x24\x30\x83\xe0\x1f\x89\x44\x24\
    \x30\x8b\x44\x24\x30\xd1\xe8\x83\xe0\x03\xe8\x10\x00\x00\x00\x80\
    \x04\x00\x00\xa0\x04\x00\x00\x80\x05\x00\x00\xa0\x05\x00\x00\x59\
    \x8b\x04\x81\x89\x44\x24\x04\xc7\x44\x24\x08\x00\x00\x00\x00\xc7\
    \x44\x24\x0c\x00\x00\x00\x00\xeb\x0a\x8b\x44\x24\x0c\xff\xc0\x89\
    \x44\x24\x0c\x83\x7c\x24\x0c\x0c\x7d\x3d\x8b\x44\x24\x0c\x0f\xb6\
    \xc8\x8b\x44\x24\x04\xd3\xe8\x83\xe0\x01\x85\xc0\x74\x27\x8b\x44\
    \x24\x0c\x48\x8b\x4c\x24\x38\x48\x89\x4c\x24\x10\x0f\xb6\xc8\x48\
    \x8b\x44\x24\x10\x8b\x40\x0f\xd3\xe8\x8b\x4c\x24\x08\x31\xc1\x89\
    \xc8\x89\x44\x24\x08\xeb\xb2\x8b\x44\x24\x30\x83\xe0\x01\xc1\xe0\
    \x02\x48\x8b\x4c\x24\x38\x8b\x49\x0f\x31\xc1\x89\xc8\x48\x8b\x4c\
    \x24\x38\x89\x41\x0f\x8b\x44\x24\x30\xc1\xe8\x02\x25\xfe\x00\x00\
    \x00\x48\x8b\x4c\x24\x38\x0f\xb6\x44\x01\x02\xb9\x1f\x00\x00\x00\
    \x2b\x4c\x24\x30\x83\xe1\x07\xd3\xf8\x83\xe0\x01\x48\x8b\x4c\x24\
    \x38\x0f\xb6\x49\x0a\x31\xc8\x88\x04\x24\x48\x8b\x44\x24\x38\x8b\
    \x40\x0f\xd1\xe0\x0f\xb6\x0c\x24\x8b\x54\x24\x08\x31\xca\x89\xd1\
    \x83\xe1\x01\x09\xc8\x48\x8b\x4c\x24\x38\x89\x41\x0f\x8b\x44\x24\
    \x30\x48\x8b\x4c\x24\x38\x48\x89\x4c\x24\x18\x0f\xb6\xc8\x48\x8b\
    \x44\x24\x18\x8b\x40\x0b\xd3\xe8\x83\xe0\x01\x48\x8b\x4c\x24\x38\
    \x8b\x49\x0f\x31\xc1\x89\xc8\x48\x8b\x4c\x24\x38\x89\x41\x0f\x48\
    \x8b\x44\x24\x38\x8b\x40\x0f\xc1\xe8\x0b\x0f\xb6\x0c\x24\x31\xc8\
    \x83\xe0\x01\x48\x83\xc4\x28\xc3\x48\x89\x54\x24\x10\x48\x89\x4c\
    \x24\x08\x48\x83\xec\x38\x48\x8b\x44\x24\x48\x83\x78\x14\x00\x74\
    \x14\x48\x8b\x54\x24\x48\x48\x8b\x4c\x24\x40\xe8\x3f\xfa\xff\xff\
    \xe9\x97\x00\x00\x00\x48\x8b\x4c\x24\x48\xe8\xa6\xfb\xff\xff\xc7\
    \x44\x24\x20\x01\x00\x00\x00\xc7\x44\x24\x24\x00\x00\x00\x00\xeb\
    \x0a\x8b\x44\x24\x20\xff\xc0\x89\x44\x24\x20\x83\x7c\x24\x20\x27\
    \x77\x6a\x8b\x44\x24\x24\x48\x8b\x4c\x24\x40\x0f\xb6\x04\x01\x48\
    \x8b\x54\x24\x48\x89\xc1\xe8\x2e\xfe\xff\xff\x89\x44\x24\x28\x48\
    \x8b\x44\x24\x40\x8b\x00\x83\xe0\x01\xd1\xe0\x0b\x44\x24\x28\x89\
    \x44\x24\x24\x48\x8b\x44\x24\x40\x8b\x00\x83\xe0\x01\x3b\x44\x24\
    \x28\x75\x12\x48\x8b\x44\x24\x40\x8b\x00\xd1\xe8\x48\x8b\x4c\x24\
    \x40\x89\x01\xeb\x15\x48\x8b\x44\x24\x40\x8b\x00\xd1\xe8\x35\x62\
    \x00\x50\x80\x48\x8b\x4c\x24\x40\x89\x01\xeb\x85\x48\x83\xc4\x38\
    \xc3\x49\x89\xe3\x48\x83\xec\x68\x45\x85\xc0\x49\x89\x5b\xf8\x49\
    \x89\x6b\xf0\x49\x89\x73\xe8\x49\x89\x7b\xe0\x4d\x89\x63\xd8\x44\
    \x8b\x61\x04\x44\x89\xc5\x48\x89\xd6\x48\x89\xcb\x45\x89\xe1\x45\
    \x89\x63\xc8\x74\x26\x49\x8d\x4b\xc8\x49\x89\x4b\xb8\xe8\x00\x00\
    \x00\x00\x5a\x48\x81\xea\xd0\x1d\x00\x00\x48\x8b\x12\x48\x03\x52\
    \x20\xe8\xe2\xfe\xff\xff\x44\x8b\x4c\x24\x30\x8b\x03\x44\x31\xc8\
    \x89\xc1\x44\x31\xe0\x35\xc3\x25\x34\x80\x89\x0b\x89\xc1\x35\xc3\
    \x25\x34\x80\xc1\xc0\x02\x33\x03\x89\x0b\x89\xc1\x35\xc3\x25\x34\
    \x80\xc1\xc0\x04\x33\x03\x89\x0b\x89\xc1\x35\xc3\x25\x34\x80\xc1\
    \xc0\x06\x33\x03\x89\x0b\x89\xc1\x35\xc3\x25\x34\x80\xc1\xc0\x08\
    \x33\x03\x89\xc2\x35\xc3\x25\x34\x80\xc1\xc0\x0a\x89\x13\x31\xc8\
    \x85\xed\x48\x8b\x6c\x24\x58\x89\x43\x04\x41\x89\xc4\x89\xc2\x89\
    \x44\x24\x34\x74\x27\x48\x8d\x4c\x24\x34\xe8\x00\x00\x00\x00\x5a\
    \x48\x81\xea\x5d\x1e\x00\x00\x48\x8b\x12\x48\x03\x52\x20\xe8\x55\
    \xfe\xff\xff\x8b\x54\x24\x34\x44\x8b\x4c\x24\x30\x8b\x03\x48\x8b\
    \x7c\x24\x48\x31\xd0\x89\xc1\x44\x31\xe0\x4c\x8b\x64\x24\x40\x35\
    \x4a\x00\x2c\x5b\x89\x0b\x89\xc1\x35\x4a\x00\x2c\x5b\xc1\xc0\x05\
    \x33\x03\x89\x0b\x89\xc1\x35\x4a\x00\x2c\x5b\xc1\xc0\x0a\x33\x03\
    \x89\x0b\x89\xc1\x35\x4a\x00\x2c\x5b\xc1\xc0\x0f\x33\x03\x89\x0b\
    \x89\xc1\x35\x4a\x00\x2c\x5b\xc1\xc0\x14\x33\x03\x89\x0b\x89\xc1\
    \x35\x4a\x00\x2c\x5b\xc1\xc0\x19\x33\x03\x48\x85\xf6\x89\x0b\x89\
    \x43\x04\x48\x8b\x5c\x24\x60\x74\x06\x44\x89\x0e\x89\x56\x04\x48\
    \x8b\x74\x24\x50\x48\x83\xc4\x68\xc3\x48\x83\xec\x08\x4c\x8d\x0c\
    \x24\x41\xb8\x01\x00\x00\x00\x49\x89\x09\x8b\x41\x5c\x48\xc1\xe0\
    \x20\x8b\x49\x12\x48\x09\xc1\x48\x89\xca\x48\x83\xc2\x08\xe8\x6e\
    \xfe\xff\xff\x48\x83\xc4\x08\xc3\x49\x89\xe3\x48\x83\xec\x68\x49\
    \x89\x5b\xf8\x48\x89\xcb\x49\x89\x6b\xf0\x49\x89\x73\xe8\x49\x89\
    \x7b\xe0\x4c\x89\xcf\x44\x8b\x09\x4d\x89\x63\xd8\x45\x89\xc4\x44\
    \x89\xc8\x48\x89\xd6\x35\x4a\x00\x2c\x5b\xc1\xc0\x19\x33\x41\x04\
    \x44\x89\x49\x04\x89\x01\x89\xc1\x35\x4a\x00\x2c\x5b\xc1\xc0\x14\
    \x89\x4b\x04\x44\x31\xc8\x89\xc1\x35\x4a\x00\x2c\x5b\xc1\xc0\x0f\
    \x33\x43\x04\x89\x4b\x04\x89\xc1\x35\x4a\x00\x2c\x5b\xc1\xc0\x0a\
    \x33\x43\x04\x89\x4b\x04\x89\xc1\x35\x4a\x00\x2c\x5b\xc1\xc0\x05\
    \x33\x43\x04\x89\x4b\x04\x89\xc1\x8b\x43\x04\x31\xc8\x89\x4b\x04\
    \x35\x4a\x00\x2c\x5b\x45\x85\xe4\x89\x03\x89\xc5\x41\x89\xc0\x89\
    \x44\x24\x34\x74\x37\x48\x8b\x07\x49\x8d\x4b\xcc\x44\x0f\xb7\x48\
    \x1e\x44\x0f\xb7\x40\x0c\x0f\xb7\x50\x08\x49\x89\x4b\xb8\xe8\x00\
    \x00\x00\x00\x5a\x48\x81\xea\xe1\x1f\x00\x00\x48\x8b\x12\x48\x03\
    \x52\x20\xe8\xd1\xfc\xff\xff\x44\x8b\x44\x24\x34\x8b\x43\x04\x44\
    \x31\xc0\x89\xc1\x35\xc3\x25\x34\x80\xc1\xc0\x0a\x89\x4b\x04\x31\
    \xe8\x89\xc1\x35\xc3\x25\x34\x80\xc1\xc0\x08\x33\x43\x04\x89\x4b\
    \x04\x89\xc1\x35\xc3\x25\x34\x80\xc1\xc0\x06\x33\x43\x04\x89\x4b\
    \x04\x89\xc1\x35\xc3\x25\x34\x80\xc1\xc0\x04\x33\x43\x04\x89\x4b\
    \x04\x89\xc1\x35\xc3\x25\x34\x80\xc1\xc0\x02\x33\x43\x04\x89\xc2\
    \x89\xc8\x31\xd0\x89\x53\x04\x35\xc3\x25\x34\x80\x45\x85\xe4\x4c\
    \x8b\x64\x24\x40\x89\x03\x89\xc5\x89\xc1\x89\x44\x24\x30\x74\x3d\
    \x48\x8b\x07\x48\x8d\x4c\x24\x30\x44\x0f\xb7\x48\x1e\x44\x0f\xb7\
    \x40\x0c\x0f\xb7\x50\x08\x48\x89\x4c\x24\x20\xe8\x00\x00\x00\x00\
    \x5a\x48\x81\xea\x8e\x20\x00\x00\x48\x8b\x12\x48\x03\x52\x20\xe8\
    \x24\xfc\xff\xff\x44\x8b\x44\x24\x34\x8b\x4c\x24\x30\x8b\x43\x04\
    \x48\x8b\x7c\x24\x48\x89\x6b\x04\x48\x8b\x6c\x24\x58\x31\xc8\x48\
    \x85\xf6\x89\x03\x48\x8b\x5c\x24\x60\x74\x06\x89\x0e\x44\x89\x46\
    \x04\x48\x8b\x74\x24\x50\x48\x83\xc4\x68\xc3\x48\x83\xec\x08\x4c\
    \x8d\x0c\x24\x41\xb8\x01\x00\x00\x00\x49\x89\x09\x8b\x41\x5c\x48\
    \xc1\xe0\x20\x8b\x49\x12\x48\x09\xc1\x48\x89\xca\x48\x83\xc2\x08\
    \xe8\x23\xfe\xff\xff\x48\x83\xc4\x08\xc3\x48\x89\xe0\x48\x81\xec\
    \xe8\x00\x00\x00\x48\x89\x58\x08\x48\x89\x68\x10\x48\x89\x70\x18\
    \x48\x89\x78\x20\x4c\x89\x60\xf8\x4c\x89\x68\xf0\x4c\x89\x70\xe8\
    \x4c\x89\x78\xe0\xb8\x08\x00\x00\x00\x44\x8d\x72\x07\x41\x89\xd7\
    \x4c\x89\xc5\x41\xc1\xee\x03\x41\x83\xe7\x07\x48\x89\xcb\x44\x0f\
    \x44\xf8\x45\x31\xc9\x41\x8d\x46\xff\x85\xc0\x44\x89\x7c\x24\x28\
    \x44\x89\x4c\x24\x24\x45\x89\xc8\x44\x89\x4c\x24\x20\x45\x89\xcd\
    \x45\x8d\x51\x02\x0f\x84\x7a\x02\x00\x00\x48\x8b\x7c\x24\x30\x44\
    \x8b\x64\x24\x54\x4d\x89\xd7\x44\x31\x03\x44\x31\x4b\x04\x45\x85\
    \xed\x8b\x0b\x8b\x53\x04\x0f\x85\x16\x01\x00\x00\x45\x39\xfe\x0f\
    \x86\xdb\x00\x00\x00\x66\x44\x89\x6d\x10\x48\x8b\x03\x48\x89\xe9\
    \x48\x89\x44\x24\x38\x48\x8d\x44\x24\x38\x48\x89\x7c\x24\x40\x89\
    \x45\x12\x48\x8d\x44\x24\x38\x66\x44\x89\x7d\x16\x48\xc1\xe8\x20\
    \x66\x44\x89\x6d\x3e\x89\x45\x5c\xe8\x1c\xfd\xff\xff\x48\x8b\x7c\
    \x24\x40\x48\x8b\x44\x24\x38\x48\x89\x7c\x24\x30\x8b\x74\x24\x34\
    \x48\x89\x03\x89\x7c\x24\x50\x48\x8d\x54\x24\x54\x66\x44\x89\x6d\
    \x16\x45\x8d\x45\x05\x8b\x4a\xfc\x48\x83\xc2\x14\x8d\x04\x31\x83\
    \xe1\x1f\x89\x42\xec\x89\xf8\xd3\xc8\x31\x44\x24\x54\x8b\x4a\xec\
    \x8d\x04\x31\x83\xe1\x1f\x89\x42\xf0\x89\xf8\xd3\xc8\x31\x44\x24\
    \x54\x8b\x4a\xf0\x8d\x04\x31\x83\xe1\x1f\x89\x42\xf4\x89\xf8\xd3\
    \xc8\x31\x44\x24\x54\x8b\x4a\xf4\x8d\x04\x31\x83\xe1\x1f\x89\x42\
    \xf8\x89\xf8\xd3\xc8\x31\x44\x24\x54\x8b\x4a\xf8\x8d\x04\x31\x83\
    \xe1\x1f\x89\x42\xfc\x44\x8b\x64\x24\x54\x89\xf8\xd3\xc8\x41\x31\
    \xc4\x49\xff\xc8\x44\x89\x64\x24\x54\x75\x8a\xe9\x42\x01\x00\x00\
    \x48\x89\xd8\x48\x89\xe9\x66\xc7\x45\x10\x00\x00\x48\xc1\xe8\x20\
    \x66\xc7\x45\x16\x01\x00\x66\xc7\x45\x3e\x00\x00\x89\x45\x5c\x89\
    \x5d\x12\xe8\x52\xfc\xff\xff\x66\xc7\x45\x16\x00\x00\xe9\x10\x01\
    \x00\x00\x8b\x44\x24\x50\x46\x8d\x04\x21\x4c\x8d\x4c\x24\x5c\x8d\
    \x34\x02\x44\x89\x03\x4d\x89\xfa\x89\x73\x04\x44\x89\xc1\x44\x89\
    \xc2\x49\x83\xc1\x30\xc1\xe9\x04\x31\xf2\x83\xe1\x1f\xd3\xc2\x41\
    \x2b\x51\xcc\x41\x31\xd0\x89\xd1\xc1\xe9\x07\x83\xe1\x1f\x41\xd3\
    \xc0\x45\x03\x41\xd0\x44\x89\xc1\x44\x89\xc6\xc1\xe9\x04\x31\xd6\
    \x83\xe1\x1f\xd3\xc6\x41\x2b\x71\xd4\x41\x31\xf0\x89\xf1\xc1\xe9\
    \x07\x83\xe1\x1f\x41\xd3\xc0\x45\x03\x41\xd8\x44\x89\xc1\x44\x89\
    \xc2\xc1\xe9\x04\x31\xf2\x83\xe1\x1f\xd3\xc2\x41\x2b\x51\xdc\x41\
    \x31\xd0\x89\xd1\xc1\xe9\x07\x83\xe1\x1f\x41\xd3\xc0\x45\x03\x41\
    \xe0\x44\x89\xc1\x44\x89\xc6\xc1\xe9\x04\x31\xd6\x83\xe1\x1f\xd3\
    \xc6\x41\x2b\x71\xe4\x41\x31\xf0\x89\xf1\xc1\xe9\x07\x83\xe1\x1f\
    \x41\xd3\xc0\x45\x03\x41\xe8\x44\x89\xc1\x44\x89\xc2\xc1\xe9\x04\
    \x31\xf2\x83\xe1\x1f\xd3\xc2\x41\x2b\x51\xec\x41\x31\xd0\x89\xd1\
    \xc1\xe9\x07\x83\xe1\x1f\x41\xd3\xc0\x45\x03\x41\xf0\x44\x89\xc1\
    \x44\x89\xc6\xc1\xe9\x04\x31\xd6\x83\xe1\x1f\xd3\xc6\x41\x2b\x71\
    \xf4\x41\x31\xf0\x89\xf1\xc1\xe9\x07\x83\xe1\x1f\x41\xd3\xc0\x45\
    \x03\x41\xf8\x49\xff\xca\x0f\x85\x0f\xff\xff\xff\x44\x89\x03\x89\
    \x73\x04\x44\x8b\x03\x44\x8b\x4b\x04\x41\x8d\x46\xff\x41\xff\xc5\
    \x48\x83\xc3\x08\x44\x89\x44\x24\x20\x41\x39\xc5\x44\x89\x4c\x24\
    \x24\x0f\x82\xa0\xfd\xff\xff\x44\x8b\x7c\x24\x28\x41\xba\x02\x00\
    \x00\x00\xeb\x05\x44\x8b\x64\x24\x54\x45\x85\xff\x4c\x8b\xac\x24\
    \xd8\x00\x00\x00\x74\x2c\x48\x8d\x44\x24\x20\x48\x89\xdf\x48\x8d\
    \x4c\x24\x20\x48\x29\xc7\x44\x89\xfa\x0f\xb6\x04\x0f\x48\xff\xc1\
    \x30\x41\xff\x48\xff\xca\x75\xf1\x44\x8b\x4c\x24\x24\x44\x8b\x44\
    \x24\x20\x41\x83\xfe\x02\x0f\x86\xff\x00\x00\x00\x44\x03\x4c\x24\
    \x50\x48\x8d\x74\x24\x5c\x45\x01\xe0\x44\x89\xc1\x44\x89\xc2\x48\
    \x83\xc6\x30\xc1\xe9\x04\x44\x31\xca\x83\xe1\x1f\xd3\xc2\x2b\x56\
    \xcc\x41\x31\xd0\x89\xd1\xc1\xe9\x07\x83\xe1\x1f\x41\xd3\xc0\x44\
    \x03\x46\xd0\x44\x89\xc1\x44\x89\xc7\xc1\xe9\x04\x31\xd7\x83\xe1\
    \x1f\xd3\xc7\x2b\x7e\xd4\x41\x31\xf8\x89\xf9\xc1\xe9\x07\x83\xe1\
    \x1f\x41\xd3\xc0\x44\x03\x46\xd8\x44\x89\xc1\x44\x89\xc2\xc1\xe9\
    \x04\x31\xfa\x83\xe1\x1f\xd3\xc2\x2b\x56\xdc\x41\x31\xd0\x89\xd1\
    \xc1\xe9\x07\x83\xe1\x1f\x41\xd3\xc0\x44\x03\x46\xe0\x44\x89\xc1\
    \x44\x89\xc7\xc1\xe9\x04\x31\xd7\x83\xe1\x1f\xd3\xc7\x2b\x7e\xe4\
    \x41\x31\xf8\x89\xf9\xc1\xe9\x07\x83\xe1\x1f\x41\xd3\xc0\x44\x03\
    \x46\xe8\x44\x89\xc1\x44\x89\xc2\xc1\xe9\x04\x31\xfa\x83\xe1\x1f\
    \xd3\xc2\x2b\x56\xec\x41\x31\xd0\x89\xd1\xc1\xe9\x07\x83\xe1\x1f\
    \x41\xd3\xc0\x44\x03\x46\xf0\x44\x89\xc1\x45\x89\xc1\xc1\xe9\x04\
    \x41\x31\xd1\x83\xe1\x1f\x41\xd3\xc1\x44\x2b\x4e\xf4\x45\x31\xc8\
    \x44\x89\xc9\xc1\xe9\x07\x83\xe1\x1f\x41\xd3\xc0\x44\x03\x46\xf8\
    \x49\xff\xca\x0f\x85\x10\xff\xff\xff\xeb\x51\x41\x83\xfe\x01\x75\
    \x0d\x8b\x03\x89\x44\x24\x20\x8b\x43\x04\x89\x44\x24\x24\x48\x8d\
    \x44\x24\x20\x48\x89\xe9\x66\xc7\x45\x10\x00\x00\x89\x45\x12\x48\
    \x8d\x44\x24\x20\x66\xc7\x45\x16\x01\x00\x48\xc1\xe8\x20\x66\xc7\
    \x45\x3e\x00\x00\x89\x45\x5c\xe8\x7d\xf9\xff\xff\x44\x8b\x4c\x24\
    \x24\x44\x8b\x44\x24\x20\x66\xc7\x45\x16\x00\x00\x4c\x8b\xa4\x24\
    \xe0\x00\x00\x00\x48\x8b\xac\x24\xf8\x00\x00\x00\x41\x83\xfe\x01\
    \x4c\x8b\xb4\x24\xd0\x00\x00\x00\x76\x1b\x45\x85\xff\x74\x0c\x48\
    \x8d\x73\xf8\x44\x89\xf9\x48\x89\xdf\xf3\xa4\x44\x89\x43\xf8\x44\
    \x89\x4b\xfc\xeb\x07\x44\x89\x03\x44\x89\x4b\x04\x4c\x8b\xbc\x24\
    \xc8\x00\x00\x00\x48\x8b\xbc\x24\x08\x01\x00\x00\x48\x8b\xb4\x24\
    \x00\x01\x00\x00\x48\x8b\x9c\x24\xf0\x00\x00\x00\x48\x81\xc4\xe8\
    \x00\x00\x00\xc3\x48\x89\xe0\x48\x81\xec\xf8\x00\x00\x00\x48\x89\
    \x58\x08\x48\x89\x68\x10\x48\x89\x70\x18\x48\x89\x78\x20\x4c\x89\
    \x60\xf8\x4c\x89\x68\xf0\x4c\x89\x70\xe8\x4c\x89\x78\xe0\x48\x89\
    \xcb\x8d\x4a\x07\x89\xd0\xba\x08\x00\x00\x00\xc1\xe9\x03\x83\xe0\
    \x07\x4c\x89\xc7\x0f\x44\xc2\x45\x31\xff\x83\xf9\x01\x89\x4c\x24\
    \x30\x44\x8d\x62\x04\x44\x89\x7c\x24\x2c\x44\x89\x7c\x24\x34\x44\
    \x89\x7c\x24\x28\x45\x89\xfe\x89\x44\x24\x38\x0f\x86\x9f\x01\x00\
    \x00\x83\xc1\xfe\x44\x89\xfe\x89\x4c\x24\x20\x0f\x84\x8f\x01\x00\
    \x00\x48\x8b\x44\x24\x40\x44\x8b\x6c\x24\x64\x8b\x6c\x24\x60\x85\
    \xf6\x44\x8b\x03\x44\x8b\x73\x04\x45\x89\xc7\x44\x89\x44\x24\x28\
    \x0f\x85\xee\x00\x00\x00\x48\x89\x44\x24\x50\x48\x8d\x44\x24\x48\
    \x66\x89\x77\x10\x48\x8b\x0b\x89\x47\x12\x48\x8d\x44\x24\x48\x48\
    \xc1\xe8\x20\x48\x89\x4c\x24\x48\x48\x89\xf9\x66\xc7\x47\x16\x02\
    \x00\x66\x89\x77\x3e\x89\x47\x5c\xe8\x0e\xfa\xff\xff\x48\x8b\x44\
    \x24\x48\x4c\x8d\x44\x24\x64\x48\x89\x03\x48\x8b\x44\x24\x50\x44\
    \x8d\x56\x05\x48\x89\x44\x24\x40\x44\x8b\x4c\x24\x44\x66\x89\x77\
    \x16\x89\x44\x24\x60\x41\x8b\x48\xfc\x49\x83\xc0\x14\x42\x8d\x14\
    \x09\x83\xe1\x1f\x41\x89\x50\xec\x89\xc2\xd3\xca\x31\x54\x24\x64\
    \x41\x8b\x48\xec\x42\x8d\x14\x09\x83\xe1\x1f\x41\x89\x50\xf0\x89\
    \xc2\xd3\xca\x31\x54\x24\x64\x41\x8b\x48\xf0\x42\x8d\x14\x09\x83\
    \xe1\x1f\x41\x89\x50\xf4\x89\xc2\xd3\xca\x31\x54\x24\x64\x41\x8b\
    \x48\xf4\x42\x8d\x14\x09\x83\xe1\x1f\x41\x89\x50\xf8\x89\xc2\xd3\
    \xca\x31\x54\x24\x64\x41\x8b\x48\xf8\x42\x8d\x14\x09\x83\xe1\x1f\
    \x41\x89\x50\xfc\x44\x8b\x6c\x24\x64\x89\xc2\xd3\xca\x41\x31\xd5\
    \x49\xff\xca\x44\x89\x6c\x24\x64\x0f\x85\x77\xff\xff\xff\x8b\x6c\
    \x24\x60\xeb\x4b\x45\x89\xe3\x45\x89\xf1\x4c\x8d\x94\x24\xc0\x00\
    \x00\x00\x45\x2b\x42\x04\x44\x89\xc9\x49\x83\xea\x08\xc1\xe9\x07\
    \x83\xe1\x1f\x41\xd3\xc8\x45\x31\xc8\x45\x03\x4a\x08\x44\x89\xc1\
    \xc1\xe9\x04\x83\xe1\x1f\x41\xd3\xc9\x45\x31\xc1\x41\x83\xc3\xff\
    \x75\xd0\x45\x29\xe8\x41\x29\xe9\x44\x89\x4b\x04\x44\x89\x03\x8b\
    \x4c\x24\x34\xff\xc6\x48\x83\xc3\x08\x31\x4b\xf8\x8b\x4c\x24\x2c\
    \x44\x89\x7c\x24\x34\x31\x4b\xfc\x3b\x74\x24\x20\x44\x89\x74\x24\
    \x2c\x0f\x82\x88\xfe\xff\xff\x8b\x44\x24\x38\x45\x31\xff\xeb\x09\
    \x44\x8b\x6c\x24\x64\x8b\x6c\x24\x60\x85\xc0\x44\x89\x7c\x24\x20\
    \x44\x89\xfe\x44\x89\x7c\x24\x24\x74\x1a\x48\x8d\x53\x08\x48\x8d\
    \x4c\x24\x20\x41\x89\xc0\xe8\xb8\xed\xff\xff\x8b\x74\x24\x24\x44\
    \x8b\x7c\x24\x20\x44\x8b\x5c\x24\x30\x41\x83\xfb\x01\x75\x32\x48\
    \x89\xd8\x48\x89\xf9\x66\xc7\x47\x10\x00\x00\x48\xc1\xe8\x20\x66\
    \xc7\x47\x16\x01\x00\x66\xc7\x47\x3e\x00\x00\x89\x47\x5c\x89\x5f\
    \x12\xe8\x75\xf8\xff\xff\x66\xc7\x47\x16\x00\x00\xe9\x29\x01\x00\
    \x00\x41\x83\xfb\x02\x75\x34\x48\x89\xd8\x48\x89\xf9\x66\xc7\x47\
    \x10\x00\x00\x48\xc1\xe8\x20\x66\xc7\x47\x16\x01\x00\x66\xc7\x47\
    \x3e\x00\x00\x89\x47\x5c\x89\x5f\x12\xe8\x3d\xf8\xff\xff\x44\x8b\
    \x5c\x24\x30\x66\xc7\x47\x16\x00\x00\xeb\x55\x8b\x13\x44\x8b\x43\
    \x04\x45\x89\xe2\x4c\x8d\x8c\x24\xc0\x00\x00\x00\x41\x2b\x51\x04\
    \x44\x89\xc1\x49\x83\xe9\x08\xc1\xe9\x07\x83\xe1\x1f\xd3\xca\x44\
    \x31\xc2\x45\x03\x41\x08\x89\xd1\xc1\xe9\x04\x83\xe1\x1f\x41\xd3\
    \xc8\x41\x31\xd0\x41\x83\xc2\xff\x75\xd2\x44\x29\xea\x41\x29\xe8\
    \x41\x83\xfb\x01\x89\x13\x44\x89\x43\x04\x0f\x86\x9a\x00\x00\x00\
    \x44\x33\x3b\x33\x73\x04\x8b\x44\x24\x38\x85\xc0\x44\x89\x7c\x24\
    \x20\x89\x74\x24\x24\x74\x31\x4c\x8d\x44\x24\x20\x49\x89\xd9\x48\
    \x8d\x4b\x08\x4d\x29\xc1\x49\x89\xc0\x48\x8d\x54\x24\x20\x0f\xb6\
    \x01\x48\xff\xc1\x48\xff\xc2\x49\xff\xc8\x41\x88\x44\x11\xff\x0f\
    \xb6\x42\xff\x88\x41\xff\x75\xe6\x41\x83\xfb\x02\x0f\x84\xed\xfe\
    \xff\xff\x8b\x13\x44\x8b\x43\x04\x4c\x8d\x8c\x24\xc0\x00\x00\x00\
    \x41\x2b\x51\x04\x44\x89\xc1\x49\x83\xe9\x08\xc1\xe9\x07\x83\xe1\
    \x1f\xd3\xca\x44\x31\xc2\x45\x03\x41\x08\x89\xd1\xc1\xe9\x04\x83\
    \xe1\x1f\x41\xd3\xc8\x41\x31\xd0\x41\x83\xc4\xff\x75\xd2\x44\x29\
    \xea\x41\x29\xe8\x44\x89\x43\x04\x89\x13\x8b\x44\x24\x28\x4c\x8b\
    \xbc\x24\xd8\x00\x00\x00\x4c\x8b\xac\x24\xe8\x00\x00\x00\x31\x03\
    \x44\x31\x73\x04\x4c\x8b\xa4\x24\xf0\x00\x00\x00\x4c\x8b\xb4\x24\
    \xe0\x00\x00\x00\x48\x8b\x9c\x24\x00\x01\x00\x00\x48\x8b\xbc\x24\
    \x18\x01\x00\x00\x48\x8b\xb4\x24\x10\x01\x00\x00\x48\x8b\xac\x24\
    \x08\x01\x00\x00\x48\x81\xc4\xf8\x00\x00\x00\xc3\xcc\xcc\xcc\xcc\
    \x57\x59\xe9\xf9\xd5\xff\xff')
    
    fullfname=os.getcwd()+'/backbas.so'
    
    # uncomment next 2 lines to get unipatch for 5 spartans, or 1,5,10,20,50
    #unipatch[0x11F8]=5
    #unipatch[0x137E]=5
    
    
    try:
      fp = open(fullfname, 'r+')
      if os.stat(fp.name).st_size > 0:
        mm = mmap.mmap(fp.fileno(), 0)
    
        # WTF? "to smoke": 'man 5 elf'
        if mm[0]!=0x7f or mm[1]!=0x45 or mm[2]!=0x4C or mm[3]!=0x46 \
         or mm[4]!=2 or mm[5]!=1 or mm[6]!=1 \
         or mm[16]!=3 or mm[17]!=0 \
         or mm[18]!=0x3E or mm[19]!=0:
          print ("what a fuck are you giving me?")
          exit(1)
    
        e_phoff = mm[0x20]+256*(mm[0x21]+256*(mm[0x22]+256*mm[0x23]))
        e_phentsize = mm[0x36]+256*mm[0x37]
        e_phnum = mm[0x38]+256*mm[0x39]
    
        for i in range(e_phnum):
          p=e_phoff+i*e_phentsize
          p_type=mm[p]+256*(mm[p+1]+256*(mm[p+2]+256*mm[p+3]))
          p_flags=mm[p+4]+256*(mm[p+5]+256*(mm[p+6]+256*mm[p+7]))
          if (p_type==1 and p_flags==5):
              print(f"mm[{hex(p+4)}] += PF_W")
              mm[p+4] = 7
              break
    
        pattern_addr = mm.find(pattern)
        if pattern_addr != -1:
          unipatch_addr=pattern_addr-0x2A75
          print (f"patching  {fullfname}  at offset={hex(unipatch_addr)}")
          mm[unipatch_addr:unipatch_addr+0x2A07] = unipatch
    
      mm.close()
    except IOError as e:
      print (f"I/O error({e.errno}): {e.strerror}, filename={fullfname}")
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  2. 13 пользователя(ей) сказали cпасибо:

    ASWar (13.07.2022), coder-ex (26.06.2022), D@nge1 (27.06.2022), fil_and (01.07.2022), giv_main (20.10.2022), good_deman (04.07.2022), olegon85 (11.09.2022), olegtelec (11.07.2022), redhat2020 (21.06.2022), root7 (27.07.2022), Serg2008t (10.07.2022), tinvul (27.07.2022), vovashulga (21.06.2022)

  3. #2
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  4. 4 пользователя(ей) сказали cпасибо:

    olegtelec (11.07.2022), redhat2020 (10.07.2022), root7 (20.01.2024), vovashulga (10.07.2022)

  5. #3
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    статья написана опытным инженером для тех кому страшно начинать смотреть листинг в IDA Pro:
    IDA Pro и техники реверс-инжиниринга

    С пользой для себя можно взять для исследования 32-битный виндовый HASPLM nhsrvw32.exe - это приложение можно запускать в отладчике IDA и изучать (можно найти виндовую 32-битную IDA-Pro 6.8).
    Не беритесь сразу за второй вариант HASPLM - системный сервис nhsrvice.exe.
    Они оба довольно "свежие" - внутри HASP API version 238Ch = 9100.
    А вот линуксовый HASPLM v8.30 (32-битный) просто "шлак", внутри HASP API version 1F4Ah = 8010.

    И ещё: иногда читайте блог, там много полезного:
    Blog: Tips, tricks, and best practices for IDA users
    Tutorials: Free tutorials available for walkthroughs from general to specific area in IDA
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  6. 7 пользователя(ей) сказали cпасибо:

    good_deman (04.11.2022), KennySP00 (15.09.2022), olegtelec (27.09.2022), redhat2020 (22.08.2022), root7 (20.01.2024), Valbeshnik (04.10.2022), vovashulga (25.08.2022)

  7. #4
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    К сведению желающих использовать репак на новых макосях.
    На новых макосях есть какое-то новшество, которое препятствует такому ugly-хаку.
    Мне сообщили, что на macOS 12.6 (21G115) с ядром Darwin 21.6.0 репак не "взлетает".
    При запуске из консоли (программа "Терминал"):
    /opt/1cv8/8.3.21.1302/1cv8
    запуска в обычном понимании не происходит, в окне Терминала надпись:
    killed 9
    т.е. процесс был убит, вероятно самим ядром, но это догадки. В логах ничего нет.
    Я сам это не исследовал и вряд ли буду - есть другие, более интересные задачки.
    Последний раз редактировалось HPDX2300; 11.10.2022 в 22:54.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  8. 4 пользователя(ей) сказали cпасибо:

    good_deman (04.11.2022), redhat2020 (01.12.2022), root7 (20.01.2024), vovashulga (21.10.2022)

  9. #5
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    Цитата Сообщение от HPDX2300 Посмотреть сообщение
    ...На новых макосях есть какое-то новшество, которое препятствует такому ugly-хаку.
    ... на macOS 12.6 (21G115) с ядром Darwin 21.6.0 репак не "взлетает".
    При запуске из консоли (программа "Терминал"):
    /opt/1cv8/8.3.21.1302/1cv8
    запуска в обычном понимании не происходит, в окне Терминала надпись:
    killed 9
    т.е. процесс был убит, вероятно самим ядром
    в такой ситуации можно пробовать выключить "System Integrity Protection":

    идею подсмотрел тут: Disabling SIP on the debuggee
    цитата:
    "...For proper debugging, you may need to disable SIP (System Integrity Protection) on the machine whose kernel you wanna debug. To do that, reboot the machine in Recovery Mode. To do that, reboot the machine and when you hear the “BOONG!”, or when the screen turns on, press CMD + R. Wait a few seconds for it to boot into Recovery Mode user interface, and open “Terminal” from the top bar.

    In the Recovery Terminal, write
    Код:
    csrutil disable
    . Then reboot the machine and boot it normally to macOS."
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  10. 5 пользователя(ей) сказали cпасибо:

    good_deman (04.11.2022), redhat2020 (01.12.2022), root7 (20.01.2024), Sova24 (05.02.2023), vovashulga (21.10.2022)

  11. #6
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    Цитата Сообщение от HPDX2300 Посмотреть сообщение
    в такой ситуации можно пробовать выключить "System Integrity Protection": идею подсмотрел тут: Disabling SIP on the debuggee цитата: "...For proper debugging, you may need to disable SIP (System Integrity Protection) on the machine whose kernel you wanna debug. To do that, reboot the machine in Recovery Mode. To do that, reboot the machine and when you hear the “BOONG!”, or when the screen turns on, press CMD + R. Wait a few seconds for it to boot into Recovery Mode user interface, and open “Terminal” from the top bar. In the Recovery Terminal, write
    Код:
    csrutil disable
    . Then reboot the machine and boot it normally to macOS."
    ответ завернул в цитату:
    Цитата Сообщение от HPDX2300
    Для тех, кто хочет повторять мой рецепт для изделий под макось, нашел ещё одну подсказку знатока в теме IDA PRO: Цитата: "там отсутствовал один единственный ни на что не влияющий файл CodeResources" и ответs: 1) "В macOS он влияет на проверку подписи, co всеми вытекающими последствиями. В зависимости от настроек ОС, программа с нарушенной подписью может вообще не запуститься." 2) "секция подписи может быть стрипнута и тогда настройки оси влиять не будут - разве что в самой проге будет собственная проверка целосности" Если пробовать удалить перед установкой файл CodeResources", то, возможно, платформа может быть полечена без выключения "System Integrity Protection" (см.пост #25)
    Последний раз редактировалось HPDX2300; 18.10.2024 в 15:43.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  12. #7
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    патчер для линукса-x64 + python3
    код ниже сохранить в файл unipatch.py
    запускать так (либа бэкбейс должна быть рядом - в том же каталоге):
    python3 unipatch.py
    если предварительно выполнить:
    chmod +x unipatch.py
    , то запускать можно будеть так:
    ./unipatch.py
    Код:
    #!/usr/bin/env python3
    import sys, os, glob, mmap
    # changed after fuck-up 2022-11-15
    pattern = bytearray(b'\x41\x81\x78\x08\x6C\x68\x73\x68')
    unipatch = bytearray(b'\x51\x53\x52\x57\x56\xE8\x88\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xA0\x00\x00\x00\x00\x00\x00\x00\xA4\x00\x00\x00\x00\x00\x00\x00\xA8\x00\x00\x00\x00\x00\x00\x00\xAC\x00\x00\x00\x00\x00\x00\x00\xB0\x00\x00\x00\x00\x00\x00\x00\xB1\x00\x00\x00\x00\x00\x00\x00\xB2\x00\x00\x00\x00\x00\x00\x00\xFA\x00\x00\x00\x00\x00\x00\x00\xFA\x10\x00\x00\x00\x00\x00\x00\x06\x11\x00\x00\x00\x00\x00\x00\xC4\x10\x00\x00\x00\x00\x00\x00\xC8\x10\x00\x00\x00\x00\x00\x00\xCC\x10\x00\x00\x00\x00\x00\x00\xD0\x10\x00\x00\x00\x00\x00\x00\xD4\x10\x00\x00\x00\x00\x00\x00\xD5\x10\x00\x00\x00\x00\x00\x00\xD6\x10\x00\x00\x00\x00\x00\x00\x1E\x11\x00\x00\x00\x00\x00\x00\x0E\x13\x00\x00\x00\x00\x00\x00\x1A\x13\x00\x00\x00\x00\x00\x00\x7A\x23\x25\x41\x1F\x50\x7F\x73\x0A\x00\x00\x00\x04\x00\x00\x00\xDB\x30\x9A\x21\x2C\x25\xDE\x65\x6C\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x30\xCB\xD4\x61\x4D\x5C\x1F\xE0\xCD\x42\x2F\xFA\x8E\x1D\x63\x2B\xEA\x09\xD1\xED\xBF\xF4\x09\x00\xA6\x2D\xD1\xE9\x9E\x40\x6D\x0F\x45\xE2\x52\xEA\x10\x9D\xAB\xC3\x81\x47\x75\xF9\x9E\x97\x9B\x5C\xDA\x99\x44\x0A\x16\xBB\x13\xBC\x4B\xB0\x6D\x50\x75\xEA\x8A\x44\x66\x81\x82\xED\xFE\x90\x0C\x65\xFB\xB6\xFF\x73\x24\x6A\xB4\x5D\x90\xBD\x65\xCC\xBF\xE5\xFC\x85\x46\x58\x77\x04\x1C\x88\x97\x24\xFC\x57\xA4\x44\x53\x22\x21\x85\x4E\x01\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x57\x42\x50\x54\x01\x00\x00\x00\x70\x00\x00\x00\x00\x00\x21\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x01\x02\x4A\x1F\x01\x18\x02\x08\x01\x14\x2C\x33\x00\xCB\x70\x6D\x3B\x1F\x50\x7F\x73\x0A\x00\x00\x00\x04\x00\x00\x00\xDB\x30\x9A\x21\x2C\x25\xDE\x65\x6C\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x30\xCB\xD4\x61\x4D\x5C\x1F\xE0\xCD\x42\x2F\xFA\x8E\x1D\x63\x2B\xEA\x09\xD1\xED\xBF\xF4\x09\x00\xA6\x2D\xD1\xE9\x9E\x40\x6D\x0F\x45\xE2\x52\xEA\x10\x9D\xAB\xC3\x81\x47\x75\xF9\x9E\x97\x9B\x5C\xDA\x99\x44\x0A\x16\xBB\x13\xBC\x4B\xB0\x6D\x50\x75\xEA\x8A\x44\x66\x81\x82\xED\xFE\x90\x0C\x65\xFB\xB6\xFF\x73\x24\x6A\xB4\x5D\x90\xBD\x65\xCC\xBF\xE5\xFC\x85\x46\x58\x77\x04\x1C\x88\x97\x24\xFC\x57\xA4\x44\x53\x22\x21\x85\x4E\x64\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\xFE\xFF\x00\x01\x02\x4A\x1F\x01\x04\x07\x08\x01\x10\x34\x07\x00\x5E\x48\x89\xC9\x48\x31\xC0\x48\x31\xD2\x8A\x41\x16\x89\x06\x48\x89\xF3\x48\x83\xC6\x10\x48\x83\xF8\x01\x75\x0D\xC6\x41\x28\x01\xC6\x41\x30\x00\xE9\x32\x02\x00\x00\x66\x8B\x51\x20\xC1\xE2\x10\x66\x8B\x51\x24\x48\x8B\x3E\x3B\x14\x3E\x75\x02\x74\x10\x48\x83\xC6\x50\x48\x8B\x3E\x3B\x14\x3E\x0F\x85\x0D\x02\x00\x00\x89\x53\x04\x48\x89\x73\x08\x48\x83\xF8\x03\x74\x06\x48\x83\xF8\x2C\x75\x21\x48\x03\x76\x38\x48\x31\xC0\x8B\x41\x28\x48\xD1\xE0\x48\x0F\xB7\x04\x06\x89\x41\x2C\xC7\x41\x30\x00\x00\x00\x00\xE9\xD9\x01\x00\x00\x48\x83\xF8\x04\x74\x06\x48\x83\xF8\x2D\x75\x21\x48\x03\x76\x38\x48\x31\xC0\x8B\x41\x28\x66\x8B\x79\x2C\x48\xD1\xE0\x66\x89\x3C\x06\xC7\x41\x30\x00\x00\x00\x00\xE9\xAC\x01\x00\x00\x48\x83\xF8\x05\x75\x2A\x48\x31\xC0\x48\x8B\x56\x18\x8B\x04\x16\x89\x41\x28\x48\x8B\x56\x10\x8B\x04\x16\x89\x41\x2C\xC7\x41\x30\x66\x00\x00\x00\xC7\x41\x34\x54\x64\x00\x00\xE9\x7C\x01\x00\x00\x48\x83\xF8\x06\x74\x05\x83\xF8\x2E\x75\x22\x48\x03\x76\x08\x48\x31\xC0\x8B\x06\x48\x0F\xB7\xF8\xC1\xE8\x10\x89\x79\x28\x89\x41\x2C\xC7\x41\x30\x00\x00\x00\x00\xE9\x4F\x01\x00\x00\x48\x83\xF8\x28\x75\x1A\xC7\x41\x28\x00\x00\x00\x00\xC7\x41\x2C\x00\x00\x00\x00\xC7\x41\x30\x00\x00\x00\x00\xE9\x2F\x01\x00\x00\x48\x83\xF8\x2A\x75\x0C\xC7\x41\x30\x00\x00\x00\x00\xE9\x1D\x01\x00\x00\x48\x83\xF8\x2B\x75\x0C\xC7\x41\x30\x00\x00\x00\x00\xE9\x0B\x01\x00\x00\x48\x83\xF8\x30\x75\x05\xE9\x00\x01\x00\x00\x48\x83\xF8\x32\x74\x06\x48\x83\xF8\x34\x75\x32\x48\x03\x76\x38\x48\x31\xC0\x48\x8B\x79\x40\x8B\x41\x28\x48\xD1\xE0\x48\x01\xC6\x48\x89\xC8\x48\x31\xC9\x8B\x48\x2C\x9C\xFC\xF3\x66\xA5\x9D\x48\x89\xC1\xC7\x41\x30\x00\x00\x00\x00\xE9\xC2\x00\x00\x00\x83\xF8\x33\x74\x06\x48\x83\xF8\x33\x75\x35\x48\x03\x76\x38\x48\x31\xC0\x48\x8B\x79\x40\x8B\x41\x28\x48\xD1\xE0\x48\x01\xC6\x48\x89\xC8\x48\x31\xC9\x8B\x48\x2C\x48\x87\xF7\x9C\xFC\xF3\x66\xA5\x9D\x48\x89\xC1\xC7\x41\x30\x00\x00\x00\x00\xE9\x82\x00\x00\x00\x83\xF8\x3C\x74\x05\x83\xF8\x58\x75\x31\x83\x79\x2C\x08\x72\x72\x51\x48\x81\xEC\x00\x01\x00\x00\x49\x89\xE0\x48\x31\xD2\x8B\x51\x2C\x48\x8B\x49\x40\xE8\x85\x0B\x00\x00\x48\x81\xC4\x00\x01\x00\x00\x59\xC7\x41\x30\x00\x00\x00\x00\xEB\x47\x83\xF8\x3D\x74\x05\x83\xF8\x59\x75\x31\x83\x79\x2C\x08\x72\x37\x51\x48\x31\xD2\x8B\x51\x2C\x48\x8B\x49\x40\x48\x81\xEC\x00\x01\x00\x00\x49\x89\xE0\xE8\x34\x10\x00\x00\x48\x81\xC4\x00\x01\x00\x00\x59\xC7\x41\x30\x00\x00\x00\x00\xEB\x0C\x83\xF8\x55\x75\x02\xEB\x05\xB8\x78\x56\x34\x12\x5E\x5F\x5A\x5B\x59\xC3\x56\x57\x48\x89\xD6\x48\x89\xCF\x31\xC9\x44\x89\xC1\xF3\xA4\x5F\x5E\xC3\x48\x89\x54\x24\x10\x89\x4C\x24\x08\x48\x83\xEC\x18\x8B\x44\x24\x20\x83\xE0\x1F\x89\x44\x24\x20\x8B\x44\x24\x20\xC1\xE8\x02\x25\xFE\x00\x00\x00\x48\x8B\x4C\x24\x28\x0F\xB6\x44\x01\x02\xB9\x1F\x00\x00\x00\x2B\x4C\x24\x20\x83\xE1\x07\xD3\xF8\x83\xE0\x01\x88\x44\x24\x04\x0F\xB6\x44\x24\x04\x83\xF0\x01\x8B\x4C\x24\x20\xC1\xE9\x03\x21\xC8\x8B\x4C\x24\x20\x31\xC1\x89\xC8\x8B\x4C\x24\x20\xC1\xE9\x04\x31\xC8\x89\x04\x24\x48\x8B\x44\x24\x28\x8B\x40\x0F\xC1\xE8\x0A\x8B\x0C\x24\x31\xC1\x89\xC8\x89\x04\x24\x48\x8B\x44\x24\x28\x8B\x40\x0F\xC1\xE8\x07\x8B\x0C\x24\x31\xC1\x89\xC8\x89\x04\x24\x8B\x44\x24\x20\x83\xE0\x02\x85\xC0\x74\x15\x48\x8B\x44\x24\x28\x8B\x40\x0F\xC1\xE8\x05\x8B\x0C\x24\x31\xC1\x89\xC8\x89\x04\x24\x8B\x44\x24\x20\x83\xE0\x04\x85\xC0\x74\x15\x48\x8B\x44\x24\x28\x8B\x40\x0F\xC1\xE8\x08\x8B\x0C\x24\x31\xC1\x89\xC8\x89\x04\x24\x8B\x04\x24\x83\xE0\x01\x89\x04\x24\x8B\x44\x24\x20\x83\xE0\x01\xC1\xE0\x02\x48\x8B\x4C\x24\x28\x8B\x49\x0F\x31\xC1\x89\xC8\x48\x8B\x4C\x24\x28\x89\x41\x0F\x48\x8B\x44\x24\x28\x8B\x40\x0F\xD1\xE0\x48\x8B\x4C\x24\x28\x89\x41\x0F\x48\x8B\x44\x24\x28\x8B\x0C\x24\x8B\x40\x0F\x09\xC8\x48\x8B\x4C\x24\x28\x89\x41\x0F\x48\x8B\x44\x24\x28\x8B\x40\x0F\xC1\xE8\x0B\x0F\xB6\x4C\x24\x04\x31\xC8\x83\xE0\x01\x48\x83\xC4\x18\xC3\x48\x89\x54\x24\x10\x48\x89\x4C\x24\x08\x48\x83\xEC\x48\xC7\x44\x24\x30\x1F\x00\x00\x00\x48\x8B\x44\x24\x58\x8B\x40\x14\x89\x44\x24\x20\x8B\x44\x24\x20\x35\x89\x19\x08\x01\x89\x44\x24\x20\x8B\x44\x24\x20\xC1\xE8\x0C\x89\x44\x24\x20\xC7\x44\x24\x24\x0A\x00\x00\x00\xEB\x0A\x8B\x44\x24\x24\xFF\xC8\x89\x44\x24\x24\x83\x7C\x24\x24\x05\x76\x69\x0F\xB6\x44\x24\x20\x83\xE0\x0F\x89\x44\x24\x2C\x83\x7C\x24\x2C\x00\x74\x0A\xC7\x44\x24\x38\x01\x00\x00\x00\xEB\x08\xC7\x44\x24\x38\x00\x00\x00\x00\x83\x7C\x24\x2C\x0B\x73\x0A\xC7\x44\x24\x3C\x01\x00\x00\x00\xEB\x08\xC7\x44\x24\x3C\x00\x00\x00\x00\x8B\x44\x24\x3C\x8B\x4C\x24\x38\x21\xC1\x89\xC8\x8B\x4C\x24\x24\xD3\xE0\x8B\x4C\x24\x30\x09\xC1\x89\xC8\x89\x44\x24\x30\x8B\x44\x24\x20\xC1\xE8\x04\x89\x44\x24\x20\xEB\x86\x8B\x44\x24\x30\xC1\xE8\x06\x48\x8B\x4C\x24\x58\x88\x41\x13\x48\x8B\x44\x24\x58\x0F\xB6\x40\x13\xC1\xE0\x06\x83\xC8\x1F\x48\x8B\x4C\x24\x58\x89\x41\x0F\xC7\x44\x24\x24\x01\x00\x00\x00\xC7\x44\x24\x28\x00\x00\x00\x00\xEB\x0A\x8B\x44\x24\x24\xFF\xC0\x89\x44\x24\x24\x83\x7C\x24\x24\x27\x77\x6A\x8B\x44\x24\x28\x48\x8B\x4C\x24\x50\x0F\xB6\x04\x01\x48\x8B\x54\x24\x58\x89\xC1\xE8\xA6\xFD\xFF\xFF\x89\x44\x24\x34\x48\x8B\x44\x24\x50\x8B\x00\x83\xE0\x01\xD1\xE0\x0B\x44\x24\x34\x89\x44\x24\x28\x48\x8B\x44\x24\x50\x8B\x00\x83\xE0\x01\x3B\x44\x24\x34\x75\x12\x48\x8B\x44\x24\x50\x8B\x00\xD1\xE8\x48\x8B\x4C\x24\x50\x89\x01\xEB\x15\x48\x8B\x44\x24\x50\x8B\x00\xD1\xE8\x35\x62\x00\x50\x80\x48\x8B\x4C\x24\x50\x89\x01\xEB\x85\x48\x83\xC4\x48\xC3\x48\x89\x4C\x24\x08\x48\x83\xEC\x48\x48\x8B\x44\x24\x50\x0F\xB6\x40\x01\xC1\xF8\x05\x83\xE0\x01\x48\x8B\x4C\x24\x50\x88\x41\x0A\x48\x8B\x44\x24\x50\x0F\xB6\x40\x02\xC1\xF8\x07\x83\xE0\x01\x83\xF0\x01\x88\x44\x24\x24\x0F\xB6\x44\x24\x24\x85\xC0\x74\x0E\x48\x8B\x44\x24\x50\x0F\xB6\x00\x89\x44\x24\x3C\xEB\x0E\x48\x8B\x44\x24\x50\x0F\xB6\x00\xF7\xD0\x89\x44\x24\x3C\x0F\xB6\x44\x24\x3C\x88\x44\x24\x26\xC7\x44\x24\x28\x00\x00\x00\x00\x48\x8B\x44\x24\x50\x0F\xB6\x40\x01\x83\xE0\x1F\x88\x44\x24\x25\xC7\x44\x24\x2C\x00\x00\x00\x00\xEB\x0A\x8B\x44\x24\x2C\xFF\xC0\x89\x44\x24\x2C\x83\x7C\x24\x2C\x04\x7D\x3D\x0F\xB6\x44\x24\x28\xC0\xE0\x02\x88\x44\x24\x28\x0F\xB6\x44\x24\x25\x83\xE0\x01\x0F\xB6\x4C\x24\x25\x83\xF1\x01\x83\xE1\x01\xD1\xE1\x09\xC8\x0F\xB6\x4C\x24\x28\x09\xC1\x89\xC8\x88\x44\x24\x28\x0F\xB6\x44\x24\x25\xD0\xE8\x88\x44\x24\x25\xEB\xB2\x0F\xB6\x44\x24\x28\x35\xFF\x00\x00\x00\x88\x44\x24\x2A\x0F\xB6\x44\x24\x28\x88\x44\x24\x29\x0F\xB6\x44\x24\x2A\x88\x44\x24\x2B\xC7\x44\x24\x2C\x00\x00\x00\x00\xEB\x0A\x8B\x44\x24\x2C\xFF\xC0\x89\x44\x24\x2C\x83\x7C\x24\x2C\x08\x0F\x8D\x9F\x00\x00\x00\x8B\x44\x24\x2C\x83\xC0\x08\xC1\xF8\x02\x25\xFE\x00\x00\x00\x48\x98\x48\x8B\x4C\x24\x50\x0F\xB6\x44\x01\x02\x8B\x4C\x24\x2C\x83\xC1\x08\xBA\x1F\x00\x00\x00\x29\xCA\x89\xD1\x83\xE1\x07\xD3\xF8\x83\xE0\x01\x0F\xB6\x4C\x24\x25\x31\xC8\x8B\x4C\x24\x2C\xD3\xE0\x0F\xB6\x4C\x24\x29\x31\xC1\x89\xC8\x88\x44\x24\x29\x8B\x44\x24\x2C\x83\xC0\x18\xC1\xF8\x02\x25\xFE\x00\x00\x00\x48\x98\x48\x8B\x4C\x24\x50\x0F\xB6\x44\x01\x02\x8B\x4C\x24\x2C\x83\xC1\x18\xBA\x1F\x00\x00\x00\x29\xCA\x89\xD1\x83\xE1\x07\xD3\xF8\x83\xE0\x01\x0F\xB6\x4C\x24\x25\x31\xC8\x8B\x4C\x24\x2C\xD3\xE0\x0F\xB6\x4C\x24\x2B\x31\xC1\x89\xC8\x88\x44\x24\x2B\xE9\x4C\xFF\xFF\xFF\x48\x8B\x44\x24\x50\xC7\x40\x0B\x00\x00\x00\x00\xC7\x44\x24\x20\x00\x00\x00\x00\xC7\x44\x24\x30\x1F\x00\x00\x00\xEB\x0A\x8B\x44\x24\x30\xFF\xC8\x89\x44\x24\x30\x83\x7C\x24\x30\x00\x0F\x8C\xA4\x00\x00\x00\x0F\xB6\x44\x24\x26\xC1\xE0\x03\x48\x8B\x4C\x24\x50\x89\x41\x0F\xC7\x44\x24\x38\x00\x00\x00\x00\xEB\x0A\x8B\x44\x24\x38\xFF\xC0\x89\x44\x24\x38\x83\x7C\x24\x38\x0C\x7D\x14\x48\x8B\x54\x24\x50\x8B\x4C\x24\x30\xE8\xA6\x00\x00\x00\x88\x44\x24\x34\xEB\xDB\x8B\x44\x24\x20\xD1\xE0\x89\x44\x24\x20\x8B\x44\x24\x30\xC1\xF8\x02\x25\xFE\x00\x00\x00\x48\x98\x48\x8B\x4C\x24\x50\x0F\xB6\x44\x01\x02\xB9\x1F\x00\x00\x00\x2B\x4C\x24\x30\x83\xE1\x07\xD3\xF8\x83\xE0\x01\x8B\x4C\x24\x30\x83\xE1\x01\x31\xC8\x8B\x4C\x24\x30\x8B\x54\x24\x28\xD3\xEA\x89\xD1\x83\xE1\x01\x31\xC8\x0F\xB6\x4C\x24\x34\x31\xC8\x8B\x4C\x24\x20\x09\xC1\x89\xC8\x89\x44\x24\x20\xE9\x47\xFF\xFF\xFF\x48\x8B\x44\x24\x50\x8B\x4C\x24\x20\x89\x48\x0B\x0F\xB6\x44\x24\x26\xC1\xE0\x03\x0F\xB6\x4C\x24\x24\xC1\xE1\x02\x09\xC8\x0F\xB6\x4C\x24\x24\xD1\xE1\x09\xC8\x0F\xB6\x4C\x24\x24\x09\xC8\x48\x8B\x4C\x24\x50\x89\x41\x0F\x48\x83\xC4\x48\xC3\x48\x89\x54\x24\x10\x89\x4C\x24\x08\x48\x83\xEC\x28\x8B\x44\x24\x30\x83\xE0\x1F\x89\x44\x24\x30\x8B\x44\x24\x30\xD1\xE8\x83\xE0\x03\xE8\x10\x00\x00\x00\x80\x04\x00\x00\xA0\x04\x00\x00\x80\x05\x00\x00\xA0\x05\x00\x00\x59\x8B\x04\x81\x89\x44\x24\x04\xC7\x44\x24\x08\x00\x00\x00\x00\xC7\x44\x24\x0C\x00\x00\x00\x00\xEB\x0A\x8B\x44\x24\x0C\xFF\xC0\x89\x44\x24\x0C\x83\x7C\x24\x0C\x0C\x7D\x3D\x8B\x44\x24\x0C\x0F\xB6\xC8\x8B\x44\x24\x04\xD3\xE8\x83\xE0\x01\x85\xC0\x74\x27\x8B\x44\x24\x0C\x48\x8B\x4C\x24\x38\x48\x89\x4C\x24\x10\x0F\xB6\xC8\x48\x8B\x44\x24\x10\x8B\x40\x0F\xD3\xE8\x8B\x4C\x24\x08\x31\xC1\x89\xC8\x89\x44\x24\x08\xEB\xB2\x8B\x44\x24\x30\x83\xE0\x01\xC1\xE0\x02\x48\x8B\x4C\x24\x38\x8B\x49\x0F\x31\xC1\x89\xC8\x48\x8B\x4C\x24\x38\x89\x41\x0F\x8B\x44\x24\x30\xC1\xE8\x02\x25\xFE\x00\x00\x00\x48\x8B\x4C\x24\x38\x0F\xB6\x44\x01\x02\xB9\x1F\x00\x00\x00\x2B\x4C\x24\x30\x83\xE1\x07\xD3\xF8\x83\xE0\x01\x48\x8B\x4C\x24\x38\x0F\xB6\x49\x0A\x31\xC8\x88\x04\x24\x48\x8B\x44\x24\x38\x8B\x40\x0F\xD1\xE0\x0F\xB6\x0C\x24\x8B\x54\x24\x08\x31\xCA\x89\xD1\x83\xE1\x01\x09\xC8\x48\x8B\x4C\x24\x38\x89\x41\x0F\x8B\x44\x24\x30\x48\x8B\x4C\x24\x38\x48\x89\x4C\x24\x18\x0F\xB6\xC8\x48\x8B\x44\x24\x18\x8B\x40\x0B\xD3\xE8\x83\xE0\x01\x48\x8B\x4C\x24\x38\x8B\x49\x0F\x31\xC1\x89\xC8\x48\x8B\x4C\x24\x38\x89\x41\x0F\x48\x8B\x44\x24\x38\x8B\x40\x0F\xC1\xE8\x0B\x0F\xB6\x0C\x24\x31\xC8\x83\xE0\x01\x48\x83\xC4\x28\xC3\x48\x89\x54\x24\x10\x48\x89\x4C\x24\x08\x48\x83\xEC\x38\x48\x8B\x44\x24\x48\x83\x78\x14\x00\x74\x14\x48\x8B\x54\x24\x48\x48\x8B\x4C\x24\x40\xE8\x3F\xFA\xFF\xFF\xE9\x97\x00\x00\x00\x48\x8B\x4C\x24\x48\xE8\xA6\xFB\xFF\xFF\xC7\x44\x24\x20\x01\x00\x00\x00\xC7\x44\x24\x24\x00\x00\x00\x00\xEB\x0A\x8B\x44\x24\x20\xFF\xC0\x89\x44\x24\x20\x83\x7C\x24\x20\x27\x77\x6A\x8B\x44\x24\x24\x48\x8B\x4C\x24\x40\x0F\xB6\x04\x01\x48\x8B\x54\x24\x48\x89\xC1\xE8\x2E\xFE\xFF\xFF\x89\x44\x24\x28\x48\x8B\x44\x24\x40\x8B\x00\x83\xE0\x01\xD1\xE0\x0B\x44\x24\x28\x89\x44\x24\x24\x48\x8B\x44\x24\x40\x8B\x00\x83\xE0\x01\x3B\x44\x24\x28\x75\x12\x48\x8B\x44\x24\x40\x8B\x00\xD1\xE8\x48\x8B\x4C\x24\x40\x89\x01\xEB\x15\x48\x8B\x44\x24\x40\x8B\x00\xD1\xE8\x35\x62\x00\x50\x80\x48\x8B\x4C\x24\x40\x89\x01\xEB\x85\x48\x83\xC4\x38\xC3\x49\x89\xE3\x48\x83\xEC\x68\x45\x85\xC0\x49\x89\x5B\xF8\x49\x89\x6B\xF0\x49\x89\x73\xE8\x49\x89\x7B\xE0\x4D\x89\x63\xD8\x44\x8B\x61\x04\x44\x89\xC5\x48\x89\xD6\x48\x89\xCB\x45\x89\xE1\x45\x89\x63\xC8\x74\x26\x49\x8D\x4B\xC8\x49\x89\x4B\xB8\xE8\x00\x00\x00\x00\x5A\x48\x81\xEA\xD0\x1D\x00\x00\x48\x8B\x12\x48\x03\x52\x20\xE8\xE2\xFE\xFF\xFF\x44\x8B\x4C\x24\x30\x8B\x03\x44\x31\xC8\x89\xC1\x44\x31\xE0\x35\xC3\x25\x34\x80\x89\x0B\x89\xC1\x35\xC3\x25\x34\x80\xC1\xC0\x02\x33\x03\x89\x0B\x89\xC1\x35\xC3\x25\x34\x80\xC1\xC0\x04\x33\x03\x89\x0B\x89\xC1\x35\xC3\x25\x34\x80\xC1\xC0\x06\x33\x03\x89\x0B\x89\xC1\x35\xC3\x25\x34\x80\xC1\xC0\x08\x33\x03\x89\xC2\x35\xC3\x25\x34\x80\xC1\xC0\x0A\x89\x13\x31\xC8\x85\xED\x48\x8B\x6C\x24\x58\x89\x43\x04\x41\x89\xC4\x89\xC2\x89\x44\x24\x34\x74\x27\x48\x8D\x4C\x24\x34\xE8\x00\x00\x00\x00\x5A\x48\x81\xEA\x5D\x1E\x00\x00\x48\x8B\x12\x48\x03\x52\x20\xE8\x55\xFE\xFF\xFF\x8B\x54\x24\x34\x44\x8B\x4C\x24\x30\x8B\x03\x48\x8B\x7C\x24\x48\x31\xD0\x89\xC1\x44\x31\xE0\x4C\x8B\x64\x24\x40\x35\x4A\x00\x2C\x5B\x89\x0B\x89\xC1\x35\x4A\x00\x2C\x5B\xC1\xC0\x05\x33\x03\x89\x0B\x89\xC1\x35\x4A\x00\x2C\x5B\xC1\xC0\x0A\x33\x03\x89\x0B\x89\xC1\x35\x4A\x00\x2C\x5B\xC1\xC0\x0F\x33\x03\x89\x0B\x89\xC1\x35\x4A\x00\x2C\x5B\xC1\xC0\x14\x33\x03\x89\x0B\x89\xC1\x35\x4A\x00\x2C\x5B\xC1\xC0\x19\x33\x03\x48\x85\xF6\x89\x0B\x89\x43\x04\x48\x8B\x5C\x24\x60\x74\x06\x44\x89\x0E\x89\x56\x04\x48\x8B\x74\x24\x50\x48\x83\xC4\x68\xC3\x48\x83\xEC\x08\x4C\x8D\x0C\x24\x41\xB8\x01\x00\x00\x00\x49\x89\x09\x8B\x41\x5C\x48\xC1\xE0\x20\x8B\x49\x12\x48\x09\xC1\x48\x89\xCA\x48\x83\xC2\x08\xE8\x6E\xFE\xFF\xFF\x48\x83\xC4\x08\xC3\x49\x89\xE3\x48\x83\xEC\x68\x49\x89\x5B\xF8\x48\x89\xCB\x49\x89\x6B\xF0\x49\x89\x73\xE8\x49\x89\x7B\xE0\x4C\x89\xCF\x44\x8B\x09\x4D\x89\x63\xD8\x45\x89\xC4\x44\x89\xC8\x48\x89\xD6\x35\x4A\x00\x2C\x5B\xC1\xC0\x19\x33\x41\x04\x44\x89\x49\x04\x89\x01\x89\xC1\x35\x4A\x00\x2C\x5B\xC1\xC0\x14\x89\x4B\x04\x44\x31\xC8\x89\xC1\x35\x4A\x00\x2C\x5B\xC1\xC0\x0F\x33\x43\x04\x89\x4B\x04\x89\xC1\x35\x4A\x00\x2C\x5B\xC1\xC0\x0A\x33\x43\x04\x89\x4B\x04\x89\xC1\x35\x4A\x00\x2C\x5B\xC1\xC0\x05\x33\x43\x04\x89\x4B\x04\x89\xC1\x8B\x43\x04\x31\xC8\x89\x4B\x04\x35\x4A\x00\x2C\x5B\x45\x85\xE4\x89\x03\x89\xC5\x41\x89\xC0\x89\x44\x24\x34\x74\x37\x48\x8B\x07\x49\x8D\x4B\xCC\x44\x0F\xB7\x48\x1E\x44\x0F\xB7\x40\x0C\x0F\xB7\x50\x08\x49\x89\x4B\xB8\xE8\x00\x00\x00\x00\x5A\x48\x81\xEA\xE1\x1F\x00\x00\x48\x8B\x12\x48\x03\x52\x20\xE8\xD1\xFC\xFF\xFF\x44\x8B\x44\x24\x34\x8B\x43\x04\x44\x31\xC0\x89\xC1\x35\xC3\x25\x34\x80\xC1\xC0\x0A\x89\x4B\x04\x31\xE8\x89\xC1\x35\xC3\x25\x34\x80\xC1\xC0\x08\x33\x43\x04\x89\x4B\x04\x89\xC1\x35\xC3\x25\x34\x80\xC1\xC0\x06\x33\x43\x04\x89\x4B\x04\x89\xC1\x35\xC3\x25\x34\x80\xC1\xC0\x04\x33\x43\x04\x89\x4B\x04\x89\xC1\x35\xC3\x25\x34\x80\xC1\xC0\x02\x33\x43\x04\x89\xC2\x89\xC8\x31\xD0\x89\x53\x04\x35\xC3\x25\x34\x80\x45\x85\xE4\x4C\x8B\x64\x24\x40\x89\x03\x89\xC5\x89\xC1\x89\x44\x24\x30\x74\x3D\x48\x8B\x07\x48\x8D\x4C\x24\x30\x44\x0F\xB7\x48\x1E\x44\x0F\xB7\x40\x0C\x0F\xB7\x50\x08\x48\x89\x4C\x24\x20\xE8\x00\x00\x00\x00\x5A\x48\x81\xEA\x8E\x20\x00\x00\x48\x8B\x12\x48\x03\x52\x20\xE8\x24\xFC\xFF\xFF\x44\x8B\x44\x24\x34\x8B\x4C\x24\x30\x8B\x43\x04\x48\x8B\x7C\x24\x48\x89\x6B\x04\x48\x8B\x6C\x24\x58\x31\xC8\x48\x85\xF6\x89\x03\x48\x8B\x5C\x24\x60\x74\x06\x89\x0E\x44\x89\x46\x04\x48\x8B\x74\x24\x50\x48\x83\xC4\x68\xC3\x48\x83\xEC\x08\x4C\x8D\x0C\x24\x41\xB8\x01\x00\x00\x00\x49\x89\x09\x8B\x41\x5C\x48\xC1\xE0\x20\x8B\x49\x12\x48\x09\xC1\x48\x89\xCA\x48\x83\xC2\x08\xE8\x23\xFE\xFF\xFF\x48\x83\xC4\x08\xC3\x48\x89\xE0\x48\x81\xEC\xE8\x00\x00\x00\x48\x89\x58\x08\x48\x89\x68\x10\x48\x89\x70\x18\x48\x89\x78\x20\x4C\x89\x60\xF8\x4C\x89\x68\xF0\x4C\x89\x70\xE8\x4C\x89\x78\xE0\xB8\x08\x00\x00\x00\x44\x8D\x72\x07\x41\x89\xD7\x4C\x89\xC5\x41\xC1\xEE\x03\x41\x83\xE7\x07\x48\x89\xCB\x44\x0F\x44\xF8\x45\x31\xC9\x41\x8D\x46\xFF\x85\xC0\x44\x89\x7C\x24\x28\x44\x89\x4C\x24\x24\x45\x89\xC8\x44\x89\x4C\x24\x20\x45\x89\xCD\x45\x8D\x51\x02\x0F\x84\x7A\x02\x00\x00\x48\x8B\x7C\x24\x30\x44\x8B\x64\x24\x54\x4D\x89\xD7\x44\x31\x03\x44\x31\x4B\x04\x45\x85\xED\x8B\x0B\x8B\x53\x04\x0F\x85\x16\x01\x00\x00\x45\x39\xFE\x0F\x86\xDB\x00\x00\x00\x66\x44\x89\x6D\x10\x48\x8B\x03\x48\x89\xE9\x48\x89\x44\x24\x38\x48\x8D\x44\x24\x38\x48\x89\x7C\x24\x40\x89\x45\x12\x48\x8D\x44\x24\x38\x66\x44\x89\x7D\x16\x48\xC1\xE8\x20\x66\x44\x89\x6D\x3E\x89\x45\x5C\xE8\x1C\xFD\xFF\xFF\x48\x8B\x7C\x24\x40\x48\x8B\x44\x24\x38\x48\x89\x7C\x24\x30\x8B\x74\x24\x34\x48\x89\x03\x89\x7C\x24\x50\x48\x8D\x54\x24\x54\x66\x44\x89\x6D\x16\x45\x8D\x45\x05\x8B\x4A\xFC\x48\x83\xC2\x14\x8D\x04\x31\x83\xE1\x1F\x89\x42\xEC\x89\xF8\xD3\xC8\x31\x44\x24\x54\x8B\x4A\xEC\x8D\x04\x31\x83\xE1\x1F\x89\x42\xF0\x89\xF8\xD3\xC8\x31\x44\x24\x54\x8B\x4A\xF0\x8D\x04\x31\x83\xE1\x1F\x89\x42\xF4\x89\xF8\xD3\xC8\x31\x44\x24\x54\x8B\x4A\xF4\x8D\x04\x31\x83\xE1\x1F\x89\x42\xF8\x89\xF8\xD3\xC8\x31\x44\x24\x54\x8B\x4A\xF8\x8D\x04\x31\x83\xE1\x1F\x89\x42\xFC\x44\x8B\x64\x24\x54\x89\xF8\xD3\xC8\x41\x31\xC4\x49\xFF\xC8\x44\x89\x64\x24\x54\x75\x8A\xE9\x42\x01\x00\x00\x48\x89\xD8\x48\x89\xE9\x66\xC7\x45\x10\x00\x00\x48\xC1\xE8\x20\x66\xC7\x45\x16\x01\x00\x66\xC7\x45\x3E\x00\x00\x89\x45\x5C\x89\x5D\x12\xE8\x52\xFC\xFF\xFF\x66\xC7\x45\x16\x00\x00\xE9\x10\x01\x00\x00\x8B\x44\x24\x50\x46\x8D\x04\x21\x4C\x8D\x4C\x24\x5C\x8D\x34\x02\x44\x89\x03\x4D\x89\xFA\x89\x73\x04\x44\x89\xC1\x44\x89\xC2\x49\x83\xC1\x30\xC1\xE9\x04\x31\xF2\x83\xE1\x1F\xD3\xC2\x41\x2B\x51\xCC\x41\x31\xD0\x89\xD1\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x45\x03\x41\xD0\x44\x89\xC1\x44\x89\xC6\xC1\xE9\x04\x31\xD6\x83\xE1\x1F\xD3\xC6\x41\x2B\x71\xD4\x41\x31\xF0\x89\xF1\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x45\x03\x41\xD8\x44\x89\xC1\x44\x89\xC2\xC1\xE9\x04\x31\xF2\x83\xE1\x1F\xD3\xC2\x41\x2B\x51\xDC\x41\x31\xD0\x89\xD1\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x45\x03\x41\xE0\x44\x89\xC1\x44\x89\xC6\xC1\xE9\x04\x31\xD6\x83\xE1\x1F\xD3\xC6\x41\x2B\x71\xE4\x41\x31\xF0\x89\xF1\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x45\x03\x41\xE8\x44\x89\xC1\x44\x89\xC2\xC1\xE9\x04\x31\xF2\x83\xE1\x1F\xD3\xC2\x41\x2B\x51\xEC\x41\x31\xD0\x89\xD1\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x45\x03\x41\xF0\x44\x89\xC1\x44\x89\xC6\xC1\xE9\x04\x31\xD6\x83\xE1\x1F\xD3\xC6\x41\x2B\x71\xF4\x41\x31\xF0\x89\xF1\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x45\x03\x41\xF8\x49\xFF\xCA\x0F\x85\x0F\xFF\xFF\xFF\x44\x89\x03\x89\x73\x04\x44\x8B\x03\x44\x8B\x4B\x04\x41\x8D\x46\xFF\x41\xFF\xC5\x48\x83\xC3\x08\x44\x89\x44\x24\x20\x41\x39\xC5\x44\x89\x4C\x24\x24\x0F\x82\xA0\xFD\xFF\xFF\x44\x8B\x7C\x24\x28\x41\xBA\x02\x00\x00\x00\xEB\x05\x44\x8B\x64\x24\x54\x45\x85\xFF\x4C\x8B\xAC\x24\xD8\x00\x00\x00\x74\x2C\x48\x8D\x44\x24\x20\x48\x89\xDF\x48\x8D\x4C\x24\x20\x48\x29\xC7\x44\x89\xFA\x0F\xB6\x04\x0F\x48\xFF\xC1\x30\x41\xFF\x48\xFF\xCA\x75\xF1\x44\x8B\x4C\x24\x24\x44\x8B\x44\x24\x20\x41\x83\xFE\x02\x0F\x86\xFF\x00\x00\x00\x44\x03\x4C\x24\x50\x48\x8D\x74\x24\x5C\x45\x01\xE0\x44\x89\xC1\x44\x89\xC2\x48\x83\xC6\x30\xC1\xE9\x04\x44\x31\xCA\x83\xE1\x1F\xD3\xC2\x2B\x56\xCC\x41\x31\xD0\x89\xD1\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x44\x03\x46\xD0\x44\x89\xC1\x44\x89\xC7\xC1\xE9\x04\x31\xD7\x83\xE1\x1F\xD3\xC7\x2B\x7E\xD4\x41\x31\xF8\x89\xF9\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x44\x03\x46\xD8\x44\x89\xC1\x44\x89\xC2\xC1\xE9\x04\x31\xFA\x83\xE1\x1F\xD3\xC2\x2B\x56\xDC\x41\x31\xD0\x89\xD1\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x44\x03\x46\xE0\x44\x89\xC1\x44\x89\xC7\xC1\xE9\x04\x31\xD7\x83\xE1\x1F\xD3\xC7\x2B\x7E\xE4\x41\x31\xF8\x89\xF9\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x44\x03\x46\xE8\x44\x89\xC1\x44\x89\xC2\xC1\xE9\x04\x31\xFA\x83\xE1\x1F\xD3\xC2\x2B\x56\xEC\x41\x31\xD0\x89\xD1\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x44\x03\x46\xF0\x44\x89\xC1\x45\x89\xC1\xC1\xE9\x04\x41\x31\xD1\x83\xE1\x1F\x41\xD3\xC1\x44\x2B\x4E\xF4\x45\x31\xC8\x44\x89\xC9\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC0\x44\x03\x46\xF8\x49\xFF\xCA\x0F\x85\x10\xFF\xFF\xFF\xEB\x51\x41\x83\xFE\x01\x75\x0D\x8B\x03\x89\x44\x24\x20\x8B\x43\x04\x89\x44\x24\x24\x48\x8D\x44\x24\x20\x48\x89\xE9\x66\xC7\x45\x10\x00\x00\x89\x45\x12\x48\x8D\x44\x24\x20\x66\xC7\x45\x16\x01\x00\x48\xC1\xE8\x20\x66\xC7\x45\x3E\x00\x00\x89\x45\x5C\xE8\x7D\xF9\xFF\xFF\x44\x8B\x4C\x24\x24\x44\x8B\x44\x24\x20\x66\xC7\x45\x16\x00\x00\x4C\x8B\xA4\x24\xE0\x00\x00\x00\x48\x8B\xAC\x24\xF8\x00\x00\x00\x41\x83\xFE\x01\x4C\x8B\xB4\x24\xD0\x00\x00\x00\x76\x1B\x45\x85\xFF\x74\x0C\x48\x8D\x73\xF8\x44\x89\xF9\x48\x89\xDF\xF3\xA4\x44\x89\x43\xF8\x44\x89\x4B\xFC\xEB\x07\x44\x89\x03\x44\x89\x4B\x04\x4C\x8B\xBC\x24\xC8\x00\x00\x00\x48\x8B\xBC\x24\x08\x01\x00\x00\x48\x8B\xB4\x24\x00\x01\x00\x00\x48\x8B\x9C\x24\xF0\x00\x00\x00\x48\x81\xC4\xE8\x00\x00\x00\xC3\x48\x89\xE0\x48\x81\xEC\xF8\x00\x00\x00\x48\x89\x58\x08\x48\x89\x68\x10\x48\x89\x70\x18\x48\x89\x78\x20\x4C\x89\x60\xF8\x4C\x89\x68\xF0\x4C\x89\x70\xE8\x4C\x89\x78\xE0\x48\x89\xCB\x8D\x4A\x07\x89\xD0\xBA\x08\x00\x00\x00\xC1\xE9\x03\x83\xE0\x07\x4C\x89\xC7\x0F\x44\xC2\x45\x31\xFF\x83\xF9\x01\x89\x4C\x24\x30\x44\x8D\x62\x04\x44\x89\x7C\x24\x2C\x44\x89\x7C\x24\x34\x44\x89\x7C\x24\x28\x45\x89\xFE\x89\x44\x24\x38\x0F\x86\x9F\x01\x00\x00\x83\xC1\xFE\x44\x89\xFE\x89\x4C\x24\x20\x0F\x84\x8F\x01\x00\x00\x48\x8B\x44\x24\x40\x44\x8B\x6C\x24\x64\x8B\x6C\x24\x60\x85\xF6\x44\x8B\x03\x44\x8B\x73\x04\x45\x89\xC7\x44\x89\x44\x24\x28\x0F\x85\xEE\x00\x00\x00\x48\x89\x44\x24\x50\x48\x8D\x44\x24\x48\x66\x89\x77\x10\x48\x8B\x0B\x89\x47\x12\x48\x8D\x44\x24\x48\x48\xC1\xE8\x20\x48\x89\x4C\x24\x48\x48\x89\xF9\x66\xC7\x47\x16\x02\x00\x66\x89\x77\x3E\x89\x47\x5C\xE8\x0E\xFA\xFF\xFF\x48\x8B\x44\x24\x48\x4C\x8D\x44\x24\x64\x48\x89\x03\x48\x8B\x44\x24\x50\x44\x8D\x56\x05\x48\x89\x44\x24\x40\x44\x8B\x4C\x24\x44\x66\x89\x77\x16\x89\x44\x24\x60\x41\x8B\x48\xFC\x49\x83\xC0\x14\x42\x8D\x14\x09\x83\xE1\x1F\x41\x89\x50\xEC\x89\xC2\xD3\xCA\x31\x54\x24\x64\x41\x8B\x48\xEC\x42\x8D\x14\x09\x83\xE1\x1F\x41\x89\x50\xF0\x89\xC2\xD3\xCA\x31\x54\x24\x64\x41\x8B\x48\xF0\x42\x8D\x14\x09\x83\xE1\x1F\x41\x89\x50\xF4\x89\xC2\xD3\xCA\x31\x54\x24\x64\x41\x8B\x48\xF4\x42\x8D\x14\x09\x83\xE1\x1F\x41\x89\x50\xF8\x89\xC2\xD3\xCA\x31\x54\x24\x64\x41\x8B\x48\xF8\x42\x8D\x14\x09\x83\xE1\x1F\x41\x89\x50\xFC\x44\x8B\x6C\x24\x64\x89\xC2\xD3\xCA\x41\x31\xD5\x49\xFF\xCA\x44\x89\x6C\x24\x64\x0F\x85\x77\xFF\xFF\xFF\x8B\x6C\x24\x60\xEB\x4B\x45\x89\xE3\x45\x89\xF1\x4C\x8D\x94\x24\xC0\x00\x00\x00\x45\x2B\x42\x04\x44\x89\xC9\x49\x83\xEA\x08\xC1\xE9\x07\x83\xE1\x1F\x41\xD3\xC8\x45\x31\xC8\x45\x03\x4A\x08\x44\x89\xC1\xC1\xE9\x04\x83\xE1\x1F\x41\xD3\xC9\x45\x31\xC1\x41\x83\xC3\xFF\x75\xD0\x45\x29\xE8\x41\x29\xE9\x44\x89\x4B\x04\x44\x89\x03\x8B\x4C\x24\x34\xFF\xC6\x48\x83\xC3\x08\x31\x4B\xF8\x8B\x4C\x24\x2C\x44\x89\x7C\x24\x34\x31\x4B\xFC\x3B\x74\x24\x20\x44\x89\x74\x24\x2C\x0F\x82\x88\xFE\xFF\xFF\x8B\x44\x24\x38\x45\x31\xFF\xEB\x09\x44\x8B\x6C\x24\x64\x8B\x6C\x24\x60\x85\xC0\x44\x89\x7C\x24\x20\x44\x89\xFE\x44\x89\x7C\x24\x24\x74\x1A\x48\x8D\x53\x08\x48\x8D\x4C\x24\x20\x41\x89\xC0\xE8\xB8\xED\xFF\xFF\x8B\x74\x24\x24\x44\x8B\x7C\x24\x20\x44\x8B\x5C\x24\x30\x41\x83\xFB\x01\x75\x32\x48\x89\xD8\x48\x89\xF9\x66\xC7\x47\x10\x00\x00\x48\xC1\xE8\x20\x66\xC7\x47\x16\x01\x00\x66\xC7\x47\x3E\x00\x00\x89\x47\x5C\x89\x5F\x12\xE8\x75\xF8\xFF\xFF\x66\xC7\x47\x16\x00\x00\xE9\x29\x01\x00\x00\x41\x83\xFB\x02\x75\x34\x48\x89\xD8\x48\x89\xF9\x66\xC7\x47\x10\x00\x00\x48\xC1\xE8\x20\x66\xC7\x47\x16\x01\x00\x66\xC7\x47\x3E\x00\x00\x89\x47\x5C\x89\x5F\x12\xE8\x3D\xF8\xFF\xFF\x44\x8B\x5C\x24\x30\x66\xC7\x47\x16\x00\x00\xEB\x55\x8B\x13\x44\x8B\x43\x04\x45\x89\xE2\x4C\x8D\x8C\x24\xC0\x00\x00\x00\x41\x2B\x51\x04\x44\x89\xC1\x49\x83\xE9\x08\xC1\xE9\x07\x83\xE1\x1F\xD3\xCA\x44\x31\xC2\x45\x03\x41\x08\x89\xD1\xC1\xE9\x04\x83\xE1\x1F\x41\xD3\xC8\x41\x31\xD0\x41\x83\xC2\xFF\x75\xD2\x44\x29\xEA\x41\x29\xE8\x41\x83\xFB\x01\x89\x13\x44\x89\x43\x04\x0F\x86\x9A\x00\x00\x00\x44\x33\x3B\x33\x73\x04\x8B\x44\x24\x38\x85\xC0\x44\x89\x7C\x24\x20\x89\x74\x24\x24\x74\x31\x4C\x8D\x44\x24\x20\x49\x89\xD9\x48\x8D\x4B\x08\x4D\x29\xC1\x49\x89\xC0\x48\x8D\x54\x24\x20\x0F\xB6\x01\x48\xFF\xC1\x48\xFF\xC2\x49\xFF\xC8\x41\x88\x44\x11\xFF\x0F\xB6\x42\xFF\x88\x41\xFF\x75\xE6\x41\x83\xFB\x02\x0F\x84\xED\xFE\xFF\xFF\x8B\x13\x44\x8B\x43\x04\x4C\x8D\x8C\x24\xC0\x00\x00\x00\x41\x2B\x51\x04\x44\x89\xC1\x49\x83\xE9\x08\xC1\xE9\x07\x83\xE1\x1F\xD3\xCA\x44\x31\xC2\x45\x03\x41\x08\x89\xD1\xC1\xE9\x04\x83\xE1\x1F\x41\xD3\xC8\x41\x31\xD0\x41\x83\xC4\xFF\x75\xD2\x44\x29\xEA\x41\x29\xE8\x44\x89\x43\x04\x89\x13\x8B\x44\x24\x28\x4C\x8B\xBC\x24\xD8\x00\x00\x00\x4C\x8B\xAC\x24\xE8\x00\x00\x00\x31\x03\x44\x31\x73\x04\x4C\x8B\xA4\x24\xF0\x00\x00\x00\x4C\x8B\xB4\x24\xE0\x00\x00\x00\x48\x8B\x9C\x24\x00\x01\x00\x00\x48\x8B\xBC\x24\x18\x01\x00\x00\x48\x8B\xB4\x24\x10\x01\x00\x00\x48\x8B\xAC\x24\x08\x01\x00\x00\x48\x81\xC4\xF8\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\x57\x59\xE9\xF9\xD5\xFF\xFF')
    fullfname=os.getcwd()+'/backbas.so'
    
    # uncomment next 2 lines to get unipatch for 10 spartans
    #unipatch[0x11F8]=10
    #unipatch[0x137E]=10
    
    
    try:
      fp = open(fullfname, 'r+')
      if os.stat(fp.name).st_size > 0:
        mm = mmap.mmap(fp.fileno(), 0)
    
        # WTF? "to smoke": man 5 elf
        if mm[0]!=0x7f or mm[1]!=0x45 or mm[2]!=0x4C or mm[3]!=0x46 or mm[4]!=2 or mm[5]!=1 or mm[6]!=1 or mm[16]!=3 or mm[17]!=0 or mm[18]!=0x3E or mm[19]!=0:
          print ("what's a fuck are you giving me?")
          sys.exit()
    
        e_phoff     = mm[0x20]+(mm[0x21]+(mm[0x22]+(mm[0x23]<<8)<<8)<<8)
        e_phentsize = mm[0x36]+(mm[0x37]<<8)
        e_phnum     = mm[0x38]+(mm[0x39]<<8)
    
        for i in range(e_phnum):
          p = e_phoff + i * e_phentsize
          p_type  = mm[p]  +(mm[p+1]+(mm[p+2]+(mm[p+3]<<8)<<8)<<8)
          p_flags = mm[p+4]+(mm[p+5]+(mm[p+6]+(mm[p+7]<<8)<<8)<<8)
          if (p_type==1 and p_flags==5):
              print(f"p_type={hex(p_type)}, p_flags={hex(p_flags)}")
              print(f"mm[{hex(p+4)}] += PF_W")
              mm[p+4] = 7
              break
    
        pattern_addr = mm.find(pattern)
        if pattern_addr != -1:
          unipatch_addr=pattern_addr-0x2A75
          print (f"patching  {fullfname}  at offset={hex(unipatch_addr)}")
          mm[unipatch_addr:unipatch_addr+0x2A07] = unipatch
    
      mm.close()
    except IOError as e:
      print (f"I/O error({e.errno}): {e.strerror}, filename={fullfname}")
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  13. 12 пользователя(ей) сказали cпасибо:

    asotel (24.11.2022), CDGR (24.11.2022), detect (26.11.2022), imartyn (24.11.2022), mangazone (02.12.2022), newcss (23.11.2022), Pependos (23.11.2022), redhat2020 (01.12.2022), root7 (20.01.2024), Toomad (27.11.2022), vovashulga (01.12.2022), wlion (04.12.2022)

  14. #8
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    для файловых баз необходимо ещё вот это:
    Код:
    # это годится только для 22-1709-linux64
    printf '\xEB'         | dd of=backbas.so bs=1 seek=$((0x003AB22C)) count=1 conv=notrunc
    printf '\x90\x90'     | dd of=backbas.so bs=1 seek=$((0x003AB29F)) count=2 conv=notrunc
    printf '\xEB'         | dd of=backbas.so bs=1 seek=$((0x003AB2A8)) count=1 conv=notrunc
    printf '\x31\xC0\x90' | dd of=backbas.so bs=1 seek=$((0x003BA2CF)) count=3 conv=notrunc
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  15. 4 пользователя(ей) сказали cпасибо:

    redhat2020 (01.12.2022), root7 (20.01.2024), vovashulga (01.12.2022), wlion (08.12.2022)

  16. #9
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    Цитата Сообщение от HPDX2300 Посмотреть сообщение
    для файловых баз необходимо ещё вот это:
    этот код надо выполнять в окне терминала, либа бэкбейс должна быть рядом.
    код ниже сохранить в файл delic.sh
    запускать так (либа бэкбейс должна быть рядом - в том же каталоге):
    sh delic.sh
    если предварительно выполнить:
    chmod +x delic.sh
    , то запускать можно будеть так:
    ./delic.sh
    Код:
    #!/bin/sh
    # это годится только для 22-1709-linux64
    printf '\xEB'         | dd of=backbas.so bs=1 seek=$((0x003AB22C)) count=1 conv=notrunc
    printf '\x90\x90'     | dd of=backbas.so bs=1 seek=$((0x003AB29F)) count=2 conv=notrunc
    printf '\xEB'         | dd of=backbas.so bs=1 seek=$((0x003AB2A8)) count=1 conv=notrunc
    printf '\x31\xC0\x90' | dd of=backbas.so bs=1 seek=$((0x003BA2CF)) count=3 conv=notrunc
    для "чайников" расписал подробнее - "как это выполнять?"
    Последний раз редактировалось HPDX2300; 27.11.2022 в 20:02.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  17. 5 пользователя(ей) сказали cпасибо:

    olegtelec (01.12.2022), redhat2020 (01.12.2022), root7 (20.01.2024), Toomad (27.11.2022), vovashulga (01.12.2022)

  18. #10
    Помогает людям
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    253
    Сказал(а) спасибо
    69
    Поблагодарили 1815 раз(а) в 395 сообщениях

    По умолчанию Re: уни-патч для линукса и для макоси

    немного инфы для снятия нервного напряжения:
    "SN" (SerialNumber) и первые 112 байт памяти ключа (в дампе это "Data") задействованы в проверке hasp-ключа изделием.

    Хочу сказать разработчикам защитных механизмов изделия: "тщительнее тестировать надо, ребята", а то поставили всех причастных к саппорту вашего изделия в позу с опорой на четыре кости.
    А если у последнего факапа будет продолжение, то набросал примерный план ответных действий:

    1) уже в процессе разработки генератор "мутантов" с подбором "белого" значения "SN";
    примерная схема работы:
    (1) - берем какой-нибудь SN (из ранее известных);
    (2) - отправляем на сервис вендора пакет так, как это делает платформа перед "наказанием"; (скриптик на питоне уже в процессе реализации)
    (3) - если в ответе сервера нет "наказания", то вычисляем байтики для "Data" (уже реализовано). если в ответе сервера есть "наказание", то SN=SN+1 и переход к (2)

    2) есть патч, ломающий проверку hasp-ключа изделием - так что изделие стартанет с любым значением SN ключа; если доступ к инет-сервису валидации будет открыт, то нужно ещё патчить механизм "наказания"

    3) в некоторых случаях (на клиенте) требуется, чтобы ключик от унипатча был строго сетевой - легко делается в унипатче (убираем реализацию HASP-API-сервисов локального ключа и оставляем только сервисы сетевого хаспа)

    P.S.
    в виндовом унипатче, которым мы научились пользоваться под Linux, 99% кода - это реализация сервисов шифрования и дешифрования данных - огромное СПАСИБО создателям виндового унипатча за этот код.
    Последний раз редактировалось HPDX2300; 01.12.2022 в 23:58. Причина: исправление очепяток
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  19. 6 пользователя(ей) сказали cпасибо:

    Ikarus (13.12.2022), kelt44 (02.12.2022), olegtelec (02.12.2022), redhat2020 (03.12.2022), root7 (20.01.2024), vovashulga (04.12.2022)

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 07.02.2012, 23:43
  2. Патч для Warcraft III 1.26 rus
    от GHoSt444 в разделе Игры (games)
    Ответов: 0
    Последнее сообщение: 30.06.2011, 18:18
  3. Патч к AMS Enterprise 2.9
    от kryak_er в разделе Полезности
    Ответов: 2
    Последнее сообщение: 09.06.2009, 23:06
  4. Установка Линукса.
    от Большой Брат в разделе LINUX
    Ответов: 18
    Последнее сообщение: 09.11.2007, 05:26

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •