Hi Devs,
Sorry for the long mail!
I an writing a Virtual Ndis Miniport driver for all
windows flavors. My driver does Arp spoofing too.
In order to test my driver I am using internal loop
back within my driver, (i.e.) I make a copy of all
incoming ndis packets (except for Arp Packets), &
indicate it to higher layers using
NdisMIndicateReceivePacket.
This approach works fine in all windows platforms
(2000, ME, 98SE, WinCE, XP)
BUT in NT the call NdisMIndicateReceivePacket behaves
as follows
Checked build causes a Assertion failure & BSOD
Free build causes a Assertion failure but *NO* BSOD
What surprises me is
- when I call NdisMIndicateReceivePacket (at IRQL
Level DISPATCH_LEVEL) to indicate spoofed Arp Requests
there is no Assertion caused. but when I try to
indicate other ndis pkts (at IRQL Level PASSIVE_LEVE)
there is an Assertion. - The Assertion is caused when Ndis tries to acquire
a lock on MiniportHandle.
From Microsoft knowledge base I learnt that there is a
bug in acquiring locks in Ndis in NT SP3 & this has
been fixed in NT SP4, I am using SP5.
FYI: I set BINARY_COMPATIBLE=1 during compilation
Has any one encountered such a problem ? Any
suggestions wud be greatly appreciated.
Thanx & Regards
ME
Do You Yahoo!?
Make a great connection at Yahoo! Personals.
http://personals.yahoo.com
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com