阅读:1231回复:8
怎么将修改的包写回去啊?!
已经知道怎样把劫到的包的内容放入一个缓冲字符数组的方法,当我对字符数组做完修改之后,我怎样告诉NDIS到我已经修改了的包首地址来取数据传给接下来的驱动啊。?!
|
|
|
沙发#
发布于:2003-12-11 16:35
直接修改packet里的vitiualaddress所指内存数据
然后调整包长度即可 |
|
板凳#
发布于:2003-12-11 16:41
太新了
|
|
|
地板#
发布于:2003-12-11 17:14
调用NdisMindicatereceivepakcet
|
|
地下室#
发布于:2003-12-11 17:15
不对吧
|
|
|
5楼#
发布于:2003-12-11 17:44
不好意思
我想: QueryPakcet QueryBuffer得到buffer数据区的指针 再利用该指针写 我没试过 你试试 |
|
6楼#
发布于:2003-12-11 20:56
如果不增大,可以回写,我已经测试过
|
|
7楼#
发布于:2003-12-12 09:19
我要处理的东西写回去一定是要遍长度的
|
|
|
8楼#
发布于:2003-12-12 09:29
packet所指的是由一个或者多个叫NDIS_BUFFER的结构,他是一种成所谓MDL的结构(Memory descriptor list ),MDL的结构是这样的:
typedef struct _MDL { struct _MDL *Next; CSHORT Size; CSHORT MdlFlags; struct _EPROCESS *Process; PVOID MappedSystemVa; PVOID StartVa; ULONG ByteCount; ULONG ByteOffset; } MDL, *PMDL; ddk说是非透明的结构,要自己操作,我蓝屏怕了,不敢乱来了。呵呵。谁来告诉我怎么弄?! |
|
|