Я пытаюсь создать инструмент для выполнения DLL-Injection
, записав DLL в память запущенного процесса с использованием API VirtualAclloc()
, а затем найдя смещение точки входа и передав его в API CreateRemoteThread()
, добавив смещение точки входа к базовому адресу функции VirtualAlloc
.
Поскольку у меня нет аргументов, которые нужно передать lpStartAddress
при вызове CreateRemoteThread()
, я инициализировал lpParameter
как NULL.
LPVOID lpParameter = NULL;
...
...
thread_handle = CreateRemoteThread(process_handle, NULL, 0, (LPTHREAD_START_ROUTINE)(base_address + offset), lpParameter, 0, NULL);
При компиляции кода я получаю сообщение об ошибке:
LPVOID: неизвестный размер "и сообщение" Выражение должно быть указателем на полный тип объекта.
Можно ли передать значение lpParameter
как NULL?