User:Ferluht/sandbox

Dll инъекция (dll injection) — техника, использующаяся для запуска кода в адресном пространстве другого процесса, при помощи внедрения в него динамически подключаемой библиотеки. Чаще всего метод используется злоумышленниками для внедрения вредоносного кода в системные и пользовательские приложения с целью изменения их поведения и перехвата данных. Например, инжектированный код может перехватывать пароли, вызывать системные функции. Так же инъекция часто применяется при создании игровых ботов, для получения информации о состоянии игрового мира и непосредственного управления действиями игрока. Приложение, осуществляющее инъекцию, называется dll-инъектором (dll injector).

Microsoft Windows
Один из способов внедрения dll в процесс ОС Microsoft Windows основывается на входящих в состав Win32 API функциях LoadLibrary и CreateRemoteThread. Функция LoadLibrary выполняет загрузку dll-библиотеки в память процесса, CreateRemoteThread создаёт поток выполнения в виртуальном адресном пространстве указанного процесса. Типичный алгоритм работы инъектора таков:



Литература

 * 1) 	Gray Hat Python / Justin Seitz

Ссылки

 * 1) 	MSDN CreateRemoteThread Function - http://msdn.microsoft.com/enus/library/ms682437.aspx
 * 2)       Windows DLL Injection Basics - http://blog.opensecurityresearch.com/2013/01/windows-dll-injection-basics.html