понедельник, 25 февраля 2013 г.

Исследуем защиту WMMail Autoclicker'а

В этой статье я подробно распишу процесс распаковки программы и отлов ключа.



Инструмент:
IDR - Отладчик для Delphi приложений
OllyDBG - Отладчик + плагин OllyDump.dll
ImpRec - понадобится для восстановления импортов

Начнём с того что определим упаковщик, для этого я использую программу под названием ProtectionID



Как мы уже поняли - стандартным UPX'ом с ключём -d распаковать не получится.
Придётся распаковывать в ручную...

Для начала грузим упакованный файл в OllyDBG и оказываемся по адресу 005AF200, после чего прокручиваем в самый низ и видим такое:



Это прыжок на OEP, тобишь оригинальную точку входа, ставим на ней бряк (Я уже это сделал клавишей F2) и стартуем программу на выполнение клавишей F9. Программа выполнилась и мы оказываемся на точке останова, жмём 1 раз клавишу F8 (пошаговое выполнение) и нас перекидывает на OEP самой программы:


Программа распакована и находится в памяти, теперь нам надо сделать дамп.
Для того что бы сделать дамп воспользуемся плагином OllyDump, находится он в меню => Plugins => OlleDump => Dump Debugged Process, после чего откроется такое окошко:


Копируем адрес и снимаем галочку с Rebuild Import, после чего жмём кнопку DUMP и сохраняем распакованный файл.

Но радоваться пока рано, надо ещё восстановить импорты, делается это с помощью программы под названием Import Reconstructor

Что бы восстановить импорты запускаем упакованную программу и ImpRec, в нём выбираем процесс программы и в поле OEP вводим 1201EC


Нажимаем IAT AutoSearch и если всё сделали правильно появится такое сообщение:


Далее жмём на кнопку Get Imports и наблюдаем следующие:


Отлично, осталось только профиксить дамп! Для этого жмём кнопку Fix Dump и выбираем наш дамп, после чего полностью распакованный файл будет сохранён в папке с программой.


Переходим к "исследованию защиты"

Для этого грузим наш распакованный файл в IDR и заходим в обработчик события OnCreate


Отсюда мы видим, что в папке с программой должен быть файл activecode.key для того, что бы началась проверка лицензии.

После беглого осмотра строк я выяснил что ВСЕ проверки лицензии происходят в Button4.Click, и там же происходит генерация ключа в функции по адресу 00509310 (если вы захотите сделать кейген) Даже в обработчике OnCreate программа кликает на Button4.

Отловить регистрационный ключ не составляет проблем, ставим точку останова на адрес 00518050 и в стеке наблюдаем ключик:


Вводим этот ключ в программу и радуемся только что "купленной" лицензии:


Заключение:
Даже, казалось бы, на первый взгляд сложная защита имеет большой минус - это генерация ключа и хранение его в открытом виде.Так же если вы накроете чем то простым типо UPX'а то скрамблер вам, увы, не поможет (но от школьников защитит).

Скачать программу можно с офф сайта.

36 комментариев:

  1. А что вообще эта прога дела на wmmail ?Какие функции выполняет ?

    ОтветитьУдалить
    Ответы
    1. Выполняет задания на сайте, читает письма и сёрфит. Рублей 5 в день заработать можно.

      Удалить
  2. http://morfin-blog.net/load/e_mail/cracked_wmmail_autoclicker/6-1-0-12 Вот уже готовая, без танцев с бубном. Но спасибо за пример хака.

    ОтветитьУдалить
    Ответы
    1. Приятно видеть крякнутый мною софт на других сайтах.

      Удалить
    2. Открою тебе секрет, ты звезда, большое количество людей любят твои программы, и часто звучит твой ник. Так что не удивительно.

      Удалить
  3. а можно готовую программу? как со старой версией

    ОтветитьУдалить
    Ответы
    1. Статья не про кряк, а про исследование защиты.
      Но если будет время - запилю кейген.

      Удалить
    2. спасибо :) буду ждать, а щас попробую сам по этой инструкции сделать

      Удалить
  4. Переходим к "исследованию защиты"
    Для этого грузим наш распакованный файл в IDR и заходим в обработчик события OnCreate

    Когда открываю IDR пишет "cannot initialize disasm" что делать?

    ОтветитьУдалить
  5. можно подробней как это сделать? ставим точку останова на адрес 00518050 и в стеке наблюдаем ключик
    этот адрес нашел, а что делать не понял =) тыкал F2? F8, F9 в breackpoint но так и не появился ключ снизу(
    http://screenshot.su/show.php?img=b016341c872e8d3cea531a5f7fb05637.jpg

    ОтветитьУдалить
  6. нужно на адресе 00518050 нажать F9, и в запущенном кликере ввести любые цифры и зарегать и на адресе появиться рег код

    ОтветитьУдалить
  7. у меня тоже с последним пунктом проблемы. не показывает ключ он. сделай кейген.

    ОтветитьУдалить
    Ответы
    1. Данная статья показывает типичную уязвимость половины софта и цель была только рассказать как и что делается.

      Ну на счёт кейгена скажу только одно: его сделать можно за 5 минут.

      Удалить
    2. сделай пожалуйста, если не сложно :)

      Удалить
  8. Большое спасибо! Скажи пожалуйста Vans, ты программист по образованию или учился всему этому сам?
    По теме: есть возможность бана на WMmail?

    ОтветитьУдалить
    Ответы
    1. Ходил на платные курсы по программированию.
      Софт не мой, не знаю.

      Удалить
    2. Платные курсы по программированию xD
      Жги ещё. делфоеб.

      Удалить
    3. Не понимаю людей таких....Чел им помогает а они его еще и обзывают:(автор ходил на курсы для себя, а не для других.Многие программеры делают проги на заказ и получают за это деньги.И еще цены там ого-го!А VanS делает ваши проги на заказ,при этом еще бесплатно и показывает как надо и что нужно сделать для этого!

      Удалить
  9. Блин ломать защиты прикольно )))

    ОтветитьУдалить
  10. VanS помоги :)
    Всё сделал, но не открывается IDR (пробовал в Windows 7 64-bit и XP 32-bit). Также не получается "отловить регистрационный ключ". Не понятно как его получить.

    ОтветитьУдалить
  11. Всё получилось, спасибо ruslan ivanov
    VanS хороший ты человек!!!

    ОтветитьУдалить
  12. VanS уж месяц прошёл а кейгена нету... найди 5минут плз, обещался ведь сделать!

    ОтветитьУдалить
  13. VanS, а слабо ReallyVision крякнуть? )) Это сеьезная прога для видеонаблюдения через вебку. В нете ток демка на 10 дней, приходится каждые 10дней систему сносить чтоб ею пользоваться. А платить за лицензию более 100$ как-то дороговато (( Может чем поможешь, если не сложно?..

    ОтветитьУдалить
  14. Как взломать новую защиту подскажите?

    ОтветитьУдалить
  15. Крякни новую версию этого бота, пж

    ОтветитьУдалить
    Ответы
    1. Поддерживаю...
      Просим актуальную версию.

      Удалить
  16. Когда открываю IDR пишет "cannot initialize disasm" что делать?

    ОтветитьУдалить
    Ответы
    1. Надо скачать базы - kpnc.org/idr32/download/idr_aux.rar
      Но с новой прогой всё рабно проблемы IDR требует kb2010.bin - но он растространяется за деньги :(

      Удалить
    2. За деньги? Я её бесплатно получил...

      Удалить
    3. Я тоже скачал бесплатно, но к архиву требуется пароль и на сайте написано, что архив под паролем, А пароль...

      Удалить
    4. А пароль у можно получить у разраба по E-mail

      Удалить
  17. Этот комментарий был удален автором.

    ОтветитьУдалить
  18. Автор не думал сделать кряк для данного софта снова ?Понимаю,что прошло уже много времени,но думаю защита сильно не изменилась

    ОтветитьУдалить