Исследование защиты программы Erelive Data Recovery
Скриншот программы Erelive Data Recovery
Программа Erelive Data Recovery предназначена для восстановления удаленных данных с карт памяти, жестких дисков, внешних накопителей и прочих носителей информации. Поиск и восстановление данных выполняется с учетом их структуры. От подобных инструментов других разработчиков принципиально не отличается, но имеет место быть. Без регистрации только показывает файлы, но не сохраняет их. Попробуем это исправить.
Внутри пухлого дистрибутива большее всего места занимают сторонние бесплатные утилиты, типа видеоплеера или графического конвертера. Главный файл ничем не защищен и не упакован, поэтому после установки отправляем его прямиком в дизассемблер.
При попытке восстановить удаленные данные или при выборе регистрации через меню появляется окно ввода электронной почты и серийника. На ввод левых данных программа реагирует следующим сообщением.
Сообщение о неправильной регистрации
Программа поддерживает многоязычный интерфейс, строка сообщения обнаруживается в языковом файле English.ini. Как видите, ей соответствует индекс MSG1004. Вот его и поищем в дизассемблерном листинге.
Строка сообщения в языковом файле
Поиском по строке обнаружится следующий код. Сперва выполняется какая-то проверка, если она вернула EAX=0, то выводится сообщение о неправильной регистрации.
Code (Assembler) : Убрать нумерацию
- .text:00452FD8 call sub_453390
- .text:00452FDD mov bl, 10h
- .text:00452FDF mov byte ptr [esp+8FCh+var_4], bl
- .text:00452FE6 mov edi, [esp+8FCh+var_8EC]
- ; Вызвать функцию проверки
- .text:00452FEA call sub_4339B0
- .text:00452FEF test eax, eax
- ; Если она вернула EAX=0, то вывести сообщение о неправильной регистрации
- .text:00452FF1 jz loc_4531A0
- .text:00452FF7 mov ebx, [esp+8FCh+ThreadId]
- .text:00452FFB mov ecx, ebx
- .text:00452FFD call sub_433200
- ...
- ...
- .text:004531A0 loc_4531A0:
- .text:004531A0 lea edx, [esp+8FCh+var_450]
- .text:004531A7 push edx
- .text:004531A8 call sub_44D240
- .text:004531AD mov eax, offset aMsg1004 ; "MSG1004"
- .text:004531B2 lea ecx, [esp+8FCh+var_838]
- .text:004531B9 mov byte ptr [esp+8FCh+var_4], 13h
- .text:004531C1 call sub_409770
- .text:004531C6 mov esi, [esp+8FCh+var_8E0]
Code (Assembler) : Убрать нумерацию
- .text:004339B0 sub_4339B0 proc near
- .text:004339B0 xor eax, eax
- .text:004339B2 mov edx, offset a2z3zo3myezyxed
- ; "2z3zO3MyezyXedo3y4Q6DNKh76p8cn"
- .text:004339B7 mov ecx, edi
- .text:004339B9 push esi
- .text:004339BA lea ebx, [ebx+0]
- .text:004339C0 loc_4339C0:
- .text:004339C0 mov si, [ecx]
- .text:004339C3 cmp si, [edx]
- .text:004339C6 jnz short loc_4339E6
- .text:004339C8 test si, si
- .text:004339CB jz short loc_4339E2
- .text:004339CD mov si, [ecx+2]
- .text:004339D1 cmp si, [edx+2]
- .text:004339D5 jnz short loc_4339E6
- .text:004339D7 add ecx, 4
- .text:004339DA add edx, 4
- .text:004339DD test si, si
- .text:004339E0 jnz short loc_4339C0
- .text:004339E2 loc_4339E2:
- .text:004339E2 xor ecx, ecx
- .text:004339E4 jmp short loc_4339EB
- .text:004339E6 ; ---------------------------------------
- .text:004339E6 loc_4339E6:
- .text:004339E6 sbb ecx, ecx
- .text:004339E8 sbb ecx, 0FFFFFFFFh
- .text:004339EB loc_4339EB:
- .text:004339EB test ecx, ecx
- .text:004339ED jz short loc_433A25
- .text:004339EF mov edx, offset aBedlztagiozavo
- ; "BeDLZtagIOZAvosQtghorfNcbfdgPm"
- .text:004339F4 mov ecx, edi
- .text:004339F6 loc_4339F6:
А вот если посмотреть на строчки, которые задействуются в случае корректной регистрации, то там обнаружится следующее:
Code (Assembler) : Убрать нумерацию
- .rdata:004EBA20 aSmtp_163_com db 'smtp.163.com',0
- .rdata:004EBA2D align 10h
- .rdata:004EBA30 aFilerecovery@1 db 'fileRecovery@163.com',0
- .rdata:004EBA45 align 4
- .rdata:004EBA48 aLouis19841027 db 'louis19841027',0
- .rdata:004EBA56 align 4
- .rdata:004EBA58 aEDataRecovery db 'E Data Recovery',0
- .rdata:004EBA68 a5_2_0EDataReco db '5.2.0 E Data Recovery Registration',0
- .rdata:004EBA8B align 4
- .rdata:004EBA8C aTheBatV3_02Pro db 'The Bat! (v3.02) Professional',0
Программа успешно зарегистрирована
Ладно, нажимаем кнопку регистрации, в поля ввода вводим любой email, в поле серийника любой из двух указанных выше. Программа благодарит за регистрацию, из интерфейса исчезают кнопки и пункты меню покупки и регистрации. Ограничения при восстановлении удаленных данных тоже исчезают. Цель достигнута. Остальные выводы сделаете сами.
Просмотров: 1418 | Комментариев: 3
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
daxx0r
(20.12.2020 в 14:12):
Именно. Размалеванная платная обертка над ffmpeg.
ManHunter
(20.12.2020 в 01:52):
Скорее всего, что на паблик доступны готовые компоненты с примерно нулевым уровнем вхождения, типа convert('avi','mp4'). Отсюда и такое обилие ужа-в-ежа-конвертеров, достаточно только налячкать мало-мальский интерфейс для выбора файлов и кнопкой "Конвертировать". Ну и с регистрацией за стопицот золотых дукатов, конечно.
daxx0r
(17.12.2020 в 03:05):
Программ для восстановления данных развелось как грязи.
Такое ощущение, что все начинающие погромисты учатся по одному учебнику, в котором одно из заданий - написать свою дата рекавери прогу.
То же самое и про аудио-видео конвертеры)
Такое ощущение, что все начинающие погромисты учатся по одному учебнику, в котором одно из заданий - написать свою дата рекавери прогу.
То же самое и про аудио-видео конвертеры)
Добавить комментарий
Заполните форму для добавления комментария