Ищем НДВ в PHP. Расшифровка и деобфускация PHP-скриптов

0

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

Давайте попробуем классифицировать какие существуют виды защиты PHP-скриптов. Всего их можно выделить три:

  1. Защита посредством кодирования скриптов в байт-код, требующая дополнительных PHP-расширений для работы с ними. Это самый сложный тип защиты, примеры: Zend Guard, ionCube, Nu-Coder.
  2. Защита, основанная на шифровании непосредственно исходного кода скрипта путем использования особого алгоритма. Примеры: PHP Cipher, Truebug PHP Encoder, SourceCop PHP Protector.
  3. Обфускация – изменение названий переменных и функций, удаление пробелов и символов переноса строки, etc. Относительно самый просто тип, примеры: PHP Defender, Obfusc.

Предположим, есть задача  определить с помощью какого неизвестного для нас алгоритма  зашифрован скрипт . На помощь приходит замечательный инструмент PCL’s PHPiD. Распознает множество протекторов, например ionCube:

Определив протектор, можно поискать существующие решения для расшифровки того или иного энкодера.

Сайт http://dezend.me/  помогавший решить эту же задачу, в настоящий момент не предоставляет подобный сервис.

Можно попробовать воспользоваться инструментами, которые выкладывают на сайте deioncube.in. На местном форуме также можно попросить расшифровать скрипт, в большинстве случаев вам помогут безвозмездно.

Если же хочется вручную поисследовать неизвестные алгоритмы, то стоит взглянуть в сторону расширения evalhook. Хороший пример использования есть на habre.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *