Итак, у меня есть вопрос о шаге 3 C++ Dll Injection, а именно:
Используйте CreateRemoteThread(). Вы можете указать
LoadLibrary()
в качестве точки входа и путь к файлу из шагов 1 и 2 в качестве аргумента. Честно говоря, это немного хакерски, но если вы внедряете DLL, вы уже довольно хакерски. Другой метод заключается в использовании шагов 1 и 2 для загрузки машинного кода в удаленный процесс и указания на него.
Итак, мой вопрос: после того, как я выделил память, используя VirtualAllocEx
, и написал код с помощью WriteProcessMemory
, как мне сделать вызов CreateRemoteThread
, и под этим я подразумеваю, что такое четвертый и пятый параметры?
Мой код:
AllocatedMem = VirtualAllocEx(Proc, IntPtr.Zero, code.Length,
AllocationType.Reserve | AllocationType.Commit, MemoryProtection.ReadWrite);
WriteProcessMemory(Proc, AllocatedMem, code, code.Length, IntPtr.Zero);
CreateRemoteThread(Proc, IntPtr.Zero, 0, AllocatedMem,
IntPtr.Zero, 0, IntPtr.Zero);