首页
社区
课程
招聘
[求助]NtDeviceIoControlFile的问题
发表于: 2016-4-4 06:24 6229

[求助]NtDeviceIoControlFile的问题

2016-4-4 06:24
6229
现在网上都是讲重定向的,没有讲篡改内容的吗?
hook了这个函数,但是输出内容,只输出了第一个包的内容,后面的就没有了。
我想在所有访问的网页都弹出alter对话框。就要改html代码啊。
百度google了一晚上,无果啊。

请问
1、怎么获取完整的数据来修改呢?
2、如果是要分包处理,能说下分包的思路吗?

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

收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 72
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我用recv读到后续的内容的,但是不知道怎么修改。
2016-4-4 06:53
0
雪    币: 2096
活跃值: (1872)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
注意buff的Content-Length
2016-4-4 08:19
0
雪    币: 272
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
先别看NtDeviceIoControlFile,在recv层就已经比较麻烦了, 各种浏览器内核对html的处理都不一样,有些可能全部下载后在解读,有些边下载就边分析了,而且一些html代码也会导致处理的方法不一样,最好还是在浏览器内核COM接口那里修改比较靠谱吧
2016-4-4 14:21
0
雪    币: 5
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这个我做过,每打开一个网页时,用程序模拟返回一个recv包,在这个包里你重写html,想显示什么显示什么。
2016-4-4 15:39
0
雪    币: 72
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
在浏览器内核COM接口那里弄,那是不是每个浏览器都要去定制开发啊?是不是太麻烦了?
2016-4-4 21:23
0
雪    币: 72
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
就是没有思路啊,求指点。
2016-4-4 21:31
0
雪    币: 72
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
hook recv(WSARecv)函数,取出全部数据,然后整理好数据后,再调用recv 发过去,试试看行不行。
2016-4-5 11:35
0
雪    币: 5
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
要重新构造一个包,用程序比服务器的早返回之。
2016-4-5 12:12
0
雪    币: 2096
活跃值: (1872)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
修改就可以了,何必模拟发包呢,只要注意buff的Content-Length 就可以了!!
2016-4-5 12:30
0
雪    币: 72
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
请问,怎么修改?假如一个网页有300,000的长度,ie的buf长度是1024, chrome和firefox的buf是4096。那在中途的时候,这些buf是占满的吧?这个直接修改不好处理吧?而且 gzip在没有接受完,无法解压处理吧?

http://bbs.csdn.net/topics/390824148  晚上回去试试看这个。其实之前有搜到,但是没有仔细看。
2016-4-5 15:55
0
雪    币: 2096
活跃值: (1872)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
你不让他GZIP就完了啊
2016-4-7 02:09
0
雪    币: 113
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
http改包是小事,最后你会卡在https上
2016-4-7 16:14
0
雪    币: 72
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
这个可以在请求的时候控制吗?
2016-4-22 17:08
0
雪    币: 2096
活跃值: (1872)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
是的 请求过滤

解包 然后压包也是可以 楼上的话:
                                               最后你会卡到https
2016-4-23 13:57
0
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
https小事,本地嘛……插个根就好了
2016-4-23 14:00
0
雪    币: 2096
活跃值: (1872)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
大牛能不能详细说明 https的数据拦截
2016-4-23 14:40
0
雪    币: 180
活跃值: (80)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
在本地建个代理服务器.recv时判断收完了html再发给浏览器.
至于https,用openssl即可.搞个假证书.关联到代理服务器上
代理服务器收到包解包后改完了在发出去即可.
2016-5-2 19:51
0
雪    币: 2096
活跃值: (1872)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
3q 这个思路非常nice
2016-5-4 16:23
0
游客
登录 | 注册 方可回帖
返回
//