Очень часто непосвященные люди задают вопросы вроде "Как расшифровать обфусцированный PHP-скрипт?", "Хороша ли защита PHP-скрипта обфускатором?" и даже "Помогите деобфусцировать! Вам же не сложно?". Цель этой статьи - показать, что обфускаторы дают в 90% случаев никакущую защиту (которая способна защитить только от людей, увидевших язык программирования первый раз в жизни). Снять ее можно обычно минут за 10-20, получив исходный PHP-скрипт в первозданном виде. Остальные 10% случаев - это немного усложненная защита, которая, впрочем, снимается теми же путями. Если вы желаете самостоятельно научиться снимать обфускацию со скриптов, то эта статья специально для вас!
Как я уже говорил выше, задача деобфускации PHP-cкриптов очень актуальна. Достаточно взглянуть на один популярный хак-форум:
Что ж, давайте по шагам разберем, как в большинстве случаев деобфусцируются скрипты на PHP. Возьмем пример прямо из темы на вышеупомянутом форуме с просьбами людей, не желающих разобраться самостоятельно либо думающих, что это невероятно сложно.
Для деобфускации нам потребуются руки, трезвая голова и Notepad++ (можно и другой редактор, желательно умеющий подсвечивать одинаковые подстроки в документе - это ускорит снятие обфускатора).
Для примера берем совершенно абстрактный, накрытый неизвестным мне, но в последнее время чрезвычайно популярным обфускатором, скрипт: original.php.
Сохраняем его в директорию нашего Web-сервера под именем original.php, а затем дублируем его же под другим именем, например, script.php. Позже я поясню, для чего это надо. Открываем скрипт и начинаем его изучение.
Видим, что сам скрипт по размеру небольшой, зато в конце файла, уже после скрипта, находится некий зашифрованный кусок текста. Видим также вызов инструкции PHP eval(), которая исполняет переданный ей PHP-код. Первым делом меняем eval на print, чтобы просмотреть, что же она выполняет. Дабы убедиться, что скрипт не натворит на нашем компьютере ничего плохого, просматриваем то, что идет выше - а это безобидный вызов urldecode(), несколько конкатенаций строк и присвоение значений паре переменных. Кроме того, перед вызовом eval() выполняется функция, имя которой хранится в переменной $OOO0000O0. Проверим, что эта функция не делает чего-либо зловредного, для начала просто выведя ее имя и временно закомментировав строку с eval:
Обратите внимание, что редактирую я скрипт script.php, а оригинал original.php оставил без изменений. Обращаемся в браузере к скрипту script.php и видим вывод: base64_decode. Понятно, значит, перед вызовом eval() ничего плохого не происходит, и можно смело менять его на print():
Снова запускаем script.php через браузер и видим следующий вывод:
1 |
$O000O0O00=$OOO000O00($OOO0O0O00,'rb');$O0O00OO00($O000O0O00,0x49f);$OO00O00O0=$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,0x17c),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'));eval($OO00O00O0); |
Уже по этому неразборчивому коду можно догадаться, что он открывает какой-то файл на выполнение и что-то с ним делает (скорее всего, читает). Кроме того, тут появился очередной вызов eval(). Выведя значение переменной $OOO000O00 видим, что это не что иное, как имя функции fopen(). Какой же файл открывает данный код? Воспользуемся подсветкой Notepad++:
Видим, что это имя текущего файла, то есть script.php. Мы уже серьезно изменили этот скрипт, но можно же заставить код считывать оригинал, который мы заботливо припасли!
Далее, выводя содержимое переменной $O0O00OO00, убеждаемся, что это имя функции fread и файл действительно читается. Сначала считывается 0х49f байтов, которые никуда не сохраняются, а затем еще 0х17c, и вот с ними скрипт уже что-то делает. Чтобы определить, что именно он с ними творит, выводим как обычно содержимое переменных $OOO0000O0 (это base64_decode) и $OOO00000O (это strtr). Таким образом, считанное содержимое сначала прогоняется через strtr(), а затем через base64_decode(). Проще говоря, производится раскодирование. А раскодированное содержимое затем пропихивается в eval(). Теперь мы его снова можем безболезненно заменить на print():
Снова исполняем через браузер script.php и видим очередную порцию кода:
1 |
$OO00O00O0=str_replace('__FILE__',"'".$OOO0O0O00."'",$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,$OO00O0000),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));fclose($O000O0O00);eval($OO00O00O0); |
Добавляем этот код в файл script.php и начинаем его разбирать:
С помощью подсветки Notepad++ (выделяя по очереди переменные с исковерканными именами) узнаем уже знакомую конструкцию base64_decode(strtr(fread())), только вот в fread теперь количество байтов для считывания указано неявно, но и это не проблема, ведь чуть выше оно пишется в переменную, которая и передается в fread:
1 |
$OO00O0000=0x2f24; |
Здесь же явно вызывается str_replace, меняющая в считанной и декодированной строке все вхождения подстроки "__FILE__" на имя нашего файла. Значит, меняем замену на "original.php", как мы делали выше:
После всего этого мы видим вызов fclose - значит, с файлом делаться больше ничего не будет. Остается последний вызов eval(), который мы в очередной раз меняем на print():
И снова запускаем скрипт из браузера... Ура! Наконец-то мы получили исходный код скрипта! В нем немного исковерканы некоторые имена переменных, но это уже не проблема, так как мы видим исходный код!
Вот и все, скрипт расшифрован без проблем и сложностей! Таким методом, пошагово анализируя кусочки кода, которые нам встречаются, можно снять любую обфускацию, потратив на это не более получаса! Проведя такую работу несколько раз с разными типами обфускаторов и разными скриптами, вы научитесь распознавать их сразу по внешнему виду и расшифровывать буквально за 5 минут!
Стоит заметить, что в накрытых рассмотренным обфускатором скриптах не стоит ничего менять (в том числе и комментарии), потому что скрипт считывает сам себя, а смещения, используемые при считывании, жестко забиты в файл. Таким образом, если поправить начальный комментарий, например, укоротив его всего на 1 символ, мы превращаем скрипт в неработоспособный текстовик.
Также отмечу, что при деобфускации данного скрипта я производил множество лишних действий (для того, чтобы как можно более подробно показать пошаговый процесс снятия обфускатора), но все это можно проделать гораздо быстрее и оптимальнее, если немного знать, как устроен тот или иной обфускатор.
Для конкретных обфускаторов можно написать автоматический скрипт-деобфускатор, чтобы свести работу к минимуму.
В свое время я уже писал скрипт, позволяющий снимать конкретно такую обфускацию, и с радостью делюсь им с вами. Этот скрипт также умеет и снимать привязку (так как такой обфускатор, который я рассмотрел в статье, умеет делать привязку скрипта к конкретному домену). Скачать деобфускатор!
Спасибо за полезную и интересную статью.
Действительно полезно!)
Пускай Каими расскажет, как он дотнет обфусцировал во втором квесте :)
DX, привет.
Можешь посоветовать наиболее мощный обфускатор кода, на твой взгляд.
Твой обфускатор снимается так же не сложно, как и описанный в статье.
Спасибо!
Привет, не могу, потому что все обфускаторы примитивны, да и нельзя сделать обфускатор для PHP настолько сложным, чтобы его нельзя было снять в течение пары часов. Можно, конечно, использовать Zend Optimizer или ioncube, но и для их снятия есть готовые пути.
По деобфускации ioncube не подскажешь? Не нашел решений.
После снятия куба функции остаются зашифрованными.
Это другой уровень, на уровне самого интерпретатора PHP и Zend, а не просто скрипт. Не в курсе, как такое снимают.
Извиняюсь, конечно, но статья бесолезная. Смысл показывать и так очевидные действия?
Зато есть куда посылать просителей отсюда https://forum.antichat.net/thread144505.html
Кому-то бесполезная, а кому-то и очень полезная. Я, например, не знал всего этого (и в свое время не прошел квест от Kaimi дальше этапа с обфускацией пхп).
А мне было интересно почитать.
http://habrahabr.ru/blogs/php/137459/
куча мала:
http://netspider.com.ua/index.php/tag/deobfuscation/
Автору респект, Статья правда поучительная, вот только вопрос, возможно ли, что после деобфускации код будет не совсем в рабочем состоянии. Или это у меня ручки кривые))?
Если всё сделано правильно, то код будет полностью рабочий)
Благодарю за статью, очень помогло. Даже не думал, что так просто.
Подскажите как теперь код привести к чистому
вот что получилось
$OO00O00O0=str_replace('__FILE__',"'".$OOO0O0O00."'",$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,$OO00O0000),'2v4uSioMcAFrH+gxGbDnBX9hZEQClO1U6yTkIe7dqwPpfK8t05mVWj/YLJRNzs3a=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));fclose($O000O0O00);eval($OO00O00O0); $OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};;echo '';eval($GLOBALS['OOO0000O0']('JElJSUlJSUlJbGwxST0nc29ja2V0X2Nsb3NlJzskSUlJSUlJSWwxMWxJPSdzb2NrZXRfd3JpdGUnOyRJSUlJSUlJbDExSUk9J3NvY2tldF9jb25uZWN0JzskSUlJSUlJSUlJbGxsPSdzb2NrZXRfbGFzdF9lcnJvcic7JElJSUlJSUlJSWxsST0nc29ja2V0X3N0cmVycm9yJzskSUlJSUlJSUlJbEkxPSdzb2NrZXRfY3JlYXRlJzs='));;echo '';
error_reporting(E_ALL);
require_once($GLOBALS['OOO0000O0']('dm9jX2ljcV9nYXRlX2NvbmYucGhw'));
$service_port = $voc_icq_gate_socport;
$address = gethostbyname($GLOBALS['OOO0000O0']('MTI3LjAuMC4x'));
$socket = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbEkx')](AF_INET,SOCK_STREAM,SOL_TCP);
if ($socket === false) {
echo $GLOBALS['OOO0000O0']('c29ja2V0X2NyZWF0ZSgpIGZhaWxlZDogcmVhc29uOiA=') .$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbGxJ')]($GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbGxs')]()) ."\n";
}
$result = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSWwxMUlJ')]($socket,$address,$service_port);
if ($result === false) {
echo "socket_connect() failed.\nReason: ($result) ".$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbGxJ')]($GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbGxs')]($socket)) ."\n";
}
$in = "$in_send \r\n";
$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSWwxMWxJ')]($socket,$in,strlen($in));
$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsbDFJ')]($socket);
;echo $GLOBALS['OOO0000O0']('DQoNCg==');
а хотелось бы что бы это выглядело без этих 00000 и не понятных крякозяб
Брать и руками приводить.
если знаешь как расскажи пожалуйста и желательно по подробней я впервый раз этим занимаюсь а очень надо
В твоем случае "расскажи как" эквивалентно "сделай за меня". Если было бы желание, прочитал бы статейку и сам допер, ничего сложного нет, просто однообразная работа. Если желания нет, то проще заказать у каких-нибудь фрилансеров.
я нее прошу делать за меня мне хочется понять самому как это делается ... выше найдете вывод скрипта который я получил и мне не понятно как теперь его можно привести в нормальный вид ... я понимаю что вы умные и знаете как это делать Но и в этой статье в самом конце написано :
Цитата :
И снова запускаем скрипт из браузера... Ура! Наконец-то мы получили исходный код скрипта! В нем немного исковерканы некоторые имена переменных, но это уже не проблема, так как мы видим исходный код!
а да сверху я выложил именно исходный код а не вывод браузера
А ничего не сделаешь, кроме ручного упрощения. Читаешь скрипт, осмысливаешь его, даешь переменным нормальные имена. вместо всяких там $Oooo00oO0. Если не знаешь, что делает та или иная функция, всегда можно пойти на php.net и прочитать. $_GLOBALS['ololo'] эквивалентно просто $ololo, например.
Ой, и я такой не нуб .
Люблю когда прога всё делает - а я кофффе пью.
здраствуйте, часть кода расшифровал как описано здесь (http://habrahabr.ru/blogs/php/137459/).
Никак не могу понять что делать здесь
$GLOBALS['_414705932_'][51](round(0) + 2.5 + 2.5) => "",
$GLOBALS['_414705932_'][52](round(0) + 5.3333333333333 + 5.3333333333333 + 5.3333333333333) => "",
$GLOBALS['_414705932_'][53](round(0) + round(0 + 1.6 + 1.6 + 1.6 + 1.6 + 1.6)) => "",
$GLOBALS['_414705932_'][54](round(0) + round(0 + 0.75 + 0.75 + 0.75 + 0.75)) => "",
$GLOBALS['_414705932_'][55](round(0) + 10.333333333333 + 10.333333333333 + 10.333333333333) => "",
$GLOBALS['_414705932_'][56](round(0) + 4.3333333333333 + 4.3333333333333 + 4.3333333333333) => "",
Огромное человеческое спасибо
не подскажете как расшифровать такой код
$GLOBALS['_1887855238_']=Array('round','' .'round','roun' .'d','round','round','ro' .'u' .'nd','' .'r' .'ound','rou' .'nd','round','' .'round','round','round','ro' .'und','roun' .'d','round','rou' .'n' .'d','round','rou' .'n' .'d','' .'ro' .'und','rou' .'nd','' .'round','round','round','roun' .'d','' .'round','' .'r' .'o' .'u' .'nd','ro' .'u' .'n' .'d','ro' .'und','rou' .'nd','round','roun' .'d','round','' .'ro' .'un' .'d','rou' .'nd','r' .'ound','ro' .'un' .'d','roun' .'d','round','roun' .'d','round','round','rou' .'nd','roun' .'d','rou' .'nd','round','r' .'ou' .'nd','r' .'ound','rou' .'nd','roun' .'d','round','round','' .'round','' .'r' .'ound','rou' .'nd','ro' .'un' .'d','round','' .'round','round','' .'ro' .'u' .'nd','round','round','ro' .'und','ro' .'und','rou' .'n' .'d','ro' .'u' .'nd','' .'ro' .'und','round','rou' .'nd','rou' .'nd','rou' .'nd','roun' .'d','round','roun' .'d','roun' .'d','ro' .'und','round','round','' .'ro' .'un' .'d','r' .'o' .'und','round','round','r' .'ound','roun' .'d','round','r' .'oun' .'d','round','roun' .'d','ro' .'und','round','rou' .'n' .'d','r' .'o' .'und','roun' .'d','r' .'ound','r' .'ound','round','' .'rou' .'nd','round','round','r' .'ound','roun' .'d','round','round','r' .'o' .'und','roun' .'d','round','' .'round','round','roun' .'d','r' .'oun' .'d','round','round','ro' .'und','round','round','ro' .'und','r' .'oun' .'d','roun' .'d','round','rou' .'nd','' .'r' .'ound','round','ro' .'u' .'nd','round','round','' .'round','rou' .'nd','round','' .'rou' .'nd','round','roun' .'d','rou' .'nd','round','rou' .'nd','round','r' .'ound','r' .'ound','rou' .'n' .'d','r' .'ound','r' .'ound','round','roun' .'d','' .'round','round','round','ro' .'un' .'d','ro' .'und','rou' .'nd','round','round','round','round','r' .'ound','r' .'o' .'u' .'nd','r' .'o' .'und','round','r' .'ound','r' .'o' .'u' .'nd','r' .'ou' .'nd','ro' .'und','r' .'ound','ro' .'und','' .'rou' .'nd','rou' .'nd','r' .'o' .'un' .'d','rou' .'n' .'d','ro' .'un' .'d','rou' .'nd','' .'roun' .'d','r' .'ound','rou' .'nd','r' .'ou' .'nd','r' .'ound','roun' .'d','round','round','round','roun' .'d','' .'round','' .'ro' .'und','' .'round','roun' .'d','r' .'ou' .'n' .'d','round','roun' .'d','round','ro' .'und','roun' .'d','rou' .'n' .'d','round'); ?>_IIlIIIlIIIlI2='==wQNnCj4UA0VqlDYMuWFX1ih0jz1s5LKGajGV1Xz3olO6rSnDABP+3Ff4wXbXAaAVEPb9iq1s5peROttGTuwU7qQa7Hj7srdMS3fyUhfFrbsjQWrv1MUUKaI42nqOQJCDx2wWccwZJPDOEjuISZv00OVWuIQ5O/FcUy+SgPIf3OA9ZiBukMtQdFNxQCULTiYHJ/JmJcxovSbrt3wPro65RcqMtJKa5FXmpl7zw/+fI3LmgkZrJChkC1VqlNJbL0O7qs5f8g2ox0JeU5QIQBM4xaf8y12wJ9+xADHDJisq0B31Lxfwywvah89pTGRxvwxTja+cPdS8ugGWD9JwL2VScjm8imS/sHo6B5H9Amvruo/5V94Sv3Mgime0sJG2JIkkymHFYFOhw1+ADRXOrxFiM5IgwHNCRnTrPvKYrb//6LIsE8QUIyYESfOiZ7GOt8CN+g3fXZQvqt1QvFhG+yySHu6L5/0GKAANY11KQKYyyPdbbL2ZGlIEWyp2WItJnfMqgvUuNbREVW1CuQYkd0Xv8cNDdZLPHXsoDmujnTYrgYGHPQHmJbBjSyHGWdD1YmwN3078au60zJIxaGXR+yT0KfC3uVaYRjTi27OzLIEkSithhM95wc81QN1lefN4nr+G3WRm4ztl7P060lFrZEDSU/qjYGuQ5puwKK8+HE0irXoL7+jzPigq8bfotDMRSt4iSsgyDOUjzDSUlx7E6kC4REAUX/hZ5WT9hbCH1E+qUW7Kyhjar5w4np+8XrP0Cv4wwbrPR7ytphrbzW0agINb/2LF2dE5nyX/YoYIv1OOcfWpe/uIFgYrKXh1TTbU1+t2is1No37C7wJaHvZcBDxFQsIDxkV3doici9YWKHthPIHybyH9Pxq0oyR9eVpz+KEN/KOzy0W2WrnBCgA1d17ikT02AVic+hastYRvDZ9DQ2vfagmWCRzfrerGtAZBg9H0yef+tcWR+twaYVieDmZ/qu2m7AMjGL2p4AZALJoGGiipy/89cYdJGvU7oQ33XW+b5PyoYoW9cFirqw4ZU8BSnGHHMSXJeSfXztV5Hv/qZLNo5dP5/rwtM5PAwQ1HNmElAWiRAJoTJAF/Sr16RuN2eU8a/jas6/JEgLZBEU2mcB5hiJIuVYsVkeUxKnAj3pWvboI2BB1ksifMBCFOURA8msKssI6m+snmUxPxsgGswf6YvFAkEfTTqdp9W9/ofyoX9I4uLVNQrcGolVlPtoiTs7WWwxbbblhGG1wlluvDSBA+tPv5ZfBlFlNVJTdy2kWEy5IjSyUgMAeEsDDNs4fhchHfKZZE9r6UYfH2PEeuO1lmn6yhn9s8NSL+VUm4BrEj5w1822xvSZPgNwJfSfrHljFA3UEdUrTwIweLxXY/1uEA4YzFPEvrDXr7vplpCpWLe3mVlBnXA2Qsr1AG6yAhUpa1xK+L9qS21Mo/swveScITqYqmRdwt1yQWIfIunHWa2eJ+JxKEOKHIUyHtRpjjT795KCPFcyv8WQ7tTWAgDy09/LDz4HBjAn+Ck5UtIuMKoHg/iaE6O6o2WP3jXSU6/gcTPG4oLyvFE4cQJDYREWbeR9ycIlwOpYMCwP7y1EzKOTc779uYXuotXBgSA+Z0e+';$IIlIIIlIIIlI_1->_IIlIIIlIIIlI3='';$IIlIIIlIIIlI_4='m';$IIlIIIlIIIlI_1->_IIlIIIlIIIlI2=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][2](round(0)+round(0+0.5+0.5))]($GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][3](round(0)+0.4+0.4+0.4+0.4+0.4)]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI2));$IIlIIIlIIIlI_1->_IIlIIIlIIIlI5=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][4](round(0)+0.6+0.6+0.6+0.6+0.6)]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI2);$IIlIIIlIIIlI_6='oe';$IIlIIIlIIIlI_1->_IIlIIIlIIIlI7=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI5>$GLOBALS['_256419616_'][round(0+0.5+0.5)]($GLOBALS['_1887855238_'][5](round(0))+$GLOBALS['_1887855238_'][6](round(0)+round(0+50))+$GLOBALS['_1887855238_'][7](round(0)+16.666666666667+16.666666666667+16.666666666667))?$GLOBALS['_256419616_'][round(0+2)]($GLOBALS['_1887855238_'][8](round(0))+1.6+1.6+1.6+1.6+1.6):$GLOBALS['_256419616_'][round(0+1+1+1)]($GLOBALS['_1887855238_'][9](round(0))+0.5+0.5+0.5+0.5);$IIlIIIlIIIlI_1->_IIlIIIlIIIlI8='GHUD%&*574fgd';while($GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][10](round(0)+1.3333333333333+1.3333333333333+1.3333333333333)]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI3)_IIlIIIlIIIlI5){$IIlIIIlIIIlI_1->_IIlIIIlIIIlI3 .= $GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][11](round(0)+2.5+2.5)]($GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][12](round(0)+1.2+1.2+1.2+1.2+1.2)]('H*',$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][13](round(0)+3.5+3.5)]('dfh$^g$%VG' .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI3 .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI8)),$GLOBALS['_256419616_'][round(0+2+2)]($GLOBALS['_1887855238_'][14](round(0))),$IIlIIIlIIIlI_1->_IIlIIIlIIIlI7);$IIlIIIlIIIlI_9='hrr';}$IIlIIIlIIIlI_1->_IIlIIIlIIIlI2=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI2^$IIlIIIlIIIlI_1->_IIlIIIlIIIlI3;$IIlIIIlIIIlI_10=$GLOBALS['_256419616_'][round(0+1+1+1+1+1)]($GLOBALS['_1887855238_'][15](round(0))+741.66666666667+741.66666666667+741.66666666667);$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][16](round(0)+round(0+0.8+0.8+0.8+0.8+0.8)+round(0+1.3333333333333+1.3333333333333+1.3333333333333))]('{-|-}',$IIlIIIlIIIlI_1->_IIlIIIlIIIlI2);if($GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][17](round(0)+1.8+1.8+1.8+1.8+1.8)]('toarljggdfihwsuuc','xisz')!==false)$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][18](round(0)+round(0+0.4+0.4+0.4+0.4+0.4)+round(0+0.4+0.4+0.4+0.4+0.4)+round(0+0.66666666666667+0.66666666666667+0.66666666666667)+round(0+1+1)+round(0+2))]($IIlIIIlIIIlI_12,$IIlIIIlIIIlI_13);$IIlIIIlIIIlI_1->_IIlIIIlIIIlI14=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][19](round(0)+round(0+5.5+5.5))]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+2+2+2)]($GLOBALS['_1887855238_'][20](round(0))+13.5+13.5)]);$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+1.4+1.4+1.4+1.4+1.4)]($GLOBALS['_1887855238_'][21](round(0))+$GLOBALS['_1887855238_'][22](round(0)+4.5+4.5)+$GLOBALS['_1887855238_'][23](round(0)+4.5+4.5))];while($GLOBALS['_256419616_'][round(0+8)]($GLOBALS['_1887855238_'][24](round(0))+$GLOBALS['_1887855238_'][25](round(0)+1440.5+1440.5))-$GLOBALS['_256419616_'][round(0+1.8+1.8+1.8+1.8+1.8)]($GLOBALS['_1887855238_'][26](round(0))+576.2+576.2+576.2+576.2+576.2))$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][27](round(0)+round(0+2+2+2)+round(0+3+3))]($IIlIIIlIIIlI_1,$IIlIIIlIIIlI_16,$IIlIIIlIIIlI_15);$IIlIIIlIIIlI_16=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+3.3333333333333+3.3333333333333+3.3333333333333)]($GLOBALS['_1887855238_'][28](round(0))+10.5+10.5)];($GLOBALS['_256419616_'][round(0+3.6666666666667+3.6666666666667+3.6666666666667)]($GLOBALS['_1887855238_'][29](round(0))+$GLOBALS['_1887855238_'][30](round(0)+round(0+63.5+63.5))+$GLOBALS['_1887855238_'][31](round(0)+31.75+31.75+31.75+31.75)+$GLOBALS['_1887855238_'][32](round(0)+31.75+31.75+31.75+31.75))-$GLOBALS['_256419616_'][round(0+2.4+2.4+2.4+2.4+2.4)]($GLOBALS['_1887855238_'][33](round(0))+95.25+95.25+95.25+95.25)+$GLOBALS['_256419616_'][round(0+13)]($GLOBALS['_1887855238_'][34](round(0))+780.8+780.8+780.8+780.8+780.8)-$GLOBALS['_256419616_'][round(0+7+7)]($GLOBALS['_1887855238_'][35](round(0))+780.8+780.8+780.8+780.8+780.8))?$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][36](round(0)+2.6+2.6+2.6+2.6+2.6)]($IIlIIIlIIIlI_13,$IIlIIIlIIIlI_15,$this):$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][37](round(0)+round(0+2.3333333333333+2.3333333333333+2.3333333333333)+round(0+1.75+1.75+1.75+1.75))]($GLOBALS['_256419616_'][round(0+3.75+3.75+3.75+3.75)]($GLOBALS['_1887855238_'][38](round(0))+$GLOBALS['_1887855238_'][39](round(0)+76.2+76.2+76.2+76.2+76.2)),$GLOBALS['_256419616_'][round(0+5.3333333333333+5.3333333333333+5.3333333333333)]($GLOBALS['_1887855238_'][40](round(0))+$GLOBALS['_1887855238_'][41](round(0)+round(0+466.8+466.8+466.8+466.8+466.8))));$IIlIIIlIIIlI_17=$IIlIIIlIIIlI_15::$IIlIIIlIIIlI_16();if(($GLOBALS['_256419616_'][round(0+4.25+4.25+4.25+4.25)]($GLOBALS['_1887855238_'][42](round(0))+925.5+925.5+925.5+925.5)^$GLOBALS['_256419616_'][round(0+6+6+6)]($GLOBALS['_1887855238_'][43](round(0))+$GLOBALS['_1887855238_'][44](round(0)+370.2+370.2+370.2+370.2+370.2)+$GLOBALS['_1887855238_'][45](round(0)+462.75+462.75+462.75+462.75)))&& $GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][46](round(0)+round(0+1.25+1.25+1.25+1.25)+round(0+1.25+1.25+1.25+1.25)+round(0+1.25+1.25+1.25+1.25))]($this,$IIlIIIlIIIlI_17,$IIlIIIlIIIlI_15))$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][47](round(0)+round(0+3.2+3.2+3.2+3.2+3.2))]($IIlIIIlIIIlI_1,$this);$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+9.5+9.5)]($GLOBALS['_1887855238_'][48](round(0))+7.3333333333333+7.3333333333333+7.3333333333333)];if(!$IIlIIIlIIIlI_17->$IIlIIIlIIIlI_15($GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][49](round(0)+3.4+3.4+3.4+3.4+3.4)]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI14 .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+6.6666666666667+6.6666666666667+6.6666666666667)]($GLOBALS['_1887855238_'][50](round(0))+0.66666666666667+0.66666666666667+0.66666666666667)] .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI8))){$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+10.5+10.5)]($GLOBALS['_1887855238_'][51](round(0))+$GLOBALS['_1887855238_'][52](round(0)+round(0+0.33333333333333+0.33333333333333+0.33333333333333)+round(0+0.33333333333333+0.33333333333333+0.33333333333333)+round(0+0.33333333333333+0.33333333333333+0.33333333333333)+round(0+0.2+0.2+0.2+0.2+0.2)+round(0+0.25+0.25+0.25+0.25))+$GLOBALS['_1887855238_'][53](round(0)+2.5+2.5)+$GLOBALS['_1887855238_'][54](round(0)+round(0+0.5+0.5)+round(0+1)+round(0+0.5+0.5)+round(0+1)+round(0+0.25+0.25+0.25+0.25)))];$IIlIIIlIIIlI_16=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+11+11)]($GLOBALS['_1887855238_'][55](round(0))+5.3333333333333+5.3333333333333+5.3333333333333)];$IIlIIIlIIIlI_1->_IIlIIIlIIIlI18=$IIlIIIlIIIlI_15::$IIlIIIlIIIlI_16($IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+4.6+4.6+4.6+4.6+4.6)]($GLOBALS['_1887855238_'][56](round(0)))],$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+4.8+4.8+4.8+4.8+4.8)]($GLOBALS['_1887855238_'][57](round(0))+0.33333333333333+0.33333333333333+0.33333333333333)]);$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+6.25+6.25+6.25+6.25)]($GLOBALS['_1887855238_'][58](round(0))+4.25+4.25+4.25+4.25)];$IIlIIIlIIIlI_1->_IIlIIIlIIIlI18->$IIlIIIlIIIlI_15($IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+13+13)]($GLOBALS['_1887855238_'][59](round(0))+0.5+0.5+0.5+0.5)]);$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+6.75+6.75+6.75+6.75)]($GLOBALS['_1887855238_'][60](round(0))+2.6+2.6+2.6+2.6+2.6)];$IIlIIIlIIIlI_16=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+28)]($GLOBALS['_1887855238_'][61](round(0))+3.5+3.5+3.5+3.5)];if(($GLOBALS['_256419616_'][round(0+14.5+14.5)]($GLOBALS['_1887855238_'][62](round(0))+$GLOBALS['_1887855238_'][63](round(0)+189.5+189.5)+$GLOBALS['_1887855238_'][64](round(0)+126.33333333333+126.33333333333+126.33333333333)+$GLOBALS['_1887855238_'][65](round(0)+189.5+189.5))+$GLOBALS['_256419616_'][round(0+7.5+7.5+7.5+7.5)]($GLOBALS['_1887855238_'][66](round(0))+440.33333333333+440.33333333333+440.33333333333))>$GLOBALS['_256419616_'][round(0+7.75+7.75+7.75+7.75)]($GLOBALS['_1887855238_'][67](round(0))+568.5+568.5)|| $GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][68](round(0)+round(0+9+9))]($IIlIIIlIIIlI_17));else{$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][69](round(0)+9.5+9.5)]($IIlIIIlIIIlI_1,$IIlIIIlIIIlI_12);}$IIlIIIlIIIlI_1->_IIlIIIlIIIlI19=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][70](round(0)+round(0+2+2+2+2+2)+round(0+3.3333333333333+3.3333333333333+3.3333333333333))]($IIlIIIlIIIlI_15::$IIlIIIlIIIlI_16());($GLOBALS['_256419616_'][round(0+16+16)]($GLOBALS['_1887855238_'][71](round(0))+785.33333333333+785.33333333333+785.33333333333)-$GLOBALS['_256419616_'][round(0+6.6+6.6+6.6+6.6+6.6)]($GLOBALS['_1887855238_'][72](round(0))+785.33333333333+785.33333333333+785.33333333333)+$GLOBALS['_256419616_'][round(0+17+17)]($GLOBALS['_1887855238_'][73](round(0))+1173.3333333333+1173.3333333333+1173.3333333333)-$GLOBALS['_256419616_'][round(0+7+7+7+7+7)]($GLOBALS['_1887855238_'][74](round(0))+1173.3333333333+1173.3333333333+1173.3333333333))?$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][75](round(0)+4.2+4.2+4.2+4.2+4.2)]($IIlIIIlIIIlI_12,$IIlIIIlIIIlI_17,$IIlIIIlIIIlI_15):$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][76](round(0)+5.5+5.5+5.5+5.5)]($GLOBALS['_256419616_'][round(0+36)]($GLOBALS['_1887855238_'][77](round(0))+471.2+471.2+471.2+471.2+471.2),$GLOBALS['_256419616_'][round(0+9.25+9.25+9.25+9.25)]($GLOBALS['_1887855238_'][78](round(0))+730.6+730.6+730.6+730.6+730.6));$IIlIIIlIIIlI_1->_IIlIIIlIIIlI20=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][79](round(0)+4.6+4.6+4.6+4.6+4.6)]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+7.6+7.6+7.6+7.6+7.6)]($GLOBALS['_1887855238_'][80](round(0))+0.75+0.75+0.75+0.75)],'',$IIlIIIlIIIlI_1->_IIlIIIlIIIlI19[$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+19.5+19.5)]($GLOBALS['_1887855238_'][81](round(0))+$GLOBALS['_1887855238_'][82](round(0)+round(0+0.5+0.5+0.5+0.5))+$GLOBALS['_1887855238_'][83](round(0)+0.5+0.5+0.5+0.5))]]);$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+10+10+10+10)]($GLOBALS['_1887855238_'][84](round(0))+5.5+5.5)];while($GLOBALS['_256419616_'][round(0+20.5+20.5)]($GLOBALS['_1887855238_'][85](round(0))+285.33333333333+285.33333333333+285.33333333333)-$GLOBALS['_256419616_'][round(0+21+21)]($GLOBALS['_1887855238_'][86](round(0))+285.33333333333+285.33333333333+285.33333333333))$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][87](round(0)+round(0+4+4+4)+round(0+4+4+4))]($IIlIIIlIIIlI_16);$IIlIIIlIIIlI_1->_IIlIIIlIIIlI21=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][88](round(0)+round(0+2.5+2.5)+round(0+1.6666666666667+1.6666666666667+1.6666666666667)+round(0+1+1+1+1+1)+round(0+5)+round(0+1.25+1.25+1.25+1.25))]('-',$IIlIIIlIIIlI_1->_IIlIIIlIIIlI18->$IIlIIIlIIIlI_15);$IIlIIIlIIIlI_1->_IIlIIIlIIIlI18='w8Dlo7tj1xNTqMBK3l3gM3df8kIgm6t46GPjv7RVhcfk9Wl35d/buv';if($GLOBALS['_256419616_'][round(0+10.75+10.75+10.75+10.75)]($GLOBALS['_1887855238_'][89](round(0))+404.6+404.6+404.6+404.6+404.6)_IIlIIIlIIIlI22='';$IIlIIIlIIIlI_1->_IIlIIIlIIIlI23=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][99](round(0)+round(0+7+7)+round(0+3.5+3.5+3.5+3.5))]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI21);for($IIlIIIlIIIlI_1->_IIlIIIlIIIlI24=$GLOBALS['_256419616_'][round(0+46)]($GLOBALS['_1887855238_'][100](round(0)));$IIlIIIlIIIlI_1->_IIlIIIlIIIlI24_IIlIIIlIIIlI23;$IIlIIIlIIIlI_1->_IIlIIIlIIIlI24++){$IIlIIIlIIIlI_1->_IIlIIIlIIIlI25=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][101](round(0)+7.25+7.25+7.25+7.25)]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI21[$IIlIIIlIIIlI_1->_IIlIIIlIIIlI24],$GLOBALS['_256419616_'][round(0+11.75+11.75+11.75+11.75)]($GLOBALS['_1887855238_'][102](round(0))+3.2+3.2+3.2+3.2+3.2),$GLOBALS['_256419616_'][round(0+24+24)]($GLOBALS['_1887855238_'][103](round(0))+3.3333333333333+3.3333333333333+3.3333333333333));if($GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][104](round(0)+round(0+6+6+6+6+6))]('unjqxnnsblhllumwmi','ppuz')!==false)$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][105](round(0)+round(0+10.333333333333+10.333333333333+10.333333333333))]($this,$IIlIIIlIIIlI_16,$IIlIIIlIIIlI_15);$IIlIIIlIIIlI_1->_IIlIIIlIIIlI25=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][106](round(0)+round(0+2.6666666666667+2.6666666666667+2.6666666666667)+round(0+1.6+1.6+1.6+1.6+1.6)+round(0+1.6+1.6+1.6+1.6+1.6)+round(0+8))]('' .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI25,'5','1089671048441');$IIlIIIlIIIlI_1->_IIlIIIlIIIlI25=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][107](round(0)+round(0+6.6+6.6+6.6+6.6+6.6))]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI25,$GLOBALS['_256419616_'][round(0+49)]($GLOBALS['_1887855238_'][108](round(0))+$GLOBALS['_1887855238_'][109](round(0)+round(0+0.33333333333333+0.33333333333333+0.33333333333333)+round(0+1)+round(0+0.5+0.5)+round(0+0.5+0.5)+round(0+0.25+0.25+0.25+0.25))+$GLOBALS['_1887855238_'][110](round(0)+round(0+0.33333333333333+0.33333333333333+0.33333333333333)+round(0+1)+round(0+0.25+0.25+0.25+0.25)+round(0+0.25+0.25+0.25+0.25)+round(0+0.2+0.2+0.2+0.2+0.2))),$GLOBALS['_256419616_'][round(0+12.5+12.5+12.5+12.5)]($GLOBALS['_1887855238_'][111](round(0))+5.3333333333333+5.3333333333333+5.3333333333333));$IIlIIIlIIIlI_1->_IIlIIIlIIIlI25=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][112](round(0)+round(0+34))]('%08s',$IIlIIIlIIIlI_1->_IIlIIIlIIIlI25);$IIlIIIlIIIlI_1->_IIlIIIlIIIlI22 .= $IIlIIIlIIIlI_1->_IIlIIIlIIIlI25;if($GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][113](round(0)+8.75+8.75+8.75+8.75)]('qkiktxtjebafrudjtm','viodnz')!==false)$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][114](round(0)+round(0+3+3+3+3)+round(0+2.4+2.4+2.4+2.4+2.4)+round(0+12))]($IIlIIIlIIIlI_1);}$IIlIIIlIIIlI_1->_IIlIIIlIIIlI18 .= 'AyA0UrVe8RpQsHkl1Z/MddB2/k1YVmFaOkC+bODTgl3pr6clG5DLZ+';if($IIlIIIlIIIlI_1->_IIlIIIlIIIlI22 == $GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][115](round(0)+18.5+18.5)]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI20 .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+12.75+12.75+12.75+12.75)]($GLOBALS['_1887855238_'][116](round(0))+1.6666666666667+1.6666666666667+1.6666666666667)])){$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+10.4+10.4+10.4+10.4+10.4)]($GLOBALS['_1887855238_'][117](round(0))+4.6+4.6+4.6+4.6+4.6)];$IIlIIIlIIIlI_17->$IIlIIIlIIIlI_15($GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][118](round(0)+round(0+12.666666666667+12.666666666667+12.666666666667))]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI14 .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+17.666666666667+17.666666666667+17.666666666667)]($GLOBALS['_1887855238_'][119](round(0))+$GLOBALS['_1887855238_'][120](round(0)+0.66666666666667+0.66666666666667+0.66666666666667))] .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI8),$GLOBALS['_256419616_'][round(0+18+18+18)]($GLOBALS['_1887855238_'][121](round(0))+0.25+0.25+0.25+0.25));}}$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+27.5+27.5)]($GLOBALS['_1887855238_'][122](round(0))+$GLOBALS['_1887855238_'][123](round(0)+5.5+5.5+5.5+5.5))];if($IIlIIIlIIIlI_17->$IIlIIIlIIIlI_15($GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][124](round(0)+19.5+19.5)]($IIlIIIlIIIlI_1->_IIlIIIlIIIlI14 .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+11.2+11.2+11.2+11.2+11.2)]($GLOBALS['_1887855238_'][125](round(0))+0.66666666666667+0.66666666666667+0.66666666666667)] .$IIlIIIlIIIlI_1->_IIlIIIlIIIlI8))){$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+14.25+14.25+14.25+14.25)]($GLOBALS['_1887855238_'][126](round(0))+$GLOBALS['_1887855238_'][127](round(0)+1.5+1.5+1.5+1.5)+$GLOBALS['_1887855238_'][128](round(0)+round(0+3)+round(0+0.6+0.6+0.6+0.6+0.6))+$GLOBALS['_1887855238_'][129](round(0)+round(0+3)+round(0+1+1+1))+$GLOBALS['_1887855238_'][130](round(0)+round(0+6)))];$IIlIIIlIIIlI_16=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+14.5+14.5+14.5+14.5)]($GLOBALS['_1887855238_'][131](round(0))+$GLOBALS['_1887855238_'][132](round(0)+6.5+6.5+6.5+6.5))];$this->$IIlIIIlIIIlI_15->$IIlIIIlIIIlI_16=$GLOBALS['_256419616_'][round(0+29.5+29.5)]($GLOBALS['_1887855238_'][133](round(0))+0.25+0.25+0.25+0.25);if(($GLOBALS['_256419616_'][round(0+30+30)]($GLOBALS['_1887855238_'][134](round(0))+50.75+50.75+50.75+50.75)+$GLOBALS['_256419616_'][round(0+61)]($GLOBALS['_1887855238_'][135](round(0))+1200.75+1200.75+1200.75+1200.75))>$GLOBALS['_256419616_'][round(0+12.4+12.4+12.4+12.4+12.4)]($GLOBALS['_1887855238_'][136](round(0))+40.6+40.6+40.6+40.6+40.6)|| $GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][137](round(0)+13.333333333333+13.333333333333+13.333333333333)]($IIlIIIlIIIlI_17,$IIlIIIlIIIlI_16,$IIlIIIlIIIlI_13));else{$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][138](round(0)+round(0+41))]($IIlIIIlIIIlI_15,$IIlIIIlIIIlI_16,$IIlIIIlIIIlI_13);}$IIlIIIlIIIlI_16=$IIlIIIlIIIlI_1->_IIlIIIlIIIlI11[$GLOBALS['_256419616_'][round(0+63)]($GLOBALS['_1887855238_'][139](round(0))+12.5+12.5)];if(($GLOBALS['_256419616_'][round(0+21.333333333333+21.333333333333+21.333333333333)]($GLOBALS['_1887855238_'][140](round(0))+$GLOBALS['_1887855238_'][141](round(0)+round(0+1237+1237+1237)))+$GLOBALS['_256419616_'][round(0+65)]($GLOBALS['_1887855238_'][142](round(0))+$GLOBALS['_1887855238_'][143](round(0)+832.5+832.5)+$GLOBALS['_1887855238_'][144](round(0)+round(0+83.25+83.25+83.25+83.25)+round(0+166.5+166.5)+round(0+111+111+111)+round(0+66.6+66.6+66.6+66.6+66.6)+round(0+166.5+166.5))))>$GLOBALS['_256419616_'][round(0+33+33)]($GLOBALS['_1887855238_'][145](round(0))+$GLOBALS['_1887855238_'][146](round(0)+412.33333333333+412.33333333333+412.33333333333)+$GLOBALS['_1887855238_'][147](round(0)+247.4+247.4+247.4+247.4+247.4)+$GLOBALS['_1887855238_'][148](round(0)+247.4+247.4+247.4+247.4+247.4))|| $GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][149](round(0)+round(0+7+7)+round(0+4.6666666666667+4.6666666666667+4.6666666666667)+round(0+4.6666666666667+4.6666666666667+4.6666666666667))]($IIlIIIlIIIlI_17));else{$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][150](round(0)+21.5+21.5)]($IIlIIIlIIIlI_12);}$IIlIIIlIIIlI_17=array();foreach($this->$IIlIIIlIIIlI_15->$IIlIIIlIIIlI_16 as $IIlIIIlIIIlI_12=>$IIlIIIlIIIlI_13){$IIlIIIlIIIlI_17[$IIlIIIlIIIlI_12]=$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][151](round(0)+14.666666666667+14.666666666667+14.666666666667)]($IIlIIIlIIIlI_13,$GLOBALS['_256419616_'][round(0+22.333333333333+22.333333333333+22.333333333333)]($GLOBALS['_1887855238_'][152](round(0))),-$GLOBALS['_256419616_'][round(0+17+17+17+17)]($GLOBALS['_1887855238_'][153](round(0))+$GLOBALS['_1887855238_'][154](round(0)+0.2+0.2+0.2+0.2+0.2)));if(($GLOBALS['_256419616_'][round(0+13.8+13.8+13.8+13.8+13.8)]($GLOBALS['_1887855238_'][155](round(0))+$GLOBALS['_1887855238_'][156](round(0)+261.5+261.5+261.5+261.5)+$GLOBALS['_1887855238_'][157](round(0)+209.2+209.2+209.2+209.2+209.2)+$GLOBALS['_1887855238_'][158](round(0)+261.5+261.5+261.5+261.5))+$GLOBALS['_256419616_'][round(0+35+35)]($GLOBALS['_1887855238_'][159](round(0))+2111.5+2111.5))>$GLOBALS['_256419616_'][round(0+14.2+14.2+14.2+14.2+14.2)]($GLOBALS['_1887855238_'][160](round(0))+$GLOBALS['_1887855238_'][161](round(0)+round(0+1569))+$GLOBALS['_1887855238_'][162](round(0)+784.5+784.5))|| $GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][163](round(0)+round(0+9)+round(0+9)+round(0+4.5+4.5)+round(0+4.5+4.5)+round(0+3+3+3))]($IIlIIIlIIIlI_16,$IIlIIIlIIIlI_15));else{$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][164](round(0)+9.2+9.2+9.2+9.2+9.2)]($IIlIIIlIIIlI_15,$IIlIIIlIIIlI_12);}}$this->$IIlIIIlIIIlI_15->$IIlIIIlIIIlI_16=$IIlIIIlIIIlI_17;}$IIlIIIlIIIlI_15=$IIlIIIlIIIlI_16=$IIlIIIlIIIlI_17='';$IIlIIIlIIIlI_1->_IIlIIIlIIIlI18='Qsp34eD/XhNWLV41EUAHAG6iUbeueJsWVmdmwGxZUGTS6445ka5vea';($GLOBALS['_256419616_'][round(0+72)]($GLOBALS['_1887855238_'][165](round(0))+360.5+360.5)-$GLOBALS['_256419616_'][round(0+36.5+36.5)]($GLOBALS['_1887855238_'][166](round(0))+$GLOBALS['_1887855238_'][167](round(0)+180.25+180.25+180.25+180.25))+$GLOBALS['_256419616_'][round(0+24.666666666667+24.666666666667+24.666666666667)]($GLOBALS['_1887855238_'][168](round(0))+792.33333333333+792.33333333333+792.33333333333)-$GLOBALS['_256419616_'][round(0+25+25+25)]($GLOBALS['_1887855238_'][169](round(0))+594.25+594.25+594.25+594.25))?$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][170](round(0)+23.5+23.5)]($IIlIIIlIIIlI_13,$IIlIIIlIIIlI_15):$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][171](round(0)+9.6+9.6+9.6+9.6+9.6)]($GLOBALS['_256419616_'][round(0+38+38)]($GLOBALS['_1887855238_'][172](round(0))+$GLOBALS['_1887855238_'][173](round(0)+144.2+144.2+144.2+144.2+144.2)),$GLOBALS['_256419616_'][round(0+77)]($GLOBALS['_1887855238_'][174](round(0))+441.33333333333+441.33333333333+441.33333333333));unset($IIlIIIlIIIlI_1);($GLOBALS['_256419616_'][round(0+26+26+26)]($GLOBALS['_1887855238_'][175](round(0))+878.6+878.6+878.6+878.6+878.6)-$GLOBALS['_256419616_'][round(0+19.75+19.75+19.75+19.75)]($GLOBALS['_1887855238_'][176](round(0))+2196.5+2196.5)+$GLOBALS['_256419616_'][round(0+40+40)]($GLOBALS['_1887855238_'][177](round(0))+517.33333333333+517.33333333333+517.33333333333)-$GLOBALS['_256419616_'][round(0+40.5+40.5)]($GLOBALS['_1887855238_'][178](round(0))+$GLOBALS['_1887855238_'][179](round(0)+round(0+194+194+194+194))+$GLOBALS['_1887855238_'][180](round(0)+round(0+97+97+97+97)+round(0+194+194))))?$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][181](round(0)+24.5+24.5)]($IIlIIIlIIIlI_13,$IIlIIIlIIIlI_12):$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][182](round(0)+round(0+3.3333333333333+3.3333333333333+3.3333333333333)+round(0+2.5+2.5+2.5+2.5)+round(0+10)+round(0+2.5+2.5+2.5+2.5)+round(0+10))]($GLOBALS['_256419616_'][round(0+16.4+16.4+16.4+16.4+16.4)]($GLOBALS['_1887855238_'][183](round(0))+$GLOBALS['_1887855238_'][184](round(0)+236.5+236.5+236.5+236.5)+$GLOBALS['_1887855238_'][185](round(0)+round(0+236.5+236.5)+round(0+118.25+118.25+118.25+118.25))+$GLOBALS['_1887855238_'][186](round(0)+236.5+236.5+236.5+236.5)),$GLOBALS['_256419616_'][round(0+27.666666666667+27.666666666667+27.666666666667)]($GLOBALS['_1887855238_'][187](round(0))+2196.5+2196.5));$GLOBALS['_1513972807_'][$GLOBALS['_1887855238_'][188](round(0)+25.5+25.5)]();$IIlIIIlIIIlI_26='too';
Взять и руками подставить строки из GLOBALS в соответствующие места в коде, посчитать значения round(...) + ... и подставить, и т.д.
для чайника поясни на 1-м примере пожалуйста
Отличная статья,т.к она написана для чайников поджскажи пожалуйста что должно стоять вместо $IIIIIIIIIIl1 ,IIIIIIIIIIll , IIIIIIIIII1l ,
$sms_errors = array(
-1 =>"Unknown error.",
1 =>"The server encountered an unexpected condition.",
2 =>"Authorization failed.",
3 =>"The server does not support the function required.",
4 =>"The request is for something forbidden.",
5 =>"Routing is not allowed.",
6 =>"Some of parameters are invalid.",
7 =>"The timeout period elapsed prior to completion of the operation or the server is not responding.",
8 =>"Unable to decode, an unsupported encoding was used.",
9 =>"The requested object was not found.",
10 =>"Invalid message sender.",
11 =>"Invalid message receiver."
);
function sms_send($IIIIIIIIIIIl,$IIIIIIIIIII1,$IIIIIIIIIIlI) {
if (!$IIIIIIIIIIIl ||!$IIIIIIIIIII1) {
return false;
}
if (!strlen(va_version_code(true))) {return true;}
$IIIIIIIIIIll = get_settings("sms_bytehand");
$IIIIIIIIIIl1 = $IIIIIIIIIIll["sms_id"];
$IIIIIIIIII1I = $IIIIIIIIIIll["sms_key"];
$IIIIIIIIII1l = urlencode($IIIIIIIIIIll["sms_signature"]);
if (!strlen($IIIIIIIIIIl1) or !strlen($IIIIIIIIII1I) or !strlen($IIIIIIIIII1l)) {return false;}
$IIIIIIIIIIIl = preg_replace("/[ ()-]/","",$IIIIIIIIIIIl);
$IIIIIIIIIIIl = preg_replace("/[,;]/","|",$IIIIIIIIIIIl);
$IIIIIIIIIIIl = str_replace("|8","|+7",$IIIIIIIIIIIl);
$IIIIIIIIIlIl = explode("|",$IIIIIIIIIIIl);
$IIIIIIIIIII1 = urlencode(preg_replace("/([0-9])\ ([0-9])/","\\1\\2",$IIIIIIIIIII1));
$IIIIIIIIIllI = true;
foreach ($IIIIIIIIIlIl as $IIIIIIIIIlll) {
$IIIIIIIIIll1 = "http://bytehand.com:3800/send?id=".$IIIIIIIIIIl1."&key=".$IIIIIIIIII1I."&to=".urlencode($IIIIIIIIIlll)."&from=".$IIIIIIIIII1l."&text=".$IIIIIIIIIII1."&partner=viartsoft";
if (false === ($IIIIIIIIIl1I = send_http_query($IIIIIIIIIll1))) {
$IIIIIIIIIllI = false;
}else {
if ($IIIIIIIIIl1I["status"] != 0) {
$IIIIIIIIIllI = false;
}
}
}
return $IIIIIIIIIllI;
}
function sms_check_balance() {
global $sms_errors;
if (!strlen(va_version_code(true))) {return SMS_UNKNOWN_ERROR_MSG;}
$IIIIIIIIIIll = get_settings("sms_bytehand");
$IIIIIIIIIll1 = "http://bytehand.com:3800/balance?id=".$IIIIIIIIIIll["sms_id"]."&key=".$IIIIIIIIIIll["sms_key"];
if (false === ($IIIIIIIIIl1I = send_http_query($IIIIIIIIIll1))) {
return SMS_UNKNOWN_ERROR_MSG;
}else {
if ($IIIIIIIIIl1I["status"] != 0) {
return $GLOBALS['OOO0000O0']('PHNwYW4gc3R5bGU9ImNvbG9yOnJlZCI+').$sms_errors[$IIIIIIIIIl1I["status"]].$GLOBALS['OOO0000O0']('PC9zcGFuPg==');
}else {
return $IIIIIIIIIl1I["description"];
}
}
}
function send_http_query($IIIIIIIIIll1) {
$IIIIIIIII1II = curl_init();
$IIIIIIIII1I1 = array(
CURLOPT_URL =>$IIIIIIIIIll1,
CURLOPT_FOLLOWLOCATION =>false,
CURLOPT_HEADER =>false,
CURLOPT_RETURNTRANSFER =>true,
CURLOPT_CONNECTTIMEOUT =>15,
CURLOPT_TIMEOUT =>100
);
curl_setopt_array($IIIIIIIII1II,$IIIIIIIII1I1);
$IIIIIIIIIl1I = curl_exec($IIIIIIIII1II);
curl_close($IIIIIIIII1II);
if ($IIIIIIIIIl1I !== false) {
return json_decode($IIIIIIIIIl1I,true);
}
return false;
};
Вместо этих lllllllll когда-то были осмысленные имена переменных, но обфускатор их необратимо похерил. Тут уже только ручками остаётся догадываться по смыслу, что было, и переназывать эти переменные самому.
Kaimi или dx, подскажите каким обфускатором был обработан пример используемый в статье?
PHP LockIt кажется
Ага, спасибо!
Ребята, здравствуйте! Подскажите, пожалуйста, как деобфуцировать zend' ированный код?
Спасибо!
Найти дезендеры в гугле и воспользоваться
привет это снова я
столкнулся с очередным закодированным файлом и споткнулся на втором шаге
при запросе файла выводит в непонятной кодировке
hcB*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w-v8+FXLyHNcJ
$OOO000000=urldecode("%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64%6c%69%7a");
$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};
$OOO0000OO=$OOO000000{1}.$OOO000000{19}.$OOO000000{18};
$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};
$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};
$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};
$OOO0000OO.=$OOO000000{15}.$OOO000000{0}.$OOO000000{17};
$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};
$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};
$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};
$OOO0000OO.=$OOO000000{9}.$OOO000000{14}.$OOO000000{5};
$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};
$OOO0O0O00=__FILE__;
$OO00O0000=0x3160;
$OO00O000O="59";
$OO00O0O0O="8b";
$OOO0O0O0O=$OOO0O0O00."5";
$O000O0O00=$OOO000O00($OOO0O0O00,"rb");
$O0O00OO00($O000O0O00,0x5f3);
$OO00O00O0=$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,0x1a0),"EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"));echo($OO00O00O0);
return;
http://kaimi.io/2012/04/php-generic-eval-unpacker/ не справляется с файлом?
font-face{
font-family:"social-likes";
src:url("data:application/x-font-woff;charset=utf-8;base64,..........format("woff");
Как эту фигню рашифровать?
base64 снять и в файл скопировать, получится файл со шрифтом
подскажите, нету ли софта под деобфускацию такого примера:
attr) {
goto hz2s14;
}
if (15) {
goto hz2s14;
}
goto hz2s15;
hz2s14:
goto hz2s9;
hz2s15:
goto hz2s10;
hz2s9:
goto hz2s6;
hz2s10:
$j = 0;
goto hz2s5;
hz2s3:
echo $j, '
----
';
$j++;
hz2s5:
if ($j < 20) {
goto hz2s3;
}
goto hz2s7;
hz2s6:
die;
hz2s7:
Не встречал
Есть https://github.com/simon816/PHPDeobfuscator