Сообщество RSS DEV

внедрение DLL управляемого кода в собственный процесс

Этот проект демонстрирует внедрение DLL, метод внедрения кода в другой процесс. Внедрение DLL используется вредоносным программным обеспечением, но также имеет законное применение, например, создание программных плагинов. Процесс включает открытие целевого процесса, выделение памяти, запись пути DLL и загрузку DLL с помощью LoadLibrary. Перехват функций позволяет перехватывать и изменять API-вызовы в инжектированном процессе. API Windows использует библиотеки, такие как kernel32.dll и ntdll.dll, для взаимодействия с ядром через SSDT. Функция DllMain DLL выполняется после успешного внедрения. Этот пример внедряет библиотеку C, затем загружает среду выполнения CoreCLR и управляемую библиотеку C# в собственный процесс (например, notepad.exe). Библиотека C# отображает окно сообщения, показывающее информацию о процессе. Репозиторий GitHub содержит полный код. Предоставленный код C# демонстрирует функциональность внедренной DLL. Для проекта требуется изменить код, указав правильные пути к CoreCLR и внедряемой библиотеке.
favicon
dev.to
DLL injection of managed code into native process
Create attached notes ...