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

Скриншот программы Screen GIF
Программа Screen GIF предназначена для записи участка экрана в виде анимированного GIF-файла. Таких программ достаточно, в том числе и бесплатных, поэтому очень странно смотрится ценник в несколько десятков евро. Это при том, что Screen GIF делает примерно то же самое, что и бесплатные аналоги. Добро пожаловать на разделочный стол.
Первым делом забираем с офсайта дистрибутив, устанавливаем. Мда, размерчик для нехитрой утилиты, мягко говоря, великоват. Главный исполняемый файл ничем не упакован, отправляем его на дизассемблирование.
В меню программы есть пункт регистрации, но на ввод левых данных никакой реакции нет, окно регистрации просто закрывается. Надо другую зацепку, например, надпись "Unregistered version" в окне "О программе", которое открывается при старте. Поиском по файлу обнаружится юникодная строка:

Строка сообщения в файле
Как всегда бывает в таких случаях, посмотрим на код в листинге, где эта строка используется, и выясним условия, при которых она появляется.
Code (Assembler) : Убрать нумерацию
- .text:0062FA25 call sub_618CAC
- ; Проверить значение по указателю на указатель DWORD 0x006ECA14
- .text:0062FA2A mov eax, off_6ECA14
- .text:0062FA2F cmp dword ptr [eax], 1
- ; Если оно не равно 1, то программа не зарегистрирована
- .text:0062FA32 jnz short loc_62FA54
- .text:0062FA34 lea edx, [ebp+var_8]
- .text:0062FA37 mov eax, ds:off_629810
- .text:0062FA3C call sub_629AA8
- .text:0062FA41 mov edx, [ebp+var_8]
- .text:0062FA44 mov eax, [ebx+390h]
- .text:0062FA4A call sub_4A44D0
- .text:0062FA4F jmp loc_62FADD
- .text:0062FA54 ; ------------------------------------------------------
- .text:0062FA54 loc_62FA54:
- .text:0062FA54 lea ecx, [ebp+var_28]
- ; "Unregistered version"
- .text:0062FA57 mov edx, offset aUnregisteredVe
Code (Assembler) : Убрать нумерацию
- ; Указатель на переменную
- .data:006ECA14 off_6ECA14 dd offset dword_77431C

Перекрестные ссылки на переменную
Нас интересует тот участок кода, где переменной присваивается значение 1. И, судя по адресации, присвоение другого значения находится там же недалеко. Так и есть:
Code (Assembler) : Убрать нумерацию
- .itext:006DAE3D mov eax, ds:off_629810
- .itext:006DAE42 call sub_629DB0
- .itext:006DAE47 test al, al
- .itext:006DAE49 jz short loc_6DAE57
- ; Программа зарегистрирована
- .itext:006DAE4B mov ds:dword_77431C, 1
- .itext:006DAE55 jmp short locret_6DAE61
- .itext:006DAE57 ; -----------------------------------------------------
- .itext:006DAE57 loc_6DAE57:
- ; Программа не зарегистрирована
- .itext:006DAE57 mov ds:dword_77431C, 2
- .itext:006DAE61 locret_6DAE61:
- .itext:006DAE61 retn

Программа успешно "зарегистрирована"
Окно "О программе" при старте программы и при завершении ее работы больше не появляется, пункт регистрации из меню исчез, на готовую анимацию не накладывается водяной знак, а в уже упомянутом окне "О программе" нам объявляется огромная благодарность за поддержку. Да было б за что, обращайтесь :) Цель достигнута, все ограничения сняты.
Просмотров: 1628 | Комментариев: 5
Метки: исследование защиты

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

ManHunter
(28.03.2019 в 14:04):
Оперативненько, однако...
https://www.upload.ee/files/97...gif.zip.html
https://www.upload.ee/files/97...gif.zip.html

user
(28.03.2019 в 13:51):
...забираем с офсайта дистрибутив... - уже потерли, дайте то же глянуть, пжл.)

user
(24.03.2019 в 08:43):
По сути ничего сложного предлагаю по нопить это для самых ленивых
CPU Disasm
Address Hex dump Command Comments
0062FA2F |. 8338 01 CMP DWORD PTR DS:[EAX],1
0062FA32 90 NOP
0062FA33 90 NOP
0062FA34 |. 8D55 F8 LEA EDX,[EBP-8]
0062FA37 |. A1 10986200 MOV EAX,DWORD PTR DS:[629810]
CPU Disasm
Address Hex dump Command Comments
0062FA2F |. 8338 01 CMP DWORD PTR DS:[EAX],1
0062FA32 90 NOP
0062FA33 90 NOP
0062FA34 |. 8D55 F8 LEA EDX,[EBP-8]
0062FA37 |. A1 10986200 MOV EAX,DWORD PTR DS:[629810]

SHREEF
(24.03.2019 в 01:03):
Ворпос. А пробовал отучить программу RAMCACHEIII WIN10 от win10 ибо в коде она может работать и с младшими версиями виндос ?!

Добавить комментарий
Заполните форму для добавления комментария

Прога на дельфях - начинающим в помощь IDR, все как на ладони.