TabMail v2.2 или не стоит отчаиватьсяDelphi , Программа и Интерфейс , Исследование программTabMail v2.2 или не стоит отчаиваться
Target: TabMail v2.2 (Build 15.12) Tools:
Пролог Вступление: Делать было нечего и я решил, что-нибудь поломать. Полез по дискам с шароварой и на диске Hard&Soft'a не помню, какой номер. Чуть-чуть ее по- ковыряв, я понял, что программа проста для взлома. Хотя, кой-какие момен- ты есть. Что за прога: Какой-то почтовый клиент, ничего об этой программе сказать не могу, поскольку нужна она мне была только для одного. Для чего вы надеюсь поня- ли... Примечание: Если вы уже кульный крэкер, то можете не читать эту статью, дабы ваша клавиатура не приняла остатки вашего плотного ужина. Вступление Программа будет взломана двумя способами:
1) Подсмотр кода Можно было бы написать еще и про патч, но это будет вам домашним за- данием, так сказать. Подсмотр кода Первое, что надо сделать это посмотреть запакована ли программа. Если Да, то чем для этого я использую программу PEIdentifier. Запускаем и видим UPX 0.89.6 - 1.02 / 1.05 - 1.20 -> Markus & Lazlo. Ага, UPX это хорошо, он очень хорошо распаковывается самим UPX'ом. Если его запустить с ключем -d. Распаковываем и суем его в Win32Dasm, который выдает нужный код, но зайдя в секцию строк мы не видим нишиша. Наверно, программа сбацана на Delphi, если засунуть в PeId уже распакованную программу, мы поймем, что так оно и есть. Ну что ж, будем опираться только на себя, да на SoftIce. Запускаем про- гу и ищем, где бы нам ввести код. Сразу после запуска мы видим великолеп- ный nag-screen с кнопкой Register. Жмем ее и видим форму, где и вводим, например, такую фигню Name: FessCool Code: 110022334455. Запускаем и видим сообщение, об ошибочности наших действий, с рульной иконкой. Хе-хе-хе, зря, товарисчи, вы так делаете, зря. С давних времен известно, что делфи не ис- пользует мессагубоха, а вот LoadIconA использует вполне. Ставим бряк на это и о кул, при повторной попытке мы вываливаемся в прогу. Место, где мы выва- лились не очень понятно, но дадим такую команду s 0 l -1 "110022334455". У меня строка нашлась на 11E7F48. Удаляем не нужный теперь бряк bc*. И ставим бряк на bpmb 11E7F48 rw. Еще раз запускаем процедуру регистрации, вывалива- емся нажимаем несколько раз F12, пока не вываливаемся в таком месте.
Видно, что выделенная процедура, это скорее всего процедура проверки ко- да, и test al,al это проверка все Ок, или Нет. Заходим в процедуру, нажимая кнопку F8. И видим следующий код
Мы видим, что это сравнение на длинну имени. Странно нигде об этом не предупреждалось?!!! Ну да ладно вводим такое имя: FessCool2002. И начинаем заново трассировать, проходим проверку и заходим в процедуру call 00479F90. И трассируем до тех пор, пока не увидим следующий код...
Здесь по адресу edx можно посмотреть настоящий код. Как я это угадал? Все просто, как в детстве, тут просто нужно упорство. Я трассировал и смотрел на изменяющиеся регистры, пока не нашел этот. На имя FessCool2002 это код 664d8cad-751e7eb5-86cb2621-00f3541f. Написание кейгена на основе самой программы Так код мы подсмотрели, теперь осталось написать кейген, это не просто, а очень просто. Делать это будем используя MessageBoxA, как я обычно и де- лаю. Ищем любой вызов процедуры MessageBoxA в листинге Win32Dasm. Вот первый
Так процедура вызывается из 4065AC посмотрим, что там
Хорошо. Теперь попробуем найти по коду эту строку в самом файле, т.е. ищем FF253C164C00, одна единственная и нашлась по адресу 59AC. Теперь ос- талось начиная со строки 47A01B написать вызов, функции MessageBoxA. Дела- ем это так, заходим в QView и ищем строку hex-кода E851EAFFFF8BD8. У меня она обнаружилась на 7941B теперь начиная с этого адреса вписываем такие строки (через тире представлены их hex представление)
Теперь запускаем программу, вписываем свое имя и в МессагаБоксе видим нужный код. Вот это кул. Но теперь, если вы попробуете еще раз зарегиться на другое имя, то вам придется удалить параметр RegUserName из ключа ре- естра HKCU\SOFTWARE\DLG\TabMail, там же в параметре RegCode, можно видеть, введенный вами код, но это код который вы ввели просто так, а не настоящий так, что вот еще один метод, так сказать нахождение ключа и патч в одном флаконе. Послесловие Вот и закончена работа потирая руки вы регистрируете программу на себя. Винище льется рекой вы празднуете халявно заработанные 19$. Хочу надеяться, что эта статья Вас чему-либо научила и помогла в осво- ении этой нелегкой науки. Крэкеры, крякеры и кракерята, сказать практически нечего разве, что только не ругайте сильно разработчиков за такую корявую защиту. Разработчики, если хотите, чтобы за Вашу программу платили Вам, а не пиратам защищайте сильнее, а то эта защита никуда не годна, ее слома- ет даже начинающий.
Все ругательства отправлять в null Спасибо за интерес к моему творчеству! Удачи в Reversing Engeneering! P.S. Запомните все материалы публикуются только в учебных целях и автор за их использование ответственности не несет!! P.P.S. Возможно имеют место опечатки, заранее извините! With best wishes Fess И да пребудет с вами великий дух bad-сектора. Статья TabMail v2.2 или не стоит отчаиваться раздела Программа и Интерфейс Исследование программ может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Исследование программ ::
|
||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |