PHP Obfuscator 1.4

Обновил свой давний проект - обфускатор PHP-кода. Теперь он способен генерировать еще более непонятный код.

Возможности обфускатора:
[+] Замена имен переменных
[+] Замена имен функций
[+] Шифрование статических строк
[+] Шифрование имен стандартных функций PHP
[+] Обфускация INTEGER'ов
[+] Сжатие скрипта
[+] Архивация скрипта
[+] Добавление треш-комментариев
[+++] И многое другое, множество удобств

Обфускатор не поддерживает конструкции eval() и $$var_name.

Скриншот:

Читать далее «PHP Obfuscator 1.4»

Основы дорвеестроительства – цепи Маркова

Решил наконец-то сделать пост на тему, отличную от ассемблера :)
Сейчас я расскажу про вещь, которая используется для генерирования текстов дорвеев. Материал, вероятно, будет интересен только новичкам seo.

P.S. Сразу скажу – Kaimi сделал для своего патчера на Perl’е свежие сигнатуры, и, чтобы не плодить лишних постов, попросил выложить их прямо здесь.

Не буду углубляться в теорию, сразу перейду к практической части. Допустим, у нас для генерирования контента дорвея имеется следующий текст:

Вася вошел в помещение. Нож вошел в масло и разрезал его пополам. Петя купил масло и сливки. В помещение завезли товар.

Необходимо этот текст как-то перемешать, чтобы связи между словами более-менее сохранились, после чего начинить его ключевыми словами со ссылками.

Каким образом можно хорошо перемешать текст? С помощью цепей Маркова. Для их генерации я написал простенький скрипт на php. Поясню, как это работает. Для написанного выше текста можно составить следующее дерево:

Все предложения из текста записаны сверху вниз по словам. Я специально выбрал такие предложения, чтобы имелись некоторые пересечения – они и необходимы для перемешивания текста. Собственно, это и есть цепи Маркова. Они кстати бывают разных уровней. Мой скрипт поддерживает перемешивание текста на основе цепей 2-го и 3-го уровней. Цепь второго уровня – когда каждое слово в тексте зависит от предыдущего. Цепь третьего – когда слово зависит от двух предыдущих и т.д.

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

Собственно, вот скриншот работы скрипта генерации с некоторым анализом полученного текста:
Цепи третьего уровня:


Цепи второго уровня:


Как видно, при использовании цепей третьего уровня получается более связный текст, но замен в итоге меньше (они выделены жирным). При использовании цепей второго уровня текст менее связан, зато мы имеем хорошо перемешанный треш. Чем выше используемый уровень, тем больший объем текста необходим для создания хорошо перемешанного уникального контента.


Сам скрипт можно скачать тут: ZIP.

PS. Скрипт очень простой, для демонстрации, много чего не обрабатывает, поэтому могут при генерации возникать некоторые косяки в тексте.

Помните - сейчас настолько простые дорвеи давно вычисляются поисковиками с помощью специальных алгоритмов и просто-напросто отфильтровываются из поискового контента, даже если у вас текст сверхначинен ключевыми фразами. Данная статья, соответственно, показывает один из простейших вариантов получения более-менее уникального текста без особых усилий, но не надейтесь, что это как-то поможет вам в практическом применении в SEO. Материал может пригодиться только для обучения.

Новости с фронта

Давно не было статей, но не подумайте ничего плохого, мы помним читателей и заботимся о них.
Итак, данный пост посвящен исследованию dx'а в области создания плагинов для Winamp. Вообще, сначала хотелось сделать полезный нам плагин (с функциями сокс бота например), но из-за благочестивости главного и единственного разработчика от данной затеи пришлось отказаться. Плагин был написан и отлажен за несколько дней, об особенностях создания которого dx потом расскажет, если захочет. И вместе с данным плагином мы представляем вам сервис - http://musicsign.ru, ведущий удобную статистику ваших предпочтений в музыке и генерирующий настраиваемую подпись для форумов, которая отображает текущий трек в винампе. Сервис только-только создан и ещё не обладает широкими функциональными возможностями, но со временем они будут расширены. Пользуйтесь, комментируйте, предлагайте идеи по улучшению сервиса.
За сим прощаюсь с вами от себя и dx'a на несколько недель, ибо отпуск. Желаю всем поменьше сидеть в интернете и побольше времени проводить на улице. Искренне ваши Kaimi и пожелавший остаться инкогнито dx.

Ajax Text Shell 2.0

Удобный веб-шелл, написанный на php+ajax. Отлично подойдет для удаленного администрирования системы.

Функционал:
[+] AJAX, UTF-8
[+] Все запросы методом POST
[+] Файловый менеджер: серфинг по папкам, просмотр дат изменения и прав для файлов и папок, удаление, перемещение, копирование, переименовывание, chmod, touch
[+] Скачивание файлов (есть поддержка скачивания больших файлов)
[+] Редактирование и сохранение файлов в utf-8 и windows-1251
[+] Подробная информация о системе
[+] Выполнение php-кода
[+] Выполнение команд cmd множеством способов (есть поддержка кириллицы)
[+] Защита паролем
[+] MySQL - выполнение команд, удобный менеджер команд
[+] MySQL дампинг - дамп таблиц или целых БД, поддержка больших объёмов данных, дамп результатов запросов MySQL
Если set_time_limit(0) будет недоступно, дамп всё равно возможен по частям.
Можно сдампить в виде файла, например, список login:pass или список e-mail'ов из какой-нибудь таблицы.
[+] Дамп MySQL-таблиц производится без создания каких-либо файлов на сервере - всё напрямую направляется в браузер.
[+] Быстрое удаление скрипта
[+] Удобство в том, что можно работать с файлами, php, cmd и другими функциями независимо друг от друга, то есть примерно так - полистать файлы, выполнить пхп-код, вернуться к файлам, в это время результат выполнения php-кода не стирается, и к нему можно всегда вернуться.

