Мануал по деобфускации php-кода

Предыдущие сообщения
13 января 2013
#1 kanaris uid#1 Иногда встречаются жлобы-программеры-копирасты, которые обфусцируют (т.е. превращают его в такой вид, что хуй что поймешь и расшифруешь) скрипт, они думают, что после этого они защищены. Но на самом деле это защита от детей, ибо опытные кодеры разберут это без проблем.

Бывают 2 типа обфускации:
  1. Изменение названий переменных с читаемых на $оО0_ОО-подобные - с такими мы ничего не сделаем. Если вы столкнулись с таким, дальше эту статью можете не читать. Просто надо давать крепких пиздюлей таким прогерам (потому что часто в этой хуйне шифруют бэкдоры, и прочую поебень), а потом с сайта внезапно редиректит на порновики, АВ начинает пищать, и т.д. Старайтесь удерживаться от использования такого кода на серьезных проектах. Это касается не только php, а вообще любого софта. Юзайте опенсорсное ПО!
  2. Кодирование читаемого скрипта разными функциями (base64_decode, gzuncompress, eval и т.п.) перекручеными черти сколько раз - вот про декодинг такого мы и поговорим.
    Пример:
    $GLOBALS['_1766474415_']=Array(base64_decode('cHJlZ19tYXRjaF9hbGw='),base64_decode('cGF' .'y' .'c2' .'Vfd' .'XJs'),base64_decode('Y3' .'VybF9' .'pbml0'),base64_decode('Y3Vyb' .'F9' .'zZXR' .'vcHQ='),base64_decode('Y3VybF9zZXRvcH' .'Q='),base64_decode('Y3VybF' .'9zZXRvc' .'HQ=')
    

Принцип действия

Эта вся плетенка проходит через 100500 алгоритмов, которые гоняют код из пустого в порожнее, чтобы мы с вами заебались это декодить. Разумеется, если вы будете совать в файл с этим кодом свои скрипты, оно откажется работать (потому что проверяется контрольная сумма, размер файла, или хуйти что). Опытным кодерам по сложности это не преграда, а всего лишь лежащий полицейский. Не нужно вникать в эти все декодинги, декрипт займет всего минут 5 (не считая подготовки).

Практическая часть

  1. Качаем, ставим такую софтину
  2. выполняем код по шагам (ставим точку прерывания на первой строке, если не поставить, оно само предложит), нажимая F9 (чтобы запустить отладчик) потом F8 (для шагов);
  3. считаем, сколько должно пройти шагов, чтобы код завершился выполняться;
  4. запускаем второй раз, считаем шаги, пока не остановимся на последнем. Последний шаг - это как правило eval('Неведомая ебаная хуйня, которая сгенерилась');
  5. смотрим контекстные переменные (панель "Context variables";) - в одной из них будет расшифрованный код. Это может быть 100500-й ключ массива переменной $_______gg7q26487h2w4t3y534
  6. открываем панель инструментов "Evaluate", выполняем там код: file_put_contents('decoded.txt',$НЁХ);, где $НЁХ - та самая переменная (подставляете свое название). После этого в папке со скриптом создастся файл decoded.txt с расшифрованным кодом.
  7. Enjoy!

Предостережения

Выполняя первый раз этот код (подсчитывая шаги), зашифрованный код выполнится в любом случае, а там может быть зашифрованна любая неведомая ебаная хуйня, вплоть до рекурсивного удаления всех файлов с существующих дисков. Поэтому, желательно это выполнять на виртуалке, а чтобы еще безопаснее было - отключить все функции (через php.ini), имеющее отношение к удалению, переименовыванию, очистке файлов и т.д.

p.s. Сорри за матюки, т.к. ненавижу обфусцированный код, и не подобрал больше слов, как это описывать. Надеюсь никого не оскорбил (надеюсь среди нас нет таких обфускировальщиков).
21:12:54 10
#2 1kasma1 uid#1581 Зачем такие плохие слова пишешь :( ? Ой Канарис, ой Бог накажет, ой накажет!

Статься заебись! Может в будущем понадобиться ;)
21:40:50 1
#3 Flash_X uid#496 Geniusоскорбил. 13:25:13 0
#4 PrayWithMe uid#1836 Оскорбил. 14:31:10 0
#5 1kasma1 uid#1581 :-D 14:54:46 0
#6 kanaris uid#1 Чорт, ну простите посоны :-D 17:08:04 0
16 января 2013
#7 Red_Shuhov uid#1582 оскорбил (занимаюсь этим так как заебало что код пиздят не спросив) 01:10:09 0
#8 nagibator uid#3515 да ладно тебе че -жалко. пускай пиздят уроды - сами ничего не смогут скодить нормалного потом. 17:15:31 0
#9 kanaris uid#1 Откуда они пиздят? Сами ж наверное выклаыдваете в паблик, вот и пиздят, а потом жалуетесь.
http://www.phpcompiler.org/ вот для пхп есть некое решение, не пробовал еще. Если кто заюзает, отпишитесь.
17:32:29 0
18 ноября 2013
#10сообщение удалено
Следующие сообщения
*Ник: Проверка уникальности... Если вы уже зарегистрированы, авторизуйтесь.
*Сообщение:
  Загрузка...