Не?так давно на глаза мне попалась программа Deleaker. Софтина, из описания на сайте, предназначена для поиска в приложениях утечек памяти, GDI-ресурсов и незакрытых хендлов. А мне стало интересно, как у нее обстоят дела с защитой от взлома.
WARNING
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
На сайте я скачал триальную версию и запросил?для нее пробный ключ, который мне и прислали на имейл. Теперь можно начинать изучение программы и ее механизма регистрации.
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) на начало исполнения?кода этих функций.
Содержание статьи Процесс Зачем нужны две DLL’ки? Кодинг Не?так давно на глаза мне попалась программа Deleaker. Софтина, из описания на сайте, предназначена для поиска в приложениях утечек памяти, GDI-ресурсов и незакрытых хендлов. А мне стало интересно, как у нее обстоят дела с защитой от взлома. WARNING Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи. На сайте я скачал триальную версию и запросил?для нее пробный ключ, который мне и прислали на имейл. Теперь можно начинать изучение программы и ее механизма регистрации. 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) на начало исполнения?кода этих функций. Источник новости - google.com