社区
进程/线程/DLL
帖子详情
【求助】如何通过NtDeviceIoControlFile获得IP地址、端口信息
neji_bai
2012-05-15 11:20:51
通过SSDT HOOK 挂钩了NtDeviceIoControlFile
但是不知道如何从输入输出buffer里获得TCP/UDP相关的信息,主要就是源、目的IP和端口信息
应该是可以得到的吧
...全文
578
17
打赏
收藏
【求助】如何通过NtDeviceIoControlFile获得IP地址、端口信息
通过SSDT HOOK 挂钩了NtDeviceIoControlFile 但是不知道如何从输入输出buffer里获得TCP/UDP相关的信息,主要就是源、目的IP和端口信息 应该是可以得到的吧
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
thegfw
2014-08-14
打赏
举报
回复
楼主可能补充下结构么?
neji_bai
2012-05-18
打赏
举报
回复
差不多是这样,XP下用了一些TDI开头的结构体搞定了。
Lactoferrin
2012-05-17
打赏
举报
回复
自己搜
Lactoferrin
2012-05-17
打赏
举报
回复
winsock的是
neji_bai
2012-05-17
打赏
举报
回复
[Quote=引用 13 楼 的回复:]
DeviceIoControl是个很通用的东西,各种驱动程序都可以用这个
[/Quote]
这个我知道
我是想说 网络通信这里 就是afd结构了吧
neji_bai
2012-05-17
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
这个是win7的一种
[/Quote]
请问能在哪找到这些结构
Lactoferrin
2012-05-17
打赏
举报
回复
DeviceIoControl是个很通用的东西,各种驱动程序都可以用这个
neji_bai
2012-05-17
打赏
举报
回复
[Quote=引用 11 楼 的回复:]
对afd是这样
[/Quote]
还有别的情况?
Lactoferrin
2012-05-17
打赏
举报
回复
对afd是这样
neji_bai
2012-05-17
打赏
举报
回复
[Quote=引用 9 楼 的回复:]
自己搜
[/Quote]
也就是说DeviceIoControl用的就是几种AFD结构做输入、输出内容的吧
只是不同版本细节有差异
Lactoferrin
2012-05-16
打赏
举报
回复
首先判断文件对象名是不是afd的,然后根据ioctlcode解读buffer
Lactoferrin
2012-05-16
打赏
举报
回复
这个是win7的一种
neji_bai
2012-05-16
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
tcp的是连接的时候指定ip
typedef struct _AFD_CONNECT_INFO {
PVOID UseSAN;
PVOID Root;
PVOID ConnectEndpoint;
struct sockaddr RemoteAddress;
……
[/Quote]
这个是2k的?
也就是说找类似的AFD结构来获得buffer的信息吧
这些是高手逆出来的还是有ms的文档?
Lactoferrin
2012-05-16
打赏
举报
回复
tcp的是连接的时候指定ip
typedef struct _AFD_CONNECT_INFO {
PVOID UseSAN;
PVOID Root;
PVOID ConnectEndpoint;
struct sockaddr RemoteAddress;
} AFD_CONNECT_INFO , *PAFD_CONNECT_INFO;
winxp不是这样的,win7也不全是这样的,我还没搞清楚win7有哪几种AFD_CONNECT_INFO
neji_bai
2012-05-16
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
winsock和协议驱动程序就通过afd中转
举个栗子,IOCTL_AFD_SEND对应的是typedef struct _AFD_SEND_INFO {
LPWSABUF BufferArray;
ULONG BufferCount;
ULONG AfdFlags;
ULONG TdiFlags;
} AFD_SEND_INFO, *PAFD_SEN……
[/Quote]
这个结构下没有IP PORT或者ADDRESS一类的信息啊。。
Lactoferrin
2012-05-16
打赏
举报
回复
winsock和协议驱动程序就通过afd中转
举个栗子,IOCTL_AFD_SEND对应的是typedef struct _AFD_SEND_INFO {
LPWSABUF BufferArray;
ULONG BufferCount;
ULONG AfdFlags;
ULONG TdiFlags;
} AFD_SEND_INFO, *PAFD_SEND_INFO;
不过这些类型在win7和winxp有的有差异
neji_bai
2012-05-16
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
首先判断文件对象名是不是afd的,然后根据ioctlcode解读buffer
[/Quote]
判断文件对线是不是afd的,是判断是不是tcp/udp包吧
然后根据code解读buffer 就是这里 用什么结构来解读buffer 获得里面的信息
硬盘序列号修改驱动
通过ssdt hook去修改
Nt
Device
IoC
o
nt
rol
File
函数的地址,当应用程序查询硬盘序列号时进行修改
SSDT表 hook 原理 教程源码
SSDT表 hook 原理 源码
hook更改硬盘序列号 转载
在驱动层hook Zw
Device
IoC
o
nt
rol
File
,当有请求获取硬盘物理SN时,返回指定SN,从而达到模拟硬盘物理SN的效果. 本工具包含源码,可自行编译.
SGSX.rar_Windows编程
testHookHttp hook
Nt
device
ioc
o
nt
rol
file
硬盘序列号修改
计算机硬盘序列号修改
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章