Під час мого нещодавнього дослідження українських онлайн-театральних платформ я зробив цікаве відкриття: більшість цих сайтів побудовано на DataLife Engine (DLE). Це спостереження викликало мою цікавість, оскільки DLE — це система керування вмістом, яка існує вже досить давно, але продовжує ефективно працювати в 2025 році.

Завдання: закодовані файли PHP

Досліджуючи ці платформи, я натрапив на завантажувані архіви, які містять файли PHP, які, здавалося, були закодовані. На перший погляд структура коду здавалася незвичною та заплутаною, що ускладнювало розуміння основної функціональності. Однак, уважніше вивчивши, я зрозумів, що розшифрувати ці файли було простіше, ніж очікувалося спочатку.

Рішення: комплексний сценарій декодування

Щоб систематично вирішити цю проблему, я розробив сценарій, здатний обробляти всі закодовані файли PHP у структурі каталогів. Це рішення усуває необхідність ручного декодування файлів за файлами, значно підвищуючи ефективність роботи з великими архівами.

Технічна реалізація

У процесі декодування використовуються кілька основних команд Unix/Linux і вбудовані можливості PHP:

  • cat: для читання вмісту файлу
  • rm: для очищення тимчасових файлів
  • grep: для зіставлення шаблону та вилучення
  • sed: для редагування потоку та обробки тексту
  • php: для виконання специфічних для PHP операцій декодування
  • знайти: для рекурсивного пошуку та обробки файлів

Ключові характеристики

Сценарій забезпечує:
— Пакетна обробка кількох файлів PHP

  • Автоматичне виявлення закодованого вмісту
  • Генерація чистого виходу
    — Обробка помилок для неправильно сформованих файлів
    — Збереження оригінальної файлової структури

Link to the source code