Категория > Новости > Deleaker, не болей! Ломаем защиту в обход VMProtect и пишем proxy DLL - «Новости»
Deleaker, не болей! Ломаем защиту в обход VMProtect и пишем proxy DLL - «Новости»31-01-2018, 18:00. Автор: Ellington |
Содержание статьиНе?так давно на глаза мне попалась программа Deleaker. Софтина, из описания на сайте, предназначена для поиска в приложениях утечек памяти, GDI-ресурсов и незакрытых хендлов. А мне стало интересно, как у нее обстоят дела с защитой от взлома.WARNING Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи. На сайте я скачал триальную версию и запросил?для нее пробный ключ, который мне и прислали на имейл. Теперь можно начинать изучение программы и ее механизма регистрации. GreetingsМои благодарности завсегдатаям форума exelab.ru:
и многим другим.
ПроцессПрограмма устанавливается в?директорию В директорию были установлены такие файлы. Запускаем программу и вводим присланный ключ. Софтина обещает нам пробный?период использования. Замечательно. ? Инструменты, которые нам понадобятся
Итак, проверив все исполняемые файлы анализатором DIE, в директории установленной программы находим две DLL’ки, «накрытые» VMProtect:
Я предположил, что механизм (код) лицензирования (регистрации) находится именно в них. Зачем нужны две 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) на начало исполнения?кода этих функций. Перейти обратно к новости |