问题:如何利用SPI获取Socket后冒充客户端向服务器发数据?关注也给分罗:)

bailee 2011-04-21 05:42:16
如何利用SPI获取Socket后冒充客户端向服务器发数据?

我已经从WSPRecv与WSPSend中取出了想要的Socket,但利用此Socket向服务器发数据时不成功。求助... ...

大体步骤:
1、在WSPRecv中根据比较远程IP获取Socket
2、把上面获取到的Socket保存到#pragma data_seg(共享区)中定义的变量g_Socket中
3、在别一个函数(此函数由自己的程序调用)中利用send(g_Socket, pszData, iLen,0)发送pszData数据,不成功。


后来在send函数前解析获取的Socket,发现无法通过getpeername获得远程地址。


求助!!

如果有朋友已经实现过利用Socket冒充客户端向服务器发数据,还请给个实例。分么,好说得很,呵呵



...全文
143 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwz1984 2011-08-14
  • 打赏
  • 举报
回复
楼主有没有示例代码,可以发一份给我吗?我邮箱270156812@qq.com
现在正在弄这个,想把SPI做成一个固定的模块,将套接字操作传到上层来处理,可以有些技术问题没实现。
bailee 2011-04-28
  • 打赏
  • 举报
回复
问题自己已经解决了:其实很简单,就是用Socket复制就可以了。

明天结贴,散分,大家都来领分吧!!
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bailee 的回复:]

引用 3 楼 akirya 的回复:

socket句柄不跨进程

你得在目标进程执行发数据的操作。


这个我已想到了,就是没有想到解决办法
[/Quote]
HANDLE WINAPI CreateRemoteThread(
__in HANDLE hProcess,
__in LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in SIZE_T dwStackSize,
__in LPTHREAD_START_ROUTINE lpStartAddress,
__in LPVOID lpParameter,
__in DWORD dwCreationFlags,
__out LPDWORD lpThreadId
);

先写一个dll,导出一个函数,有发送功能。

CreateRemoteThread + LoadLibrary让目标进程加载这个dll,再用CreateRemoteThread执行这个 导出函数。不就可以在目标进程执行了么。
颇黎 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 akirya 的回复:]
socket句柄不跨进程

你得在目标进程执行发数据的操作。
[/Quote]

+++
李亚超 2011-04-21
  • 打赏
  • 举报
回复
不能获得对等端的进程.........
bailee 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 akirya 的回复:]

socket句柄不跨进程

你得在目标进程执行发数据的操作。
[/Quote]

这个我已想到了,就是没有想到解决办法
pathuang68 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 akirya 的回复:]

socket句柄不跨进程

你得在目标进程执行发数据的操作。
[/Quote]
++
  • 打赏
  • 举报
回复
socket句柄不跨进程

你得在目标进程执行发数据的操作。
ouyh12345 2011-04-21
  • 打赏
  • 举报
回复
如果包的格式是已知的,则可以修改包的内容,然后再发送
ouyh12345 2011-04-21
  • 打赏
  • 举报
回复
确认服务器不做crc等校验?

64,687

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