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

Скриншот программы FolderSizes
FolderSizes - это не просто программа, а целый "швейцарский нож" для анализа дискового пространства. Она превращает рутинную задачу поиска больших файлов в быстрый, наглядный и даже увлекательный процесс. Если вы столкнулись с сообщением "Недостаточно места на диске", FolderSizes - это один из самых эффективных инструментов для решения этой проблемы. Существуют платная версия с полным функционалом, которая имеет некоторые ограничения, если ее не купить.
Авторы оставили для скачивания дистрибутив старой 32-битной версии, в первую очередь для пользователей операционных систем, таких как Windows XP или 32-битные версии Windows 7/Vista. Так что заберем последний подходящий дистрибутив, устанавливаем, смотрим. Проверяем, запакован или зашифрован ли основной исполняемый файл. Нет, файл чистый.

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

Триальный текст
Наличие строки "EVALUATION VERSION" в интерфейсе - ключевая находка, которая сильно сужает область поиска. Более того, использование ключевого слова "evaluation" является маркером, подтверждающим, что в коде следует искать и другие текстовые элементы, связанные с проверкой лицензии.
Code (Assembler) : Убрать нумерацию
- .text:004F4DAF call loc_4E6B90
- .text:004F4DB4 lea ecx, [ebp-134h]
- .text:004F4DBA mov byte ptr [ebp-4], 5
- ; Функция проврки
- .text:004F4DBE call sub_11307C0
- ; Результат проверки
- .text:004F4DC3 test eax, eax
- ; Переход
- .text:004F4DC5 jz short loc_4F4DD8
- ; Текст заголовка окна
- .text:004F4DC7 push 15h
- .text:004F4DC9 push offset aEvaluationVers
- ; " - EVALUATION VERSION"
- .text:004F4DCE lea ecx, [ebp-10h]
- .text:004F4DD1 call loc_4248A0
- .text:004F4DD6 jmp short loc_4F4E1D
- .text:004F4DD8 ; ----------------------------------------------------
- .text:004F4DD8 loc_4F4DD8:
- .text:004F4DD8 push ecx
- .text:004F4DD9 lea eax, [ebp-14h]
Code (Assembler) : Убрать нумерацию
- .text:011307C0 sub_11307C0 proc near
- .text:011307C0 push esi
- .text:011307C1 mov esi, ecx
- .text:011307C3 call sub_112ED50
- .text:011307C8 cmp dword ptr [esi+30h], 2
- .text:011307CC jz short loc_11307D5
- .text:011307CE mov eax, 1
- .text:011307D3 pop esi
- .text:011307D4 retn
- .text:011307D5 ; ------------------------------------------------
- .text:011307D5 loc_11307D5:
- .text:011307D5 mov eax, [esi+24h]
- .text:011307D8 and eax, 8E00h
- .text:011307DD neg eax
- .text:011307DF pop esi
- .text:011307E0 sbb eax, eax
- .text:011307E2 neg eax
- .text:011307E4 retn
- .text:011307E4 sub_11307C0 endp

Программа успешно "зарегистрирована"
Проведенное тестирование подтверждает, что программа была успешно модифицирована для устранения ограничений пробной версии. В пользовательском интерфейсе полностью отсутствуют триальные надписи, а весь заявленный функционал выполняется без каких-либо исключений или сообщений об ошибках. Цель достигнута.
Просмотров: 551 | Комментариев: 4
Метки: исследование защиты
Комментарии
Отзывы посетителей сайта о статье
voffka
(23.11.2025 в 14:21):
MOV EAX,0
Шикуешь. А где старый добрый xor eax,eax?
Шикуешь. А где старый добрый xor eax,eax?
ManHunter
(21.11.2025 в 11:32):
Ключ появляется автоматически после патча, даже делать ничего не надо. Он прибит строкой в коде. А если этот License key зарегистрировать без патча, то программа напишет, что EVALUATION VERSION на 8 дней.
AleshaA
(21.11.2025 в 10:56):
Как MOV EAX,0 и RET сочетается с License key на последней картинке
Добавить комментарий
Заполните форму для добавления комментария



https://z0mbie.daemonlab.org/21zero.html