0

谁能给我一个例子,说明如何使用字符串参数调用注入的 dll 函数?我试图以我知道的方式去做,但得到了错误的结果。我用 分配内存VirtualAllocEx,然后用它写入字符串参数,然后WriteProcessMemory调用CreateRemoteThread将该字符串参数作为参数传递lpParameter。我调用的 DLL 函数具有以下原型:

DWORD TestFunction(LPVOID str);

据我了解,当这个函数被调用时CreateRemoteThreadstr它包含一个指向传递字符串的指针。但事实并非如此;它包含一些垃圾。看起来str参数指向错误的地址。我究竟做错了什么?

这是整个项目文件: http:
//pastebin.com/gh4SnhmV
http://pastebin.com/Sq7hpSVx
http://pastebin.com/dvgXpUYz

4

1 回答 1

0

您可能混淆了 VA 空间,并在您的地址空间而不是目标空间中传递了一个指针。

另外,请不要发布试图将线程注入其他进程的软件,这在一般意义上是极难做到的,就像在跑马拉松时试图对某人进行操作一样。

于 2011-07-06T05:47:57.963 回答