mount /dev/brain || tail -f /var/log/thoughts >> /home/xdemon/www/x-demon.org/

blog://x-demon

Ломаем PHP протекторы

Август 6th, 2008 by x-demon

Ну, один пост на эту тему =) Начнем, пожалуй, с самого популярного - Zend.

Zend

Многим известен. Переводит php в бинарник, который обрабатывается Zend Optimizer на сервере. Ломается дезендером, который можно найти в гугле (freeware, качество расшифровки неочень) либо заказать платную расшифровку у Quinvent - там качество гораздо выше.

После дезенда у нас есть два варианта того что мы получили. Первое - более-менее читабельный код, а второе - обфусцированные переменные и функции типа такого: function __construct( $_obfuscate_OQяя )

Способ обхода сей порнографии был найден пользователем nnmkayf, заключается он вот в чем:

evalы превращаем в echo и выполняем код в контексте того-же приложения, вывод ловим в ловушку ob_start() и ob_get_contents().
снова заменяем eval на echo - повторяем четыре раза. Причем нужно заменять правильный eval а не первый попавшийся, а то разработчик будет глумиться. К непонятным переменным прикладываем var_dump - и вуаля! Чистый код, который даже дабежить не надо!

IonCube

“Не ломается, не ломается”. Да XYNTA все это. Я знаю два места где его ломают. Одно - тот же Quinvent. Второе… не, не скажу. Зер, мое почтение ;) После расшифровки приходится дебажить вроде как. Работает так же как зенд.

CNCrypto / Php LockIT / SourceCop / trueBug / phpCodeLock

Язык не поворачивается назвать протекторами. Все это снимается при помощи этой тулзы, в меню выбрать php decryptor.

phpCipher

Перво-наперво снимаем зенд. Получаем какую то порнографию. Ищем в этой порнографии строку, начинающуюся с eval.

Меняем eval на print, запускаем… видим вначале мусор, потом сообщение о неверной лицензии, а дальше… исходник. т.е. основная защита phpCipher - это зенд. Который обойти не проблема.

Зашифрованные функции и переменные

Тупо переименованные функции и переменные в var1, var2, или там IIII1III - если есть время, можно разобратся и восстановить, а заодно хорошо вникнуть в код. Это даже не защита…

Вывод

Совершенного php протектора нет. Расшифровывается все. Пусть за деньги, но расшифровывается. Еще, кстати, полезный софт, если вы собираетесь расшифровывать руками - это Vulcan Logic Disassembler, aka VLD. Про него есть горы статей в интернете, и расписывать работу с ним я не буду. Но надеюсь, что все вышенаписанное вам поможет =) Удачи!

Пост написан под: Mudvayne - Lost And Found - Rain,Sun,Gone

Категории: Безопасность и

4 Комментов

(Required)
(Required, will not be published)

Google mail на мобильном    | Течение жизни    | Взлом защиты Symbian 9.x    | Вин дня    | Доменный сервис от x-demon - Дешевые домены ru    | Final Fantasy 6: Советы по прохождению    | Проверенная схема заработка на дорвеях    |