Исследование защиты программы Smarter Battery
Скриншот программы Smarter Battery
Программа Smarter Battery предназначена для мониторинга состояния аккумулятора ноутбука. Она показывает изменение емкости батареи во время цикла зарядки и разрядки, прогнозирует оставшееся время работы ноутбука и уведомляет при достижении низкого и критического уровня заряда батареи. Часть полезных функций заблокированы и требуют денежных вложений. Но лучше сэкономить денежку на приобретение запасного аккумулятора для ноута.
Скачиваем с сайта дистрибутив, устанавливаем, смотрим. Главный исполняемый файл ничем не упакован, поэтому отдаем его на анализ в дизассемблер.
Как я уже говорил, некоторые функции программы в незарегистрированном режиме недоступны. Например, при попытке вызвать полезный совет или запустить калибровку вываливается вот такое сообщение:
Сообщение триальной версии
Поиск по тексту сообщения результатов не дает, зато поиск по заголовку окна выводит на следующий код:
Code (Assembler) : Убрать нумерацию
- CODE:004A3B83 mov eax, ds:off_4C8144
- CODE:004A3B88 mov byte ptr [eax], 0
- ; Проверить значение флага регистрации
- CODE:004A3B8B cmp byte ptr ds:dword_4CC180+1, 0
- ; Если он равен нулю, то сообщение не выводить
- CODE:004A3B92 jz short loc_4A3BC3
- CODE:004A3B94 call sub_4A33C4
- CODE:004A3B99 push 0
- CODE:004A3B9B push 1
- CODE:004A3B9D lea ecx, [ebp+var_8]
- CODE:004A3BA0 mov edx, offset aViktGgbvvtfJuC
- ; "Vikt\"ggbvvtf\"ju!cwcjnbdmg!qonz\"gqs\"sghk"...
- CODE:004A3BA5 mov eax, ds:dword_4CADFC
- CODE:004A3BAA call sub_4A589C
- CODE:004A3BAF mov ecx, [ebp+var_8]
- CODE:004A3BB2 xor edx, edx
- CODE:004A3BB4 mov eax, offset aUnregistered
- ; "Unregistered"
- CODE:004A3BB9 call sub_4A2FBC
- CODE:004A3BBE jmp loc_4A3C8C
Перекрестные ссылки на флаг
По перекрестным ссылкам выясняем, что флаг инициализируется "плохим" значением в двух местах, в остальных участках кода он только проверяется. Поочередно переходим на оба участка кода с инициализацией и меняем обе команды mov byte ptr ds:dword_4CC180+1, 1 на mov byte ptr ds:dword_4CC180+1, 0. Сохраняем изменения, смотрим. Программа запускается, никаких проблем. Проверяем работоспособность и функционал программы после внесения изменений. Для этого, например, повторим вызов полезного совета.
Программа успешно "зарегистрирована"
Все функции работают, перевод системных часов на программу никак не влияет, никаких ограничений нет. Цель достигнута, можно прикручивать полезную приблуду к своему ноуту.
Просмотров: 258 | Комментариев: 0
Метки: исследование защиты, ноутбуки
Комментарии
Отзывы посетителей сайта о статье
Комментариeв нет
Добавить комментарий
Заполните форму для добавления комментария