Blog. Just Blog

Исследование защиты программы HttpMaster

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Темная сторона Силы | Автор: ManHunter
Скриншот программы HttpMaster
Скриншот программы HttpMaster

HttpMaster - мощнейший инструмент для тестирования различных API, веб-сервисов, сайтов, приложений и т.п. С его помощью вы можете сформировать и отправить любое количество запросов с указанием POST/GET параметров, HTTP-заголовков, а также других опций. Полученные данные тут же можно проанализировать и затем использовать эту информацию для следующего запроса в цепочке. Больше не надо рисовать тестовые скрипты, а тем более (ужас-ужас!) тестировать приложения в браузере. На сайте есть облегченная бесплатная версия и платная со всеми наворотами. На мелочи размениваться не будем, если любить, то сразу королеву.

Забираем с офсайта свеженький дистрибутив, устанавливаем, смотрим что и как.

Сообщение о неправильной регистрации
Сообщение о неправильной регистрации

При первом запуске сразу вываливается уведомление, что триальный период закончился и надо его продлить или бежать в кассу. Блин, как он может закончиться, если я только сегодня установил эту программу? Ладно, по крайней мере у нас есть текст сообщения о неправильной регистрации. Программа написана на дотнете, стало быть в очередной раз нам потребуется dnSpy. Поиском по файлам определяем, что эта строчка содержится в файле HttpMaster.Texts.DLL. Ну логично, чо. Отправляем его в dnSpy, там поиском по строке выясняем, что индекс этой строки "invalidLicense". Возвращаемся к поиску по этому же файлу, но уже по строке индекса "invalidLicense", в анализаторе выясняем, что она используется в двух местах:

Использование индекса
Использование индекса

Нас интересует метод, который вызывается при нажатии кнопки "OK" в форме ввода регистрационных данных.

Метод для проверки регистрации
Метод для проверки регистрации

Чем мне все-таки нравится дотнет, так это тем, что в большинстве случаев при декомпиляции получается вполне себе человекопонятный исходник. По порядку обработки радиобаттонов, выходим на конструкцию RegistrationManager().InstallLicense. Клик по названию приводит нас к менеджеру регистрации и лицензирования, который обитает в файле HttpMaster.Engine.DLL. Если посмотреть его методы, то кроме очевидных методов для проверки триальных дней, наличия триальной лицензии, обновления старой лицензии и т.п. можно обнаружить интересный метод NewLicenseKeyExists().

Метод проверки лицензии
Метод проверки лицензии

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

Редактируем метод
Редактируем метод

Все его содержимое заменяем на "return true;" и компилируем сборку. Сохраняем модуль с внесенными изменениями. Запускаем программу, больше никаких уведомлений об истечении триального срока и никаких предложений зарегистрироваться не появляется. Цель достигнута. Единственный косяк, что при попытке открыть информацию о лицензии, вместо информации появляется сообщение об ошибке. Ну ничего, потЕрпите. Неча лазать туда, куда собака свой (х)вост не сувала. Убираем еще один полезный инструмент в набор web-мастера.

Поделиться ссылкой ВКонтакте
Просмотров: 1839 | Комментариев: 3

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (26.05.2020 в 19:34):
Для ответа на этот вопрос нужно как минимум попользоваться всеми этими программами. Лично у меня на проектах апи не такие зубодробительные, чтобы их надо было так тестировать.
Vladimir (26.05.2020 в 19:33):
Программа сильно удобнее постмана? А то привык к связке Postman + SoapUI, а может что-то упускаю в жизни.
Luna ©orporation (24.05.2020 в 15:45):
Спасибо)

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0067 сек.) / Память: 4.5 Mb
Наверх