Исследование защиты программы Mp3 Audio Editor
Скриншот программы Mp3 Audio Editor
Mp3 Audio Editor - простой редактор для музыкальных файлов, но при этом он обладает всеми необходимыми функциями для любительского аудиомонтажа. Mp3 Audio Editor позволяет записывать звук из внешних источников, накладывать на него различные эффекты, а потом записывать готовый результат на CD-диски или выкладывать в интернет. За все это добро аффтар предлагает нам расстаться аж с 40 баксами, тогда как я считаю, что искусство должно принадлежать народу бесплатно.
Скачиваем дистрибутив, устанавливаем, смотрим что у нас получилось. В папке с программой целая куча исполняемых файлов, похоже, что для каждого действия (запись дисков, редактирование файлов) предусмотрена своя утилита. Главный исполняемый файл называется Mp3AudioEditor.exe, он ничем не упакован, так что просто отправляем его в дизассемблер, а сами посмотрим, как проявляются ограничения незарегистрированной версии программы.
Окно регистрации программы
Здесь же информация об оставшемся триальном сроке, а также поля для ввода имени и серийного номера. На ввод левых данных программа реагирует вот таким сообщением:
Сообщение о неправильной регистрации
Смотрим в дизассемблере, при каких условиях появляется это сообщение. Параллельно запустим программу под отладчиком и отработаем этот же участок кода в пошаговом режиме. Комментарии я сразу же расставил, исходя из результатов отладки:
Code (Assembler) : Убрать нумерацию
- ...
- CODE:00627917 lea edx, [ebp+var_10]
- CODE:0062791A mov eax, [ebp+var_8]
- CODE:0062791D call sub_409B04
- CODE:00627922 mov eax, [ebp+var_10]
- CODE:00627925 mov edx, ds:off_6D5ACC
- CODE:0062792B mov edx, [edx+8]
- ; Сравнить серийник со строкой "MAE-TF477-46YM4-W74MH-6YDQ8"
- CODE:0062792E call sub_4051E4
- CODE:00627933 jz short loc_62799F
- CODE:00627935 lea edx, [ebp+var_14]
- CODE:00627938 mov eax, [ebp+var_8]
- CODE:0062793B call sub_409B04
- CODE:00627940 mov eax, [ebp+var_14]
- CODE:00627943 mov edx, ds:off_6D5ACC
- CODE:00627949 mov edx, [edx+0Ch]
- ; Сравнить серийник со строкой "MAE-TF477-46YM4-W74MH-6YDQ9"
- CODE:0062794C call sub_4051E4
- CODE:00627951 jz short loc_62799F
- CODE:00627953 lea edx, [ebp+var_18]
- CODE:00627956 mov eax, [ebp+var_8]
- CODE:00627959 call sub_409B04
- CODE:0062795E mov eax, [ebp+var_18]
- CODE:00627961 mov edx, ds:off_6D5ACC
- CODE:00627967 mov edx, [edx+10h]
- ; Сравнить серийник со строкой "MAE-TF477-46YM4-W74MH-6YD10"
- CODE:0062796A call sub_4051E4
- CODE:0062796F jz short loc_62799F
- CODE:00627971 loc_627971:
- CODE:00627971 push 30h ; uType
- CODE:00627973 lea edx, [ebp+var_1C]
- CODE:00627976 mov eax, ds:off_6D595C
- CODE:0062797B mov eax, [eax]
- CODE:0062797D call sub_4742B8
- CODE:00627982 mov eax, [ebp+var_1C]
- CODE:00627985 call sub_405298
- ; Вывести сообщение о неудачной регистрации
- CODE:0062798A mov ecx, eax ; lpCaption
- CODE:0062798C mov edx, offset aTheRegistratio
- ; "The registration details you have enter"...
- CODE:00627991 mov eax, ds:off_6D595C
- CODE:00627996 mov eax, [eax]
- CODE:00627998 call sub_474944
- CODE:0062799D jmp short loc_6279ED
- CODE:0062799F ; -------------------------------------
- CODE:0062799F loc_62799F:
- ; Вывести сообщение об успешной регистрации
- CODE:0062799F push 40h ; uType
- CODE:006279A1 lea edx, [ebp+var_20]
- CODE:006279A4 mov eax, ds:off_6D595C
- CODE:006279A9 mov eax, [eax]
- CODE:006279AB call sub_4742B8
- CODE:006279B0 mov eax, [ebp+var_20]
- CODE:006279B3 call sub_405298
- CODE:006279B8 mov ecx, eax ; lpCaption
- CODE:006279BA mov edx, offset aThankYourForSu
- ; "Thank your for support."
- CODE:006279BF mov eax, ds:off_6D595C
- CODE:006279C4 mov eax, [eax]
- ...
Code (Assembler) : Убрать нумерацию
- CODE:006ADEDB call sub_404E00
- CODE:006ADEE0 lea eax, [ebx+8]
- CODE:006ADEE3 mov edx, offset aFaeTf47746ym4W
- ; "FAE-TF477-46YM4-W74MH-6YDQ8"
- CODE:006ADEE8 call sub_404E00
- CODE:006ADEED lea eax, [ebx+0Ch]
- CODE:006ADEF0 mov edx, offset aFaeTf47746ym_0
- ; "FAE-TF477-46YM4-W74MH-6YDQ9"
- CODE:006ADEF5 call sub_404E00
- CODE:006ADEFA lea eax, [ebx+10h]
- CODE:006ADEFD mov edx, offset aFaeTf47746ym_1
- ; "FAE-TF477-46YM4-W74MH-6YD10"
- CODE:006ADF02 call sub_404E00
- CODE:006ADF07 lea eax, [ebx+14h]
- CODE:006ADF0A mov edx, offset aHttpWww_freeAu
- ; "http://www.free-audio-editor.com/"
- CODE:006ADF0F call sub_404E00
Code (Assembler) : Убрать нумерацию
- CODE:006ADFC8 call sub_404E00
- CODE:006ADFCD lea eax, [ebx+8]
- CODE:006ADFD0 mov edx, offset aPseTf47746ym4W
- ; "PSE-TF477-46YM4-W74MH-6YDQ8"
- CODE:006ADFD5 call sub_404E00
- CODE:006ADFDA lea eax, [ebx+0Ch]
- CODE:006ADFDD mov edx, offset aPseTf47746ym_0
- ; "PSE-TF477-46YM4-W74MH-6YDQ9"
- CODE:006ADFE2 call sub_404E00
- CODE:006ADFE7 lea eax, [ebx+10h]
- CODE:006ADFEA mov edx, offset aPseTf47746ym_1
- ; "PSE-TF477-46YM4-W74MH-6YD10"
- CODE:006ADFEF call sub_404E00
- CODE:006ADFF4 lea eax, [ebx+14h]
- CODE:006ADFF7 mov edx, offset aHttpWww_freeSo
- ; "http://www.free-sound-editor.com/"
- CODE:006ADFFC call sub_404E00
- CODE:006AE001 lea eax, [ebx+18h]
Просмотров: 5696 | Комментариев: 7
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(15.01.2012 в 14:00):
На каждую хитрую жопу найдется свой хер с винтом.
Алексей
(15.01.2012 в 03:01):
Да, согласен с автором, так тупо палить ключи. Бывало так, что помогало условный переход на ret по результатам проверки лицензии "выворачивать". Но в серьезных программах прибегают к сохранению через виртуальные адреса переменных, а проверку проводить каким небудь невзрачным subом, вычислить нереально...
Да... еще есть упакованные екзешники.. мой PEexplorer такие не берет, просто серая data и все...
Да... еще есть упакованные екзешники.. мой PEexplorer такие не берет, просто серая data и все...
disciple27
(10.01.2012 в 01:12):
"аффтар защиты" молодец, побольше бы таких))) ManHunter, статья супер!Улыбнуло)))
ManHunter
(09.01.2012 в 08:14):
Или, как вариант, программу купили аж целых три человека.
AyTkACT
(09.01.2012 в 03:24):
>>>> сферическая халатность в вакууме. Назвать это защитой не поворачивается язык, но, как видите, такие чудеса иногда встречаются.
Нет слов. Разработчик, похоже, представитель народов крайнего северо из классических анекдотов.
Нет слов. Разработчик, похоже, представитель народов крайнего северо из классических анекдотов.
ManHunter
(09.01.2012 в 00:36):
Ну дык, не обязательно же пользоваться, чтобы ломать :)
DuXeN0N
(08.01.2012 в 23:47):
А зачем ломать эту прогу если есть отличная бесплатная - Audacity, обладающая очень мощным функционалом. А так статья интересная, как всегда
Добавить комментарий
Заполните форму для добавления комментария