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

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

27th Август, 2011

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

127.0.0.1:8888

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

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

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

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

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

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

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

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

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

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

#tos

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

1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

— неправильно заполнено поле 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

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

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

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

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


P.S.

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

XRumer ,

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