Если будете что-либо менять в шелле, сохраняйте его в кодировке UTF-8 без BOM (так умеет делать, например, Notepad++).

Скачать: RAR

DXGraph — класс для создания диаграмм и графиков

Класс dxgraph предоставляет возможности построения столбчатых (вертикальных и горизонтальных) диаграмм, графиков всевозможных функций, круговых диаграмм, ступенчатых диаграмм, графиков по точкам, а также создания легенд диаграмм и графиков, сеток, координатных осей, градиентов и т.д. Этот класс используется, например, здесь: Статистика torrentoid.ru для рисования графика и диаграммы скачиваний. Текущая версия класса 1.2.

Подробную документацию с примером можно посмотреть здесь: Мануал

Скачать сам класс можно тут: скачать в zip

Forum Detector 1.0 beta

Forum Detector - это скрипт, написанный на php, который поможет вам определить, что за форум установлен на интересующем вас сайте. Если конкретнее, то скрипт умеет:
- определять тип форума (на данный момент поддерживается распознавание IPB, phpBB, vBulletin, MyBB)
- определять версию форума по разным критериям
- определять возможные уязвимости форума и предлагать подходящие для них эксплойты
- определять ТиЦ и PR сайта
- есть поддержка прокси, socks5, прокси с авторизацией, socks5 с авторизацией

Скачать скрипт в zip

UPD 16.04.09: исправлен косяк при работе с проксями.

(c) dx

PHP obfuscator 1.3 extended

Один из лучших обфускаторов PHP-кода, сам написан также на PHP.

Из возможностей:
- замена имет переменных с возможностью давать им короткие, случайные или однообразные имена;
- шифрование статических строк - простая обфускация или с использованием base64
- обфускация имен функций - аналогично именам переменных
- сжатие скрипта
- архивация скрипта
- возможность отключения замены конкретных имен функций, переменных, строк в параметрах функций
- возможность замены имен в eval()
- возможность добавления комментариев, которые сделают код максимально нечитаемым

Скачать:
Скачать в zip

Класс для работы с сокетами

PHP-класс, позволяющий просто работать с сокетами без лишних усилий.
Способен получить страницу по HTTP/1.1 и с использованием Keep-Alive-соединения, а также нормально парсит страницы с Transfer-Encoding: chunked.
Кроме того, если страница выдаётся в gzip, то есть возможность автоматической распаковки содержимого.
Класс также поддерживает прокси и может парсить cookies, выдаваемые ему сайтом.

По умолчанию класс работает через функции socket_*** (не поддерживаются денвером), но можно использовать и привычные fsockopen, правда, тогда через Keep-alive работать не получится.

Пример:

Ещё пример:

Дополнительные комментарии по всем функциям класса можно найти в его коде.

UPD от 30.03.09: Выкладываю новую версию, в которой добавлена поддержка прокси с паролями, socks5, socks5 с паролями и исправлен парсинг cookies, а также добавлены простые функции get и post.

UPD от 02.04.09: еще некоторые мелкие поправки

UPD от 16.04.09: исправлен косяк при работе с прокси

Скачать класс в zip

People search [beta]

Думаю, что большинство людей, прежде чем работать с каким-либо незнакомым человеком, ищут его профили на разных сайтах и форумах в поисковике, чтобы что-то о нём узнать.
В итоге я решил написать скрипт для облегчения такой задачи - необходимо просто ввести ник или запрос вида "icq <номер icq>" в поле, указать необходимые опции, подождать несколько секунд - и скрипт выдаст ссылки на возможные профили пользователя с определением тематики сайтов, его возможные сайты, номера icq, адреса e-mail, выведет статистику мест посещения и интересы человека, а также составит его примерный психологический портрет.
Скрипт парсит и обрабатывает выдачу гугла. Конечно, по нику есть смысл искать, если только он достаточно уникален.
Тематика сайтов определяется по встроенной базе, которая сейчас содержит более трехсот адресов популярных форумов и порталов.

Скачать скрипт (zip)

Рабочая версия скрипта

Site File Checker

Скрипт, который позволяет проверять целостность файлов вашего сайта.

Скрипт Site File Checker поможет убедиться в том, что файлы Вашего проекта не были изменены, то есть не содержат вредоносных вставок и не изменялись злоумышленниками. Скрипт просчитает контрольные суммы файлов в директории, в которую он загружен, а также во всех вложенных директориях. Также будет сохранено время последних изменений файлов. При проверке будут сравниваться директории (будут отображены новые и удалённые), файлы в анализируемых директориях (будут отображаться новые, удалённые файлы, а также те, у которых отличаются MD5 или дата последнего изменения).

После каждой проверки/просчёта контрольных сумм рекомендуется удалять скрипт, чтобы он не был кем-либо модифицирован.

Скачать: File Checker (zip), File Checker (txt).