有人能给我一个如何用字符串参数调用注入的dll函数的例子吗?
我试图以我所知道的方式去做但却得到了错误的结果。我使用VirtualAllocEx
分配内存,然后使用WriteProcessMemory
向其写入字符串参数,然后调用CreateRemoteThread
将该字符串参数作为lpParameter
参数传递。我调用的DLL函数有以下原型:
DWORD TestFunction(LPVOID str);
根据我的理解,当CreateRemoteThread
调用此函数时,str
包含指向传递的字符串的指针。但事实并非如此;它包含一些垃圾。看起来str
参数指向错误的地址。我做错了什么?
以下是整个项目文件:
http://pastebin.com/gh4SnhmV
http://pastebin.com/Sq7hpSVx
http://pastebin.com/dvgXpUYz
答案 0 :(得分:0)
您可能会将VA空间混淆,并在您的地址空间而不是目标地址中传递指针。
另外,请不要发送试图将线程注入其他进程的软件,从一般意义上来说,这是非常困难的,就像在运行马拉松时尝试对某人进行操作一样。