首页
社区
课程
招聘
[旧帖] [求助]基于SPI的WSPRecv能否重组和修改网络封包? 0.00雪花
发表于: 2015-7-9 06:39 1600

[旧帖] [求助]基于SPI的WSPRecv能否重组和修改网络封包? 0.00雪花

2015-7-9 06:39
1600
假设打开百度网页,WSPRecv收到网页文本内容分多个包返回(每个包可能是1024或8192字节),
收到完整包后gzip解码,然后修改明文数据,重新gzip编码,继续传给浏览器。

这样能否实现呢?

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Get请求包中,把gzip编码去掉,直接修改明文,应该没什么问题。
如果不去掉gzip编码,不知道能否修改网页内容?

假设打开一个网页,分8次返回8192字节的数据,每次返回1024字节。
浏览器每调用一次recv函数,就执行一次WSPRecv函数,
recv函数指定一个buf和buflen,buflen指定1024字节(分8次调用recv函数);

int WSPAPI WSPRecv(......)
{
int iRet = NextProcTable.lpWSPRecv(s, lpBuffers, dwBufferCount, lpNumberOfBytesRecvd, lpFlags,lpOverlapped, lpCompletionRoutine, lpThreadId, lpErrno);
lpBuffers返回负载数据
lpNumberOfBytesRecvd返回已成功接收的负载长度
}

如果在收到第一个200 OK消息后,WSPRecv函数不返回,在循环调用7次NextProcTable.lpWSPRecv,收到完整gzip包,
gzip解码,修改明文,重新编码后,分8次向lpBuffers拷贝修改后的gzip数据(修改后gzip数据总长度不超过8192字节)。

不知道这样是否可行?
2015-7-9 06:43
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
其实就是类似网络封包拦截修改的流氓软件,只是研究下相关技术。
还有浏览器不是自己写,最后一个包recv中指定buflen最大1024字节,但是好像不能返回8192字节数据。
2015-7-9 09:14
0
游客
登录 | 注册 方可回帖
返回
//