- PVSM.RU - https://www.pvsm.ru -
Приветствую!
Сегодня на хабре появилась статья [1], повествующая о том, как можно перехватывать вызовы DLL из программы и обрабатывать их нужным образом — в законных, а может быть, и не совсем, целях. Так или иначе, данная техника может пригодиться в разных случаях.
Для того, чтобы постоянно не совершать одни и те же действия, я решил автоматизировать процесс создания проекта Visual Studio на основе выбранной dll.
AutoIt [2], на нём набросан простенький GUI:
Чтобы не зависеть от утилиты dumpbin, было решено получать список экспорта напрямую из программы, благо что необходимый функционал уже был написан одним из пользователей форума AutoIt.
Затем в исходниках были вырезаны участки кода, такие как список экспорта, ассемблерные вставки и название выходной библиотеки — они будут генерироваться при экспортировании проекта. При компилировании программы эти исходники добавляются в секцию ресурсов.
Собственно, рабочий цикл программы:
Для тех, кто хочет опробовать сию программу в деле:
Исполняемый файл [3] / исходники [4].
Единственное, что на данный момент не удалось сделать — это создание прокси dll для библиотеки с экспортом в стиле C++.
Спасибо за внимание!
Автор: Crystall
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/dll/2779
Ссылки в тексте:
[1] статья: http://habrahabr.ru/blogs/system_programming/133956/
[2] AutoIt: http://www.autoitscript.com/site/autoit/
[3] Исполняемый файл: http://dl.dropbox.com/u/11919847/Habrahabr/proxy_dll/proxy_dll_creator.rar
[4] исходники: http://dl.dropbox.com/u/11919847/Habrahabr/proxy_dll/proxy_dll_creator_src.rar
Нажмите здесь для печати.