Forum Replies Created
-
AuthorPosts
-
return OldClientEventReceive(pBlockFromPagedLookasideList->EventContext,
ConnectionContext,
ReceiveFlags,
BytesIndicated,
BytesAvailable,
*BytesTaken,
Tsdu,
*IoRequestPacket);Ого, я даже не посмотрел, звездочки убери в параметрах… Прежде чем писать драйвера, прости книжку по C что ли…
А как int3 может выдавать BSOD если это отладочная команда???
Это прерывание обычно используемое отладчиком, но если отладчика нет , то получите необработанное исключение, в ядре это BSOD.
Насчет остального – разбирайся, чтобы что-то сказать определенное информации маловато.
FAULTING_IP:
tdifilter_testdriver+988
f8ae6988 cc int 3BSOD на необработанном INT3, который ты сам видимо и воткнул…
In case of NAT (or even simple forwarding) you always see each packet twice (when it arrives to the internal interface and when it is forwarded from external one) and this allows you to determine that packet was NAT’ed (only source IP/port information changes after NAT).
However, in case of proxy packet structure is not saved and doing the same looks more complex, since you have to analyze the packet content.
А вот !analyze -v что то не пойму что это..
Команда для автоанализа crash dump в WinDBG.
ntkernel has some conflict problems with other software “NDIS hooking” software. Which include cisco vpn client and other security applications. Can we get a list of software identified as conflicting with ntkernel?
We was not able to reproduce conflict with Cisco VPN client, but it seems it may be possible on some systems/configurations. So far we have not any other open conflict issues.
Do we need to know anything else? Do you recommend ntkernel packet filter kit for windows version of NetOptima?
Your assumptions about WinpkFIlter are all correct and yes it can be used for NetOptima kind of application. Though the decision is up tp you
🙂!analyze -v от crash dump?
Искал.. и в отладчике тоже.. Все осталось тоже самое.. При вызове оригинальной функции система падает..
Ну так и посмотри в каком месте и почему она падает. Проверь адреса на валидность… Никто за тебя твой драйвер писать не будет. Ссылку на исходники TDI FW я давал, там перехват этот реализован, насколько я знаю.
Изменил.. Вснравно BSOD..
Значит этот баг не единственный, еще есть… Отлаживайся…
А это где менять??? Что-то я не пойму..
🙄
ExInitializePagedLookasideList –> ExInitializeNPagedLookasideList
ExAllocateFromPagedLookasideList –> ExAllocateFromNPagedLookasideListВедь при компиляции в DDK при неверном IRQL на сколько я знаю он должен выдавать ошибку..
С чего бы это? Если бы компилятор вдавался в такие тонкости – цены бы ему не было.
Вообще если есть желание, то я могу куда-нибудь залить свой этот драйвер с исходниками.. Просто я не понимаю почему он не работает.
Я вроде явную ошибку указал, если BSOD был с кодом IRQL_NOT_LESS_OR_EQUAL то это тебе второе подтверждение. Поменяй paged lookaside list на non paged lookaside list и будет тебе счастье.
А вообще, неплохо было бы книжек почитать прежде чем драйвера писать…
Ну если так, то я сдаюсь и ошибка все-таки в ДНК 😆
Структура g_pPagedLookasideList аллокирована в NonPagedPool, но сам lookaside list при этом paged (ExInitializePagedLookasideList), другими словами все элеиенты в нем allocated from PagedPool. И использовать их на IRQL_DISPATCH_LEVEL низзя 😈
Первым делом, я бы проверил валидность сохраненных обработчика и контекста, а вообще смотреть нужно почему оригинап выпетает.
Не вижу всего кода, но если pBlockFromPagedLookasideList действительно аппокирован из paged pool, то падает вполне закономерно, так как ClientEventReceive вызывается на IRQL_DISPATCH_LEVEL.
Лучше использовать VMWare Workstation, 30 дневная триал лицензия к ней прилагается.
WinDBG:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
Конфигурирование для работы с VMWare (вместо второй машины используем виртуальную):
http://silverstr.ufies.org/lotr0/windbg-vmware.html
Для SoftIce нужно скачать последний osinfo.dat, хотя если он перестал обновляться то может и не заработает.
-
AuthorPosts