首页
社区
课程
招聘
取得socket连接句柄的方法。
发表于: 2013-5-14 10:08 7623

取得socket连接句柄的方法。

2013-5-14 10:08
7623
1. 事情是这样的,应用程序A.exe有一个socket句柄,我想写一个程序B取得A.exe的socket句柄,然后发送字段。
  现在的问题是,如何可以取得A.exe的句柄,A.exe没有基址,有什么方法吗?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
方法挺多的。最简单的,直接hook socket 函数呗。
2013-5-14 10:49
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请问是指DLL挟持的方法吗?还有其他什么方法能提示一下吗?谢谢
2013-5-14 11:00
0
雪    币: 353
活跃值: (516)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
4
A.exe怎么会没有基址呢?Sokect 句柄是函数局部变量?那就不知道了
2013-5-14 11:15
0
雪    币: 90
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
比如我写的程序用web控件打开一个网址,网址会打开一个flash,flash会有一个套接字socket连服务端,就是flash游戏,我想遍历这个flash进程里的socket句柄,然后用这个socket发送字段给服务端。不要用hook的方法,有其它的办法吗?
2013-5-14 11:39
0
雪    币: 90
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
怎么才能遍历取得当前进程下的socket句柄
2013-5-14 11:40
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
一般是通过hook send recv 这些函数来获取句柄  hook这些函数 他们的第一个参数就是socket 然后把截获的socket 用getpeername这个函数确认一下IP和端口是不是你要的那个socket 这样就得到socket句柄了
但是 你要在另外一个进程使用这个socket ..得复制句柄过去. 或者继承过去.  直接拿到那个句柄的值 在另外一个进程用是没有效果的
2013-5-15 08:46
0
雪    币: 39
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
一般是通过hook send recv 这些函数来获取句柄  hook这些函数 他们的第一个参数就是socket 然后把截获的socket 用getpeername这个函数确认一下IP和端口是不是你要的那个socket 这样就得到socket句柄了
但是 你要在另外一个进程使用这个socket ..得复制句柄过去. 或者继承过去.  直接拿到那个句柄的值 在另外一个进程用是没有效果的
============================================================
前面说得很对,后面我修正一下,拿到句柄以后,可以在A进程注入一个dll或者一小段代码,通过内存通信的方式,让dll在A进程地址内帮助你发送封包。
2013-5-15 09:23
0
雪    币: 90
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不知道你们用过wpe没有? 他有一个监听进程的功能,监听后你可以发送包, 发包的界面有一个选项。重新连接或使用现有socket,使用现有socket只要输入你临听的进程的socket句柄号,就可以发包,我想它应该没有 注入dll或写入一小段代码到目标进程吧? 不知这是怎么做的。
2013-5-15 10:30
0
雪    币: 90
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
哦,终于搞定了。 用的方法和7楼差不多。谢谢各位。
2013-5-20 10:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
有没有源程序給参考一下呢?先谢谢了。
2015-5-10 14:24
0
游客
登录 | 注册 方可回帖
返回
//