zhanSL
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2010-07-13
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望273点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
阅读:1324回复:2

高手请进(asm):SERIALIZED_MINIPORT数据包问题?

楼主#
更多 发布于:2007-01-08 16:45
  发送数据包完成后:跟踪NdisMSendComplete

mov edi,edi
push ebp
mov ebp,esp
mov ecx,dword ptrds:[0f766f278h]   ------>ecx=2
push ebx
push edi
mov edi,dword ptr [ebp+0ch]          ------->Packet指针
mov eax,dword ptr [edi-4]               ------->Packet前面的4字节(0/1正确,-1错误)
cmp eax,ecx                                     -------->不知道为什么Packet前面的4字节==-1
jae pos1                                          -------->跳转到pos1就崩0xd1(0x08,0x02,0x00,addr)

sub eax,ecx
lea eax,[eax+eax*2]
lea ebx,[edi+eax*8-8]
mov dword ptr [ebp_0ch],ebx
jmp pos2

pos1:
and dword ptr [ebp+0ch],0         --------->Packet指针置 0
mov ebx,dword ptr [ebp+0ch]     --------->ebx=0

pos2:
mov eax,dword ptr [ebx+8]        --------->崩溃
and eax,offffff00h
cmp eax,4d4f4300h
.....
zhanSL
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2010-07-13
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望273点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-01-09 15:56
跟踪发现:
当Packet->Private.Head被修改后 就变成 -1
但Packet->Private.Head的值怎么被NIC改变了???
zhanSL
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2010-07-13
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望273点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-01-10 16:28
Realtek8139网卡在Windows XP双核环境下,有时对一个Packet进行多次的NdisMSendComplete调用,速度越快越频繁。为什么?
游客

返回顶部