Не так давно на глаза мне попалась программа 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. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

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


Check Also

Атаки на банкоматы приносят преступникам менее 1000 евро за раз

В Европе совсем непопулярны атаки на банкоматы при помощи малвари и джекпоттинга: они прин…

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

  1. Аватар

    Башкир

    31.01.2018 at 18:29

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

  2. Аватар

    botcser

    01.06.2018 at 18:33

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

  3. Аватар

    unnutz

    11.04.2019 at 14:06

    Кликбейтовый заголовок…

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