ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1232回复:8

怎么将修改的包写回去啊?!

楼主#
更多 发布于:2003-12-09 14:08
已经知道怎样把劫到的包的内容放入一个缓冲字符数组的方法,当我对字符数组做完修改之后,我怎样告诉NDIS到我已经修改了的包首地址来取数据传给接下来的驱动啊。?!
我是来学习的。不打扫卫生
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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说是非透明的结构,要自己操作,我蓝屏怕了,不敢乱来了。呵呵。谁来告诉我怎么弄?!
我是来学习的。不打扫卫生
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-12 09:19
我要处理的东西写回去一定是要遍长度的
我是来学习的。不打扫卫生
fanxf
驱动牛犊
驱动牛犊
  • 注册日期2002-12-20
  • 最后登录2006-03-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-12-11 20:56
如果不增大,可以回写,我已经测试过
wengyu100
驱动牛犊
驱动牛犊
  • 注册日期2003-10-10
  • 最后登录2006-10-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-11 17:44
不好意思
我想:
QueryPakcet
QueryBuffer得到buffer数据区的指针
再利用该指针写
我没试过
你试试
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-12-11 17:15
不对吧
我是来学习的。不打扫卫生
wengyu100
驱动牛犊
驱动牛犊
  • 注册日期2003-10-10
  • 最后登录2006-10-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-11 17:14
调用NdisMindicatereceivepakcet
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-12-11 16:41
太新了
我是来学习的。不打扫卫生
daweia
驱动牛犊
驱动牛犊
  • 注册日期2003-11-26
  • 最后登录2007-12-15
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-12-11 16:35
直接修改packet里的vitiualaddress所指内存数据

然后调整包长度即可
游客

返回顶部