Ломаем PHP протекторы
Ну, один пост на эту тему =) Начнем, пожалуй, с самого популярного - 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
А есть, какая нибудь альтернатива?
Имеется ввиду, что то неломающееся? =)
да какая???
Все ломается. Совершенной защиты нет.