精易论坛
标题:
R3应用层利用AFD驱动,编写自己的高效Socket服务
[打印本页]
作者:
莫爱
时间:
2022-5-2 17:05
标题:
R3应用层利用AFD驱动,编写自己的高效Socket服务
本帖最后由 莫爱 于 2022-5-2 17:12 编辑
1,什么是
afd驱动
socket机制在windwos系统中的实现分为
用户空间和内核空间
实现,
用户空间就是
ws2_32.lib 这个dll 库
系统空间就是
afd.sys
驱动
火狐截图_2022-05-02T08-15-45.520Z.png
(29.95 KB, 下载次数: 0)
下载附件
2022-5-2 17:06 上传
简来说AFD驱动向上与SOCKET应用接口约定了接口来实现SOCKET,AFD驱动实际上是一个TDI客户端,它通过TDI接口调用微软件的另一个网络部件TCPIP驱动来完成功能。AFD并没有官方的资料说明它的接口,但是在网上还是可以找到很关于AFD驱动的资料的。
相对来说国外对AFD驱动在国外利广泛,很多大型游戏厂商利用AFD 开发出自己的socket服务达到隐藏sned recv 等函数。
AFD驱动模块函数
功能对
NTSockets_CreateTcpSocket =
socket() 用NtCreateFile 创建“\Device\Afd\Endpoint”
NTSockets_ConvertIP = inet_addr()
纯源码实现这样更加健康防止OD
NTSockets_Swap16BitByteOrder = htons()| ntohs()
NTSockets_Connect = connect() 用 NtDeviceIoControlFile 控制码
IOCTL_AFD_CONNECT:0x12007
NTSockets_WSAEventSelect =
WSAEventSelect
用 NtDeviceIoControlFile 控制码
IOCTL_AFD_EVENT_SELECT:0x12087
NTSockets_WSAEnumNetworkEvents =
WSAEnumNetworkEvents
用 NtDeviceIoControlFile 控制码
IOCTL_AFD_ENUM_NETWORK_EVENTS:0x1208b
NTSockets_Recv =
Recv
用 NtDeviceIoControlFile 控制码
IOCTL_AFD_RECV:0x12017
NTSockets_Send =
Send
用 NtDeviceIoControlFile 控制码
IOCTL_AFD_SEND:0x1201f
其他函数陆续会更新,现在的版本基本功能已经实现
使用有问题可以给我反馈就行修复
需要生成调试,用OutputDebugStringA函数输出
用Dbgview接收日志
全部有带
AFD驱动控制码 和
AFD驱动
易源码20220502
[hide=d365]
不懂的翻译
IOCTL_AFD_BIND:12003
IOCTL_AFD_CONNECT:12007
IOCTL_AFD_START_LISTEN:1200b
IOCTL_AFD_WAIT_FOR_LISTEN:1200c
IOCTL_AFD_ACCEPT:12010
IOCTL_AFD_RECV:12017
IOCTL_AFD_RECV_DATAGRAM:1201b
IOCTL_AFD_SEND:1201f
IOCTL_AFD_SEND_DATAGRAM:12023
IOCTL_AFD_SELECT:12024
IOCTL_AFD_DISCONNECT:1202b
IOCTL_AFD_GET_SOCK_NAME:1202f
IOCTL_AFD_GET_PEER_NAME:12033
IOCTL_AFD_GET_TDI_HANDLES:12037
IOCTL_AFD_SET_INFO:1203b
IOCTL_AFD_GET_CONTEXT_SIZE:1203f
IOCTL_AFD_GET_CONTEXT:12043
IOCTL_AFD_SET_CONTEXT:12047
IOCTL_AFD_SET_CONNECT_DATA:1204b
IOCTL_AFD_SET_CONNECT_OPTIONS:1204f
IOCTL_AFD_SET_DISCONNECT_DATA:12053
IOCTL_AFD_SET_DISCONNECT_OPTIONS:12057
IOCTL_AFD_GET_CONNECT_DATA:1205b
IOCTL_AFD_GET_CONNECT_OPTIONS:1205f
IOCTL_AFD_GET_DISCONNECT_DATA:12063
IOCTL_AFD_GET_DISCONNECT_OPTIONS:12067
IOCTL_AFD_SET_CONNECT_DATA_SIZE:1206b
IOCTL_AFD_SET_CONNECT_OPTIONS_SIZE:1206f
IOCTL_AFD_SET_DISCONNECT_DATA_SIZE:12073
IOCTL_AFD_SET_DISCONNECT_OPTIONS_SIZE:12077
IOCTL_AFD_GET_INFO:1207b
IOCTL_AFD_EVENT_SELECT:12087
IOCTL_AFD_DEFER_ACCEPT:1208f
IOCTL_AFD_GET_PENDING_CONNECT_DATA:120a7
IOCTL_AFD_ENUM_NETWORK_EVENTS:1208b
IOCTL_AFD_VALIDATE_GROUP:120ab
新建文件夹 (6).zip
(479.24 KB, 下载次数: 482)
2022-5-2 17:07 上传
点击文件名下载附件
下载积分: 精币 -2 枚
有问题加 516976067 就行反馈
[/hide]
作者:
gaoqing
时间:
2022-5-2 17:33
下载学习谢谢分享
作者:
掉线是为你好
时间:
2022-5-2 17:34
看一下,学习学习
作者:
wlaita2286
时间:
2022-5-2 17:36
下载学习谢谢分享
作者:
Fate
时间:
2022-5-2 17:39
感谢分享~
作者:
sinewtec
时间:
2022-5-2 17:40
666666666666666
作者:
青春的思念
时间:
2022-5-2 18:04
正好需要 谢谢
作者:
杰西卡技术传媒
时间:
2022-5-2 18:18
R3应用层利用AFD驱动,编写自己的高效Socket服务
作者:
不苦小和尚
时间:
2022-5-2 18:26
等封装好了再用
作者:
猥琐小胖子
时间:
2022-5-2 18:27
感谢分享
作者:
qq1529195115
时间:
2022-5-2 18:33
66666 R3应用层利用AFD驱动
作者:
veryhigh2014
时间:
2022-5-2 18:34
这个可以有流弊
作者:
陈勇
时间:
2022-5-2 19:06
支持下。谢谢分享
作者:
1025
时间:
2022-5-2 19:08
支持开源,感谢分享。。。
作者:
小黑屋欢迎你
时间:
2022-5-2 19:39
RE: R3应用层利用AFD驱动,编写自己的高效Socket服务 [修改]
作者:
风行无忌
时间:
2022-5-2 20:07
不明觉厉
作者:
划落的天空
时间:
2022-5-2 20:11
看下这个东西哦
作者:
汉族
时间:
2022-5-2 20:16
支持一下
作者:
315215
时间:
2022-5-2 20:20
R3应用层利用AFD驱动
作者:
muye84
时间:
2022-5-2 20:21
R3应用层利用AFD驱动
作者:
陈宁
时间:
2022-5-2 20:32
感谢分享~
作者:
网络注册络员
时间:
2022-5-2 20:34
感谢分享~
作者:
SoloCat
时间:
2022-5-2 20:42
作者:
梦想ol
时间:
2022-5-2 21:12
666666666666666666666
作者:
wang798403789
时间:
2022-5-2 21:19
666666666666666
作者:
梦里的彩虹糖
时间:
2022-5-2 22:53
666666666666666666666
作者:
menghan
时间:
2022-5-2 23:03
感谢楼主分享,支持一下~~
作者:
xjshuaishuai
时间:
2022-5-2 23:04
谢谢分享!
作者:
794229345
时间:
2022-5-2 23:25
膜拜大佬!大佬牛B!
作者:
z博士
时间:
2022-5-2 23:33
感谢分享
作者:
chr8828
时间:
2022-5-2 23:51
感谢分享
作者:
116154801
时间:
2022-5-3 00:05
666666666666666666666666666666666
作者:
zytlj
时间:
2022-5-3 00:53
谢谢分享。
作者:
lwhct
时间:
2022-5-3 01:10
谢谢分享。
作者:
大师兄是反派
时间:
2022-5-3 02:30
666666666666666
作者:
Mzzzz
时间:
2022-5-3 03:38
嘿嘿,不错,鼎力支持!!...
作者:
温暖的舌骨
时间:
2022-5-3 04:17
感谢分享
作者:
蚂蚁ll
时间:
2022-5-3 07:08
AFD驱动控制码 和 AFD驱动易源码20220502
作者:
kai741101314
时间:
2022-5-3 08:27
2022050220220502
作者:
飞鱼软件
时间:
2022-5-3 08:34
支持开源~!感谢分享
作者:
深圳梦
时间:
2022-5-3 08:55
支持开源~!感谢分享
作者:
xjdgs
时间:
2022-5-3 10:16
谢谢分享。
作者:
mmlai8
时间:
2022-5-3 10:48
膜拜大佬!大佬牛B!
作者:
一城烟雨
时间:
2022-5-3 10:50
AFD驱动易源码
作者:
kantal
时间:
2022-5-3 11:47
支持开源~!感谢分享
作者:
yujiekuxiao
时间:
2022-5-3 13:30
来看一下 作者是否来自看雪论坛 之前看雪上面好像看到过类似的文章
作者:
huayinzhe
时间:
2022-5-3 14:23
支持开源~!感谢分享
作者:
TL小毅哥
时间:
2022-5-3 15:02
6啊 大佬
作者:
CaiACha
时间:
2022-5-3 15:39
支持开源~!感谢分享
作者:
2622561188
时间:
2022-5-3 16:05
66666666666666666666666
作者:
qq85668684
时间:
2022-5-3 17:14
66666666666666666666666
作者:
phinex
时间:
2022-5-3 17:49
提示:
作者被禁止或删除 内容自动屏蔽
作者:
不飞
时间:
2022-5-3 17:56
66666666666666666
作者:
IIIllIIl
时间:
2022-5-3 18:00
感谢分享
作者:
阿炮
时间:
2022-5-3 20:25
支持开源~!感谢分享!!
作者:
incwin
时间:
2022-5-3 20:55
支持开源~!感谢分享!!
作者:
猪滴寳貝哝
时间:
2022-5-3 21:11
这个很给力,非常感谢!
作者:
狸楚殇
时间:
2022-5-3 21:40
感谢分享!
作者:
wjc826194
时间:
2022-5-3 22:05
R3应用层利用AFD驱动,编写自己的高效Socket服务
作者:
a85698274
时间:
2022-5-3 23:26
开源精神必须支持~
作者:
han15070727425
时间:
2022-5-3 23:40
我试试看看
作者:
caoljie
时间:
2022-5-4 00:37
支持开源~!感谢分享
作者:
By名扬
时间:
2022-5-4 00:55
楼主辛苦了,谢谢楼主,感谢楼主分享,楼主好人一生平安!!!
作者:
我很帅你说呢
时间:
2022-5-4 01:30
开源精神必须支持~
作者:
dashang
时间:
2022-5-4 02:22
支持开源~!感谢分享
作者:
小呀小百百
时间:
2022-5-4 03:24
厉害了!
作者:
tvvvhg
时间:
2022-5-4 07:48
开源精神必须支持~
作者:
JerryYan
时间:
2022-5-4 09:36
这么厉害!必须给个红包鼓励下~
作者:
a524666979
时间:
2022-5-4 09:54
RE: R3应用层利用AFD驱动,编写自己的高效Socket服务 [修改]
高级模式
作者:
13055534221
时间:
2022-5-4 09:57
看看好像很强
作者:
heize
时间:
2022-5-4 10:53
这个六,更底层
作者:
clearlove
时间:
2022-5-4 11:09
R3应用层利用AFD驱动,编写自己的高效Socket服务
作者:
风中冰雨
时间:
2022-5-4 12:17
看看..........
作者:
〞剑舞长空
时间:
2022-5-4 12:23
〞剑舞长空,如果您要查看本帖隐藏内容请回复
作者:
z5ss5b
时间:
2022-5-4 12:27
支持开源~!感谢分享
作者:
哔哔芭比波比i
时间:
2022-5-4 12:33
下载一份看看 感谢
作者:
jiang910615
时间:
2022-5-4 12:35
xuexixuexixuexixuexi
作者:
Frieza
时间:
2022-5-4 13:19
支持开源~!感谢分享
作者:
woaixzkun
时间:
2022-5-4 15:09
支持开源~!感谢分享
作者:
1aa82e
时间:
2022-5-4 15:15
这么厉害!
作者:
RES
时间:
2022-5-4 16:50
作者:
Zangetsu
时间:
2022-5-4 17:38
6666666666666666
作者:
TianYi_
时间:
2022-5-4 18:06
支持开源~!感谢分享
作者:
苏烟式
时间:
2022-5-4 21:02
看看 学习一下
作者:
爱的愤愤
时间:
2022-5-4 21:11
本帖最后由 莫爱 于 2022-5-2 17:12 编辑
1,什么是afd驱动
socket机制在windwos系统中的实现分为用户空间和内核空间实现,
用户空间就是 ws2_32.lib 这个dll 库
系统空间就是afd.sys驱动
简来说AFD驱动向上与SOCKET应用接口约定了接口来实现SOCKET,AFD驱动实际上是一个TDI客户端,它通过TDI接口调用微软件的另一个网络部件TCPIP驱动来完成功能。AFD并没有官方的资料说明它的接口,但是在网上还是可以找到很关于AFD驱动的资料的。
相对来说国外对AFD驱动在国外利广泛,很多大型游戏厂商利用AFD 开发出自己的socket服务达到隐藏sned recv 等函数。
AFD驱动模块函数功能对
NTSockets_CreateTcpSocket = socket() 用NtCreateFile 创建“\Device\Afd\Endpoint”
NTSockets_ConvertIP = inet_addr() 纯源码实现这样更加健康防止OD
NTSockets_Swap16BitByteOrder = htons()| ntohs()
NTSockets_Connect = connect() 用 NtDeviceIoControlFile 控制码IOCTL_AFD_CONNECT:0x12007
NTSockets_WSAEventSelect = WSAEventSelect 用 NtDeviceIoControlFile 控制码IOCTL_AFD_EVENT_SELECT:0x12087
NTSockets_WSAEnumNetworkEvents = WSAEnumNetworkEvents 用 NtDeviceIoControlFile 控制码IOCTL_AFD_ENUM_NETWORK_EVENTS:0x1208b
NTSockets_Recv = Recv 用 NtDeviceIoControlFile 控制码IOCTL_AFD_RECV:0x12017
NTSockets_Send = Send 用 NtDeviceIoControlFile 控制码IOCTL_AFD_SEND:0x1201f
其他函数陆续会更新,现在的版本基本功能已经实现
使用有问题可以给我反馈就行修复
需要生成调试,用OutputDebugStringA函数输出
用Dbgview接收日志
全部有带
AFD驱动控制码
作者:
亿意亦易
时间:
2022-5-4 21:42
支持开源~!感谢分享
作者:
liuzhicheng001
时间:
2022-5-4 21:56
太厉害了
作者:
sinboy2009
时间:
2022-5-4 22:29
赞!!感谢分享!
作者:
l7518597
时间:
2022-5-4 22:46
感谢大佬分享
作者:
xslyhk
时间:
2022-5-4 23:27
谢谢分享哦
作者:
18074941457
时间:
2022-5-4 23:41
支持开源~!感谢分享
作者:
syl199312
时间:
2022-5-4 23:57
开源精神必须支持~
作者:
jpk
时间:
2022-5-5 00:34
开源精神必须支持~
作者:
paulz2022
时间:
2022-5-5 00:57
支持开源~!感谢分享
作者:
精易萧萧
时间:
2022-5-5 03:49
作者:
张富强
时间:
2022-5-5 04:30
RE: R3应用层利用AFD驱动,编写自己的高效Socket服务 [修改]
作者:
咪兔
时间:
2022-5-5 04:31
又涨姿势了~~
作者:
TLDream
时间:
2022-5-5 04:32
谢谢分享的的的
作者:
云韵
时间:
2022-5-5 08:27
支持一下
作者:
飘零
时间:
2022-5-5 08:39
支持开源~!感谢分享
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4