Главная > XRumer > Облегчаем создание модов (на примере регера фришников на LayeredPanel).

Облегчаем создание модов (на примере регера фришников на LayeredPanel).

27th Август, 2011

Статья написана для третьего конкурса статей , старт которому дал Botmaster.

Как показала практика, у многих возникают проблемы с созданием модов. В основном у людей возникают следующие 2 проблемы:
– Люди не знают и не хотят изучать HTML
– Достаточно сложно отслеживать действия Хрумера через существующую систему логирования

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

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

Основная идея – использование отладочного прокси. Я использую Fiddler, работу которого, в связке с Хрумером мы и рассмотрим ниже, но вы вольны использовать любой другой Debugging Proxy в зависимости от своих предпочтений. Все, тема спалена. Самые смекалистые уже закрыли страничку и побежалиставить Fiddler, а для остальных я приготовил длинную статью. До Война и мир ей конечно еще далеко….но букаф и картинок много ))) И да, картинки дрочибельны кликабельны

Предвижу вопрос – а чем же нам поможет отладочный прокси? Поможет очень многим. Во первых мы сможем проследить на какие страницы заходит Хрумер, какие скачивает картинки и как заполняет формы (это решает вторую проблему). Во вторых мы можем ручками зарегистрироваться на интересующем нас сайте и сравнить – чем заполняем формы мы, а чем Хрумер. Разумеется, при этом нужно и Хрумеру и браузеру сказать чтоб работали через наш проксик. В общем, хватит прелюдий, беремся за Хрумер.

Установку Fiddler-а описывать не стану – если уж у вас есть Хрумер, то вы как минимум адвансед юзер, значит осилите. Единственное – рекомендую отключить захват всего трафика (снять галку с Capture Traffic).

Сервер xrumer

Для примера научим Хрумер регистрировать фришники на LayeredPanel, например 1000space.com. На таких фришниках знатная капча, которую через сервисы распознавания отгадывают весьма некорректно (тулят в ответ еще и серые буковки), а вот Хрумка щелкает на ура. Хотя на некоторых хостах стоит усложненный вариант этой капчи, с которой у Хрумки возникают проблемы, но с этим не ко мне, а сами знаете к кому ))). Если дружно попросите – сделает. Кардинальных различий я в тех капчах не заметил.

Xrumer сайт

Для начала попробуем пройти процесс регистрации ручками. Настраиваем браузер на использование прокси. На скриншоте пример настройки для ИЕ

Xrumer сайт

Запускаем Fiddler. Заходим через браузер на страницу регистрации http://www.001webs.com/register.jsp , заполняем форму и нажимаем кнопку Submit (кстати, стоит обратить внимание на то, что ответ на вопрос «How did you find us» мы выбираем из выпадающего списка, а значит ответ на него нужно будет указать в списке приоритетных разделов в проекте для Хрумера, аналогичная ситуация и с выбором поддомена). В итоге в окошке Fiddler-а мы получим что-то наподобии того, что изображено на скриншоте.

Создание модов

Разыскиваем строчку помеченную значком Сервер xrumer- таким значком отмечаются строки с POST запросами.

Xrumer сайт

В правой части нашего отладочного прокси мы видим содержимое POST запроса:

Видео xrumer

В столбце Name перечислены имена элементов заполненной формы, а в столбце Value – значения, которыми мы их заполнили.

Теперь нам нужно добиться того, чтоб Хрумер отправил аналогичный запрос.

Для начала нужно научить Хрумер постить через наш проксик. Запускаем Хрумер, отключаем автообновление прокси

Сервер xrumer

Включаем использование прокси

Сервер xrumer

И закрываем Хрумер. Находим в папке с Хрумером файл xproxy.txt , и заменяем его содержимое одной единственной строчкой

127.0.0.1:8888

Xrumer сайт

Снова запускаем Хрумер. Обращаем внимание на строку «Количество прокси» на вкладке «Анонимность». Если все сделано правильно Хрумер увидит 1 прокси.

Создание модов

Создаем новый проект. Не забываем добавить в список приоритетных разделов ответ на вопрос «How did you find us»- например Google и домен, поддомен которого мы хотим заполучить (в данном примере 1000space.com )

Сервер xrumer

Включаем режим «Только регистрация»

Xrumer сайт

Указываем адрес страницы регистрации и нажимаем кнопку Тест:

Xrumer сайт

Получаем такой результат:

Создание модов

Как и в случае с ручным заполнением формы опускаемся на строчку, отмеченную значком POST запроса

Сервер xrumer

И изучаем содержимое отправленной формы

Xrumer сайт

Сравниваем с содержимым формы полученным при ручной регистрации. Как видим Xrumer пропустил одно поле – tos.

Видео xrumer

Как мы видим нам нужно заставить Хрумку присваивать полю tos значение 1 и все будет в шоколаде. Но это уже проще простого. Закрываем Хрумер, открываем файл xas.txt и добавляем в него в самом начале 2 строчки:

Xrumer видео

Первая строчка

#tos

– указывает на имя поля, которое нужно заполнить (первый столбик в Fiddlere), а вторая строчка:

1

Указывает на значение, которым нужно заполнить это поле (первый столбик в Fiddlere).

Управились! Проверяем.

Как говорится результат на лицо:

Сервер xrumer

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

Xrumer сайт

Теперь перед нами стоит 2 задачи – получить письмо и пройти второй этап регистрации.

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

Проходим регистрацию ручками:

Запретить ответы сервера используя fiddler2

Сервер xrumer

Xrumer сайт

По ходу ручной регистрации подмечаем стремные места:

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

- Lastname и First name – 2 разных поля а в проекте у нас только одно поле – «Настоящее имя» Значит нужно будет переназначить какое-то поле.

Теперь пробуем заставить Хрумер пройти второй шаг регистрации. Правим наш проект – добавляем в список приоритетных разделов страну и категорию сайта.

Xrumer сайт

Определяемся какое поле отведем для фамилии. Я решил, что ничего страшного не произойдет, если отвести под фамилию поле «Увлечения». В поле тема указываем «Site Name», а в поле с описанием – «Site Description»

Сайт для создания модов картинки

Так как это по сути активация аккаунта – обязательно смените режим на MLinksList

Сервер xrumer

Подставляем ссылку взятую из письма и нажимаем «Тест».

Факир был пьян и фокус не удался – как видим Хрумер отказался заполнять форму (хрумер не сделал ни одного POST запроса).

Xrumer сайт

По всей видимости, его смутило отсутствие поля для текста. В таких случаях рекомендуется прописать признаки для флагов FORCE_TEXTAREA и FORCE_SUBJECT. Но что нм прописать в качестве признака? Мы ведь не знаем HTML и не станем рыться в этих страшных файлах! А нам и не нужно! В качестве признака неплохо подойдет название какого-то специфического поля в заполняемой форме. Ну, например, site_description.

Закрываем Хрумер, правим файл xmessages.txt:

Видео xrumer

Запускаем Хрумер и жмякаем на кнопку Тест.

Опять осечка.

Видео xrumer

Сервер xrumer

Радует лишь то, что в этот раз Хрумер просто неправильно заполнил форму, а с этим мы бороться уже умеем. Сравниваем содержимое формы заполненной хрумером и заполненной руками и находим следующие отличия:

- неправильно заполнены имя и фамилия

- неправильно заполнено поле gender (1 вместо MAN)

- неправильно заполнено поле «Site Name»

- не заполнено поле«Site Description»

Открываем справку по хрумеру и ищем под какими названиями у нас прячутся поля.

Поле «Настоящее имя» (у нас в нем просто имя) прячется под названием REALNAME

Поле «Увлечения» (у нас в нем фамилия) прячется под названием INTERESTS

Поле «Тема» (у нас в нем «Site Name») прячется под названием SUBJ1

Поле с текстом сообщения (у нас в нем «Site Description») прячется под названием SUBJ2

Таким образом в форме нам нужно заполнить

first_name – значением REALNAME

last_name – значением INTERESTS

site_name – значением SUBJ1

site_description – значением SUBJ2

поле gender значением MAN

Вносим правки в xas.txt

Xrumer сайт

Указать форму регистрации хрумеру

Сервер xrumer

Перезапускаем Хрумер. Что есть силы давим на кнопку «Тест».

Сервер xrumer

Xrumer сайт

Как видим форма заполнена правильно. Как и на первом шаге мы нажимаем на троеточие в нижнем правом углу нашего отладочного прокси
сервера и смотрим ответ фришника в браузере. У меня получилась вот такая картинко

Добавить прокси в хрумер

Как видим все окейно – хрумка обучен регать фришники. Заметьте, что за время создания мода мы ниразу не заглянули в папку Debug и ни разу не заглядывали в HTML код страницы.

Те, кому лень читать (или те кто все прочитал и ничего не понял) могут посмотреть весь процесс на видео:


P.S.

И да, моя рефка .

XRumer ,

Комментарии закрыты.