CozyShark开发日志 2章节 - 使用Hook进程Socket函数抓包

如果要单独的进程抓包,就需要注入之后Hook进程的Socket函数。

CozyShark只选择Hook了两个常用的函数send/recv。

由于API Hook属于另外的内容,所以这里略过。

为了开发方便,CozyShark选择使用Detours。

Detours是一个由微软开发的一个API Hook函数库,使用它只需要下载之后编译,这里同样跳过。

为了方便测试,CozyShark添加了三个Tester。

  • Hook.Tester.Server是一个TcpServer,并且只可以接收消息(recv)
  • Hook.Tester.Client是一个TcpClient,并且只可以发送消息(send)
  • Hook.Tester是一个典型的dll注入器。

本体部分是一个dll:CozyShark.Hook.dll,它负责对抓取到的数据的转发。
在将本体注入目标进程之后,Hook掉ws2_32.dll中的send和recv函数,开始抓取数据。

CozyShark原计划使用zpublic中的ipc组件,但是由于意外情况,需要自己实现。
由于同时只对一个进程进行数据包抓取,所以可以使用命名管道来进行ipc。

转载于:https://www.cnblogs.com/kingwl/p/5507239.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值