Теперь постоянно одна и та же причина - испорчен стек. nt!RtlpExecuteHandlerForException+0xf Вот тут мы вызываем обработчик, и на выходе ломается stack cookie, не дав нормально обработать PF. Непонятна и сама причина PF в ExReleaseFastMutex'е, и почему ломается стек в обработчике. Залей ещё свой ntoskrnl.exe: думаю, у нас отличаются билды.
HoShiMin, Вот ядро и два дампа, крэшнул олли и иду. Вот иды к ядру бд если нужно. Почему то шедулер больше не валится. upd А нет, в последнем дампе шед: Код (Text): fffff883`fb474730 fffff807`5f01b1cf : ffffaa8f`341c9080 fffff807`5fb27a00 fffff883`fb4748f0 00000000`00000000 : nt!KiSwapThread+0x6db fffff883`fb4747e0 fffff807`5f01aa73 : 00000000`00000033 fffff807`00000000 00000000`00000001 ffffaa8f`341c91c0 : nt!KiCommitThreadWait+0x14f fffff883`fb474880 fffff807`5f689d21 : ffffaa8f`35a63b30 00000000`00000000 fffff883`fb474b01 fffff807`5b244101 : nt!KeWaitForSingleObject+0x233 fffff883`fb474970 fffff807`5f210ef5 : ffffaa8f`341c9080 00000225`2638f400 00000000`00000000 ffffaa8f`35a63b01 : nt!NtWaitForDebugEvent+0x261 fffff883`fb474b00 00007ffe`7ee70a34 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x25 000000f2`053ff288 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffe`7ee70a34 SYMBOL_NAME: nt!KiSwapThread+6db --- Сообщение объединено, 23 мар 2025 --- Интересно если поток крутить как при racecond атаке(suspend/resume) будет ли падать --- Сообщение объединено, 23 мар 2025 --- Не падает без отладчика, под отладчиком пока не буду проверять. Код (Text): Thread proc p1:DWORD Local Ctx:CONTEXT @@: mov Ctx.ContextFlags,CONTEXT_ALL invoke GetThreadContext, Thd, addr Ctx jmp @b Thread endp EP proc Local Ctx:CONTEXT invoke CreateThread, 0, 0, addr Thread, 0, 0, addr Tid mov Thd,eax Iter: .repeat invoke ZwSuspendThread, Thd, addr Scount mov Ctx.ContextFlags,CONTEXT_ALL invoke GetThreadContext, Thd, addr Ctx invoke ZwResumeThread, Thd, addr Scount .until Etrap --- Сообщение объединено, 23 мар 2025 --- Можно видимо пофиксить отладчики, убрать NtResumeThread, отфильтровав целевой тред, затем будет вызов NtDebugContinue, который запустит поток. Но это наверно не нужно)