Не так давно на глаза мне попалась программа Deleaker. Софтина, из описания на сайте, предназначена для поиска в приложениях утечек памяти, GDI-ресурсов и незакрытых хендлов. А мне стало интересно, как у нее обстоят дела с защитой от взлома.

WARNING

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

INFO

Подробнее о Deleaker можешь узнать в этом посте. А в конце этой статьи тебя ждет скидка 50% на эту программу… от самих разработчиков Deleaker!

На сайте я скачал триальную версию и запросил для нее пробный ключ, который мне и прислали на имейл. Теперь можно начинать изучение программы и ее механизма регистрации.

 

Greetings

Мои благодарности завсегдатаям форума exelab.ru:

  • Mak;
  • VodoleY;
  • ELF_7719116;
  • Kindly

и многим другим.

 

Процесс

Программа устанавливается в директорию C:\Program Files (x86)\Deleaker как standalone, хотя есть вариант интеграции Deleaker в Visual Studio в виде дополнения (.vsix). Но я не пользуюсь Visual Studio, и для меня такой способ был недоступен.


В директорию были установлены такие файлы.


Запускаем программу и вводим присланный ключ. Софтина обещает нам пробный период использования.


Замечательно. 🙂

 

Инструменты, которые нам понадобятся

  • x64dbg — отладчик;
  • DIE aka Detect It Easy — анализатор файлов;
  • CFF Explorer — PE-редактор;
  • MASM — компилятор.

Итак, проверив все исполняемые файлы анализатором DIE, в директории установленной программы находим две DLL’ки, «накрытые» VMProtect:

  • deleakersdk32.dll;
  • deleakersdk64.dll.

Я предположил, что механизм (код) лицензирования (регистрации) находится именно в них.

 

Зачем нужны две DLL’ки?

Забегу вперед: DLL’ки идентичны, единственное различие — одна 32-битная, другая 64-битная. Механизм лицензирования (регистрации) используется только из deleakersdk32.dll, что облегчает нашу задачу.

Далее я открыл deleakersdk32.dll в CFF Explorer и зашел в директорию Export. Там нашлись четыре экспортируемые функции с говорящими именами.


Эти функции как раз и отвечают за лицензирование (регистрацию) программы.

Все бы хорошо, если бы файл Deleaker.exe, который, собственно, и использует в данном случае deleakersdk32.dll, не был написан на .NET, а сама DLL — на Visual C++. То есть запустить Deleaker.exe напрямую в отладчике x64dbg у нас не получится.

Но это не беда, мы просто запускаем Deleaker.exe и аттачимся к процессу x64dbg.

В окне Symbols отладчика, в левой половине находим и выделяем курсором нашу DLL. Справа мы увидим список ее импортируемых и экспортируемых функций. Нас интересуют только те, что мы обнаружили ранее в CFF Explorer. Выделяя по очереди курсором функции, нажимаем клавишу F2, тем самым устанавливая точки останова (breakpoints) на начало исполнения кода этих функций.

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи один материал

Заинтересовала информация, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для материалов, опубликованных более двух месяцев назад.


2 комментария

  1. Башкир

    31.01.2018 at 18:29

    Ломай меня полностью.jpeg =)

  2. botcser

    01.06.2018 at 18:33

    Мда, заплатил за «ломаем защиту…», а на самом деле ни о каком взломе тут и близко речи не идет! Так, шалости с перехватами и копированием…

Оставить мнение

Check Also

Ugears. Новые модели подвижных конструкторов из дерева

Услышав слова «деревянный конструктор», ты, наверное, представляешь себе этакий Lego для с…