【发布时间】:2019-07-05 06:48:04
【问题描述】:
我正在尝试创建一个执行DLL-Injection 的工具,方法是使用VirtualAclloc() API 在正在运行的进程的内存中写入DLL,然后找到入口点的偏移量并将其传递给CreateRemoteThread() API,方法是添加VirtualAlloc 函数基地址的入口点偏移量。
由于在调用CreateRemoteThread() 时没有任何参数需要传递给lpStartAddress,因此我将lpParameter 初始化为NULL。
LPVOID lpParameter = NULL;
...
...
thread_handle = CreateRemoteThread(process_handle, NULL, 0, (LPTHREAD_START_ROUTINE)(base_address + offset), lpParameter, 0, NULL);
编译代码时出现错误:
LPVOID: Unknown Size”和消息“表达式必须是指向完整对象类型的指针。
有没有办法可以将lpParameter 的值作为NULL 传递?
【问题讨论】:
-
你找错地方了。问题是
base_address + offset。
标签: c++ winapi dll dll-injection createremotethread