Обновление обфускатора WSO

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

Наша цель - заставить старину WSO работать на Php 7.2, и вдобавок чтобы он не палился АВ и сканерами.

Берем WSO из темы на rdot. Почти все поделки с гитхаба либо со стучалками, либо с какими-то бесполезными фичами (аля 1337-обои).

Чтобы код заработал на 7.2, нужно сделать небольшие правки. Находим этот кусок кода (строка 22):

И заменяем на этот:

Теперь необфусцированный WSO прекрасно работает на php 7.2.
И, разумеется, нещадно палится:

Надо обфусцировать. Старый прикол, preg_replace с модификатором "e" не работает с версии 5.5, поэтому мы будем использовать для выполнения кода функцию create_function.

В целом, код почти аналогичен тому, что был опубликован в прошлой статье, за исключением того, что я уже куда больше прокачался в своем маразме:

В принципе, всё по коду более-менее ясно. Единственное, стоит особо отметить, что без объявления global и перечисления используемых переменных, область видимости этих самых переменных идет по пизде и весь код работает чуть лучше, чем негр на пособии (негр то вообще не работает).

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

Обфусцируем. Проверяем на айболите, в режиме паранойя:

Ну и вирустотал, хотя результат предсказуем:

Хорошее ли это решение? Нет.
Функция create_function уже давно в статусе deprecated.
Это скорее переходный вариант, чтобы слезть с иглы старых добрых вебшеллов на 25+ кб.

Онлайн-версия.