Исследование защиты программы Hotkey Commander
Скриншот программы Hotkey Commander
Hotkey Commander - отличный менеджер горячих клавиш в Windows. Позволяет просматривать, какая программа захватила на себя обработку той или иной комбинации клавиш, а также переназначать, отключать и изменять горячие клавиши. Без регистрации работает всего 15 дней, что, безусловно, очень мало. На офсайте есть бесплатная софтинка Hotkey Explorer, но она позволяет только смотреть список приложений и назначенных им горячих клавиш.
Забираем с сайта дистрибутив, устанавливаем, смотрим. При попытке регистрации неправильными данными программа падает с фатальной ошибкой. Это точно не реакция защиты, скорее всего автор просто что-то не предусмотрел. А еще в окне есть неизменяемое поле серийного номера, но это не серийник, а HWID для привязки регистрации к компьютеру. Дизассемблер - наше все, отправляем главный исполняемый файл на разбор.
Окно регистрации программы
Пусть с окном регистрации не получилось, следующая зацепка - надпись "Not Registered" в заголовке. Поиском строки в листинге дизассемблера обнаружится следующий код:
Code (Assembler) : Убрать нумерацию
- .text:004082CD mov ecx, offset unk_446B44
- .text:004082D2 mov [esp+18h+var_4], 0
- ; Вызвать функцию проверки
- .text:004082DA call sub_411BF0
- .text:004082DF test eax, eax
- ; Если AX=0, то программа не зарегистрирована
- .text:004082E1 jz short loc_4082F3
- .text:004082E3 push offset unk_446B4C
- .text:004082E8 lea ecx, [esp+1Ch+lpString]
- .text:004082EC call ??YCString@@QAEABV0@ABV0@@Z
- ; CString::operator+=(CString const &)
- .text:004082F1 jmp short loc_408301
- .text:004082F3 ; ---------------------------------------
- .text:004082F3 loc_4082F3:
- .text:004082F3 push offset aNotRegistered
- ; "Not Registered"
- .text:004082F8 lea ecx, [esp+1Ch+lpString]
- .text:004082FC call sub_42C983
Code (Assembler) : Убрать нумерацию
- .text:00411867 mov ecx, offset unk_446B44
- .text:0041186C call sub_411BF0
- .text:00411871 test eax, eax
- .text:00411873 jz short loc_411888
- .text:00411875 push 40h ; uType
- .text:00411877 push offset aCongratulation
- ; "Congratulations"
- .text:0041187C push offset aThankYouForReg
- ; "Thank you for registering Hotkey Comman"...
- .text:00411881 mov ecx, esi
- .text:00411883 call sub_42AB76
Программа успешно "зарегистрирована"
Из заголовка исчезла триальная надпись, в интерфейсе нет кнопок регистрации, а на вкладке "О программе" красуется надпись о зарегистрированности. Регистрационного имени нет, но ничего, я как-нибудь это переживу. Зато теперь программа может без проблем запускаться на любом компьютере с сервисной флешки, куда она, собственно, и отправилась после проведения курса интенсивной терапии. Цель достигнута. Спасибо автору за очень полезную программу.
Просмотров: 1888 | Комментариев: 2
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
voffka
(06.09.2019 в 22:43):
Жалко, что больше не делают такие защиты, раньше RSA была на каждой второй программе.
Процедура генерации на masm-e
https://pastebin.com/vvW0SN1T
использована biglib by roy|fleur
Процедура генерации на masm-e
https://pastebin.com/vvW0SN1T
использована biglib by roy|fleur
Добавить комментарий
Заполните форму для добавления комментария
ManHunter, так держать! ПО должно быть свободным!