C ++,Winsock DLL发送注入

时间:2012-12-10 10:55:20

标签: c++ winsock send code-injection

感谢阅读。我一直在尝试从注入的DLL中发送带有来自Winsock的“发送”的数据包,但我不能这样做,我已经看到很多关于HOOKING“recv”和“send”的指南,但不是关于发送数据包的使用“发送”或“WSASend”和相同的套接字,有没有办法使用“发送”并使用相同的套接字?,我应该得到套接字句柄吗?感谢

2 个答案:

答案 0 :(得分:0)

  

我应该得到套接字句柄吗?

是的,如果你可以得到套接字句柄,我不知道问题是什么:因为你注入的DLL在同一个进程内运行,它允许使用现有的句柄(如果你能发现处理值,可能是通过挂钩其中一个套接字函数来查看被挂钩的应用程序正在使用的套接字处理。)

您可能无法重新打开相同的套接字以获得自己的新手柄。

答案 1 :(得分:0)

可能有几个原因。其中一些我可能会想到:

  1. 您正在尝试发送到已经关闭的套接字。如果您正在以主要应用程序活动异步发送()调用,则应用程序可能在您尝试发送时已关闭套接字。尝试在用于发送数据的套接字上的send()或recv()调用的钩子函数内发送。
  2. 在另一个线程的同一个套接字上有另一个send()调用。
  3. 缓冲区长度参数与实际缓冲区长度不对齐(如果只更改缓冲区参数,可能会发生,但保留原始调用中的长度参数不变)
  4. 希望这有帮助。