Исследование защиты программы Disk Size Manager
Скриншот программы Disk Size Manager
Программа Disk Size Manager предназначена для ответа на вопрос: куда делось место на диске? Она показывает в виде диаграммы какие файлы и в каких папках занимают больше всего места. Проблема нехватки дискового пространства возникает регулярно, поэтому триальный срок в 30 дней надо устранить.
Забираем с офсайта дистрибутив, устаналиваем, смотрим. Главный исполняемый файл накрыт протектором ASProtect. Снять его можно при помощи утилиты DecomAS от PE_kill, но делать это мне пришлось на ноутбуке с Windows XP, так как на других системах на выходе получался нерабочий файл.
Распаковываем файл
Проверяем файл, убеждаемся в его работоспособности и отправляем на разбор в дизассемблер. Параллельно уточним, на какие признаки триальности можно ориентироваться при анализе защиты.
Окно "О программе"
Хорошая зацепка - счетчик оставшихся дней в окне "О программе". Он точно появляется, если программа не зарегистрирована. Но тут нас ждет разочарование. Код для формирования этого сообщения в программе есть, но вот ссылок на эту процедуру нет. Поиском по строке "trial" обнаруживается еще одно характерное место:
Code (Assembler) : Убрать нумерацию
- CODE:005A9CDB push ebp
- CODE:005A9CDC push offset loc_5A9D2C
- CODE:005A9CE1 push dword ptr fs:[eax]
- CODE:005A9CE4 mov fs:[eax], esp
- ; Проверить значение переменной
- CODE:005A9CE7 cmp ds:dword_5BA378, 0
- ; Если значение больше 0, то переход
- CODE:005A9CEE jg short loc_5A9D16
- CODE:005A9CF0 lea edx, [ebp+var_4]
- ; Загрузить строку из переменной по указанному адресу
- CODE:005A9CF3 mov eax, ds:dword_5BA384
- CODE:005A9CF8 call @Sysutils@Trim$qqrx17System@AnsiString
- CODE:005A9CFD cmp [ebp+var_4], 0
- ; Если строка не пустая, то переход
- CODE:005A9D01 jnz short loc_5A9D16
- ; Вывести сообщение об окончании триального периода
- CODE:005A9D03 push 30h ; uType
- CODE:005A9D05 push offset aTrialPeriodExp
- ; "Trial Period Expired!"
- CODE:005A9D0A push offset aLicenseKeyNotF
- ; "License key not found!\r\rPlease purchase"...
- CODE:005A9D0F push 0 ; hWnd
- CODE:005A9D11 call j_MessageBoxA_0
- CODE:005A9D16 loc_5A9D16:
- CODE:005A9D16 xor eax, eax
- CODE:005A9D18 pop edx
- CODE:005A9D19 pop ecx
- CODE:005A9D1A pop ecx
Заменяем строку
Сохраняем изменения, запускаем.
Программа успешно "зарегистрирована"
Ограничений по времени работы нет, "лицензия" установлена, в окне "О программе" нужное регистрационное имя. Цель достигнута.
Просмотров: 1864 | Комментариев: 6
Метки: исследование защиты, HDD
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Олег
(10.10.2020 в 21:14):
Также SpaceSniffer попробуйте. Хорошая визуализация.
ManHunter
(03.10.2020 в 09:48):
Так смысл же статьи не в поиске аналогов и не в их сравнении.
hjkb
(03.10.2020 в 09:37):
На правах рекламы.
WinDirStat - то же самое, но легче, быстрее и даром!
WinDirStat - то же самое, но легче, быстрее и даром!
1
(02.10.2020 в 17:33):
Интересное решение
ManHunter
(02.10.2020 в 07:58):
Так я как раз для этих целей и держу старый нетбук с WinXP. Что армудила, что аспр, все наиболее корректно распаковывается именно под XP. Никакая виртуалка не заменит.
0101
(02.10.2020 в 07:51):
Вот XP и пригодилась!) Давно использую эти две бесплатные программы для определения занятого места. Так что нет никакого "охотничьего" интереса добывать ещё одну..
https://yadi.sk/d/p76dz3QL1idB2Q
https://yadi.sk/d/p76dz3QL1idB2Q
Добавить комментарий
Заполните форму для добавления комментария