Bug总能在你意想不到的地方给你个措手不及,只是它所带来并不是惊喜,而是Blue Screen Of Death !
既如此,只能兵来将挡。
先介绍一下程序的大体流程:
NTSTATUS
XXXProcessDirents(…)
{
do {
KeEnterCriticalRegion();
ExAcquireResourceSharedLite(&fcb->Resource, TRUE);
/* access several members of fcb structure */
ExReleaseResourceLite(&fcb->Resource);
KeLeaveCriticalRegion();
XXXXProcessDirent(…);
} while (list_is_not_empty(….));
return status;
}
NTSTATUS
XXXXProcessDirent(…)
{
HANDLE handle = NULL;
XXXX_FILE_HEADE fileHead;
……
/* open file */
status = ZwCreateFile(&handle, GENERIC_READ, &oa, &iosb, NULL, 0,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
FILE_OPEN, 0, NULL, 0);
/* read file header*/
status = ZwReadFile(handle, ioevent, NULL, NULL, &iosb, (PVOID)&fileHead,
sizeof(XXXX_FILE_HEADE), &offset, NULL);
/* check whether file is interesting to us */
if (status == STATUS_SUCCESS && iosb.Information == sizeof(……)) {
/* it’s my taste, haha */
}
/* close file, not interested in it any more */
if (handle){
ZwClose(handle);
}
return status;
}
过程比较简单,XXXProcessDirents()会循环调用XXXProcessDirent(),直至列表中所有项全检查完毕。
下面再来看windbg分析吧:
1: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If a kernel debugger is available get the stack backtrace.
Arguments:
Arg1: 0abc9867, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000001, bitfield :
bit 0 : value 0 = read operation, 1 = write operation
bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
Arg4: 806e7a2a, address which referenced memory
Debugging Details:
------------------
WRITE_ADDRESS: 0abc9867
CURRENT_IRQL: 2
FAULTING_IP:
hal!KeAcquireInStackQueuedSpinLock+3a
806e7a2a 8902 mov dword ptr [edx],eax
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0xA
PROCESS_NAME: System
TRAP_FRAME: b9019bbc -- (.trap 0xffffffffb9019bbc)
ErrCode = 00000002
eax=b9019c40 ebx=00000000 ecx=c0000211 edx=0abc9867 esi=c0000128 edi=8842d268
eip=806e7a2a esp=b9019c30 ebp=b9019c68 iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
hal!KeAcquireInStackQueuedSpinLock+0x3a:
806e7a2a 8902 mov dword ptr [edx],eax ds:0023:0abc9867=????????
Resetting default scope
LAST_CONTROL_TRANSFER: from 806e7a2a to 80544768
STACK_TEXT:
b9019bbc 806e7a2a badb0d00 0abc9867 804f4e77 nt!KiTrap0E+0x238
b9019c68 806e7ef2 00000000 00000000 b9019c80 hal!KeAcquireInStackQueuedSpinLock+0x3a
b9019c68 b9019d24 00000000 00000000 b9019c80 hal!HalpApcInterrupt+0xc6
WARNING: Frame IP not in any known module. Following frames may be wrong.
b9019cf0 80535873 00000000 8896fb20 00000000 0xb9019d24
b9019d10 b79d87ff ba668a30 8859b7e8 00000440 nt!ExReleaseResourceLite+0x8d
b9019d2c b79d8a5c 8a3ff2f0 00000003 ba6685f0 XXXXX!XXXProcessDirents+0xef
b9019d88 b79e163a e2f6b170 00000001 00000001 XXXXX!XXXKernelQueryDirectory+0x20c
b9019ddc 8054616e b79e1530 88a8ae00 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
问题出在系统函数ExReleaseResourceLite()及KeAcquireInStackQueuedSpinLock()上,且程序要写的地址为0abc9867 ,明显不对,所以此处可做栈损坏推断。
第一嫌疑要考虑的是,XXXProcessDirents()中有锁保护的部分,此部分是果真是最容易造成栈损坏buffer复制操作。但经过仔细检查及测试,便排除了此部分出错的可能。
在排除第一嫌疑后,就没有明显目标了。只好再接着看windbg log:
貌似KeAcquireInStackQueuedSpinLock()要写的地址是LockHandle的LockQueue->Next,而LockHandle一般都在从当前堆栈分配的,由此可肯定之前对于栈损坏的推断。可问题是,是谁导致的栈损坏。
Stack中有hal!HalpApcInterrupt()调用记录,它是处理APC的软中断。hal!HalpApcInterrupt()会一般会调用nt!KiDeliverApc()来处理线程的APC队列。但当ExReleaseResourceLite()调用的时候,线程还处于临界区内(Critical Section),此时User mode APC及Kernel mode normal APC都会被禁止的,但Kernel mode special APC不会。
Kernel Special APC最常见的情况便是由IoCompleteRequest()添加的:在APC Level中调用IopCompleteRequest()以处理Irp的Stage 2的清理工作。
至此,问题终于有些眉目了。分析代码中唯一有可能导致APC添加的地方就在函数XXXXProcessDirent()中的ZwReadFile()调用,而且fileHead正是于堆栈中分配的。
想到此处,此bug的根据原因便付出水面:
XXXXProcessDirent()没有处理ZwReadFile()返回STATUS_PENDING的情况,此情形下,XXXXProcessDirent()退出并继续执行,而之前的ZwReadFile()的IRP完成操作也在同时进行(还没有完成),并且此完成操作所要写的fileHead地址,正是早已被回收并加以重用的当前栈。
搞清楚之后,便在调用ZwReadFile()后,特别针对STATUS_PENING的情况来调用ZwWaitForSingleObject()以确保读操作全部完成后,再进行下一步操作。
到此,问题解决!
一个蓝屏的问题,竟然如此之绕,不禁让我想起刘震云的《一句顶一万句》,只是这能顶一万句的一句到底是哪句呢?
<下一步打算写写APC相关的东西,操作系统将APC隐藏得太深,总让人捉摸不定!>
Клиника “Клиника Наркологии и Психотерапии” гордится своим коллективом высококвалифицированных специалистов. Врачи, работающие в нашей команде, имеют многолетний опыт в области наркологии и психиатрии. Они прошли обучение в ведущих медицинских учреждениях и обладают глубокими знаниями современных методик лечения зависимостей.
Разобраться лучше – вывод из запоя
Психологическая помощь сопровождает медикаментозное лечение, способствуя преодолению эмоциональных и поведенческих трудностей. Важным элементом является мотивационная работа, направленная на формирование устойчивого стремления к жизни без зависимости.
Получить дополнительную информацию – наркологическая клиника вывод из запоя омск
Основные этапы лечения:
Детальнее – капельница от запоя вызов в краснодаре
Для сохранения приватности мы ведём коммуникацию через одного доверенного представителя, используем нейтральные формулировки в документах, а инструкции выдаём в неброском виде. При невозможности создать тишину дома (ремонт, маленькие дети, гости) предложим краткий «тихий» стационар с отдельным входом и камерным режимом, после чего сопровождение вернётся в домашний формат.
Изучить вопрос глубже – вывод из запоя с выездом екатеринбург
Помимо физической детоксикации, лечение запоя требует комплексной психологической поддержки. Психотерапевты работают с пациентами для выявления глубинных причин зависимости, помогают снизить уровень стресса и развивают навыки самоконтроля, что критически важно для предотвращения рецидивов.
Получить дополнительные сведения – вывод из запоя круглосуточно в красноярске
Чтобы избежать опасных последствий, необходимо постепенно и безопасно вывести алкоголь из организма. Клиника «Ясный горизонт» предлагает профессиональный вывод из запоя в Новокузнецке как в условиях стационара, так и с выездом нарколога на дом.
Получить больше информации – вывод из запоя на дому недорого
Вызов нарколога на дом в Хабаровске осуществляется при наличии клинических показаний, при которых выездная помощь является обоснованной и безопасной. В клинике «Ясный Вектор» решение о формате вмешательства принимается с учётом жалоб, анамнеза и предполагаемой тяжести состояния.
Подробнее тут – вызвать нарколога на дом в хабаровске
Клинический опыт показывает: чем раньше начато лечение, тем выше шансы на устойчивую ремиссию. Промедление может привести к тяжёлым осложнениям — физическим, психическим и социальным.
Углубиться в тему – наркологические клиники алкоголизм воронеж
Основная цель капельничного лечения от запоя – оперативное выведение токсинов, восстановление нормального обмена веществ и предотвращение дальнейших осложнений. Методика, используемая специалистами, включает не только медикаментозное вмешательство, но и комплексный мониторинг состояния пациента, что обеспечивает безопасность и результативность терапии даже в условиях экстренной необходимости.
Подробнее – капельница от запоя цена в луганске
Вызов нарколога на дом в Хабаровске осуществляется при наличии клинических показаний, при которых выездная помощь является обоснованной и безопасной. В клинике «Ясный Вектор» решение о формате вмешательства принимается с учётом жалоб, анамнеза и предполагаемой тяжести состояния.
Разобраться лучше – помощь нарколога на дому в хабаровске
Часто предприниматели объединяют понятия тендер и госзакупки, так как обе процедуры связаны с конкурсным выбором поставщика. Однако между ними существуют определённые различия, которые важно понимать перед началом работы в этой сфере.
Полная картина — внутри – тендерное сопровождение под ключ цена в ростове на дону
После первичной диагностики начинается активная фаза медикаментозного вмешательства. Препараты вводятся капельничным методом для быстрого снижения уровня токсинов в крови, нормализации обменных процессов и стабилизации работы внутренних органов, таких как печень, почки и сердце.
Узнать больше – https://narcolog-na-dom-mariupol00.ru/narkolog-na-dom-kruglosutochno-mariupol/
Обращение к специалистам становится необходимым, если наблюдаются следующие симптомы, указывающие на тяжелую интоксикацию:
Получить дополнительную информацию – http://vyvod-iz-zapoya-sochi777.ru
Финансовые инструменты позволяют заказчику убедиться в надежности участника и его готовности выполнить обязательства по контракту. При этом грамотное сопровождение снижает вероятность финансовых рисков и помогает правильно оформить документы для банка.
Узнайте больше прямо сейчас – тендерное сопровождение под ключ ростов на дону
Помощь нарколога на дому в Мурманске обладает рядом неоспоримых преимуществ, которые делают данный метод лечения особенно актуальным:
Выяснить больше – вывод из запоя круглосуточно
Затянувшийся запой — это состояние, которое опасно не только выраженной интоксикацией, но и непредсказуемыми осложнениями со стороны сердца, нервной системы и обмена веществ. В наркологической клинике «БайкалМедЦентр» (Улан-Удэ) услуги экстренного вывода из запоя организованы в формате «одного окна»: круглосуточный выезд врача-нарколога на дом, инфузионная терапия (капельницы) с индивидуальным подбором составов и детокс-протоколы, учитывающие возраст, сопутствующие заболевания и продолжительность употребления. Команда работает 24/7 по городу и пригородам; время прибытия в большинстве случаев составляет 30–45 минут с момента подтверждения вызова.
Детальнее – вывод из запоя цена
thx
thx
thx
thx
Чрезмерное употребление алкоголя приводит к отравлению организма, негативно сказываясь на работе внутренних органов, уровне жидкости и общем самочувствии. Длительные запои сопровождаются тяжёлыми последствиями, включая нарушения сердечной деятельности, сбои в работе печени, скачки давления и психоэмоциональные расстройства.
Подробнее – выезд на дом капельница от запоя в красноярске
Запой — это острое состояние, при котором контроль над потреблением алкоголя утрачивается, что может привести к опасным последствиям для здоровья. В Иркутске специалисты наркологической помощи предлагают услугу вызова нарколога на дом, что позволяет оперативно начать лечение в комфортной домашней обстановке, сохраняя полную конфиденциальность. Такой подход позволяет быстро стабилизировать состояние пациента и минимизировать риск осложнений.
Выяснить больше – http://narcolog-na-dom-v-irkutske66.ru/narkolog-na-dom-kruglosutochno-irkutsk/
Капельница от запоя — это не «чудо-микс», а управляемая медицинская процедура с чёткими целями, окном оценки и понятными критериями остановки. В «ЮжУрал Детокс Центр» подход построен по принципу минимально достаточных вмешательств: сначала безопасность (дыхание, сознание, гемодинамика), потом переносимость воды и сбор нормального сна, а уже после — метаболическая поддержка и восстановление бытовой устойчивости. Такая логика исключает полипрагмазию, снижает риск нежелательных реакций и даёт семье прогнозируемую картину на ближайшие 24–72 часа. Мы не обещаем «мгновенного чуда» — мы предлагаем дисциплину маленьких шагов, которая с высокой вероятностью приводит к устойчивому результату.
Углубиться в тему – капельница от запоя анонимно в челябинске
В клинике «Пульс» процесс оказания помощи начинается сразу после вашего обращения. Наша бригада оперативно выезжает на дом, где врач проводит первичный осмотр пациента: измеряет давление, пульс, оценивает степень интоксикации и собирает анамнез. На основе полученных данных подбирается индивидуальный состав капельницы.
Исследовать вопрос подробнее – поставить капельницу от запоя на дому в краснодаре
Каждый из наших врачей не только специалист, но и психолог, способный понять переживания пациента, создать атмосферу доверия. Мы применяем индивидуальный подход, позволяя каждому пациенту чувствовать себя комфортно. Наши наркологи проводят тщательную диагностику, разрабатывают планы лечения, основываясь на данных обследования, психологическом состоянии и других факторах. Основное внимание уделяется снижению абстиненции, лечению сопутствующих заболеваний, коррекции психоэмоционального состояния.
Изучить вопрос глубже – вывод из запоя на дому в смоленске
В условиях Донецка ДНР наши специалисты применяют современную методику вывода из запоя на дому, которая включает в себя несколько последовательных этапов для обеспечения максимально безопасного и эффективного лечения.
Ознакомиться с деталями – vyvod-iz-zapoya-klinika donetsk
thx
thx
Запой сопровождается быстрым накоплением токсинов, нарушением обменных процессов и ухудшением работы жизненно важных органов. При длительном злоупотреблении алкоголем риск повреждения печени, почек и сердца возрастает, а состояние пациента ухудшается с каждой минутой. Срочный вывод из запоя на дому помогает предотвратить развитие хронических осложнений и сохранить здоровье, что особенно важно в условиях городской жизни.
Исследовать вопрос подробнее – вывести из запоя
Специалисты применяют методы когнитивно-поведенческой терапии, мотивационного консультирования и техники релаксации. Такие подходы помогают пациенту изменить негативные установки, научиться управлять своими эмоциями и сформировать здоровые модели поведения. Это способствует не только скорейшему выздоровлению, но и долгосрочному поддержанию трезвости.
Детальнее – вывод из запоя на дому недорого в красноярске
Генератор ключей для Windows 11 — 100% рабочий метод активации, проверено тысячами пользователей!
Подробнее – Активатор Windows 11 скачать бесплатно
Конфиденциальность обеспечивается процессом: нейтральные формулировки в документах, минимум персональных данных, немаркированные формы и транспорт, отдельный вход, «короткие» переговоры у двери, единый контакт по медицинским вопросам. Внутри команды действует «язык цифр» — витальные показатели, шкалы, интервалы питья и сна, окна проверки. Это исключает лишние обсуждения и защищает от распространения деликатной информации за пределы клинического круга.
Получить больше информации – лечение в наркологической клинике
Вывод из запоя в клинике в Екатеринбурге проводится с применением сертифицированных лекарственных препаратов, поддерживающих систем и методов индивидуальной терапии. Врачи используют физиологически безопасные комбинации растворов, витаминов и нейропротекторов, восстанавливающих работу центральной нервной системы. Инфузионная терапия проводится под контролем специалистов, что исключает возможность осложнений и обеспечивает быстрое улучшение состояния пациента.
Углубиться в тему – http://narkologicheskaya-klinika-v-ekb16.ru/narkologicheskaya-klinika-ekaterinburg-otzyvy/
Вызов нарколога на дом в Хабаровске осуществляется при наличии клинических показаний, при которых выездная помощь является обоснованной и безопасной. В клинике «Ясный Вектор» решение о формате вмешательства принимается с учётом жалоб, анамнеза и предполагаемой тяжести состояния.
Получить больше информации – https://narkolog-na-dom-khabarovsk0.ru/narkolog-khabarovsk-anonimno/
Длительный запой – это опасное состояние, при котором организм не успевает вывести токсины алкоголя, что приводит к серьезной интоксикации и нарушению работы жизненно важных органов. Без своевременного вмешательства риск развития осложнений существенно возрастает. Наркологическая клиника «Доктор Трезвость» в Сочи предлагает комплексную поддержку и профессиональное лечение запоя, используя передовые методы терапии и индивидуальный подход для скорейшего восстановления здоровья пациента.
Подробнее тут – вывод из запоя на дому круглосуточно в сочи
В этом материале представлены детали, которые хоть и занимательны, но не особенно значимы. Мы рассматриваем моменты, которые трудно назвать важными, но всё же решили включить их для полноты картины.
Вот – Скидка 99%
Как подчёркивает врач-нарколог клиники «Гармония здоровья» Александр Ветров, «любая зависимость — это не слабость, а болезнь, требующая медицинского вмешательства и системного подхода».
Подробнее – http://narkologicheskaya-klinika-voronezh9.ru/
Затянувшийся запой — это состояние, которое опасно не только выраженной интоксикацией, но и непредсказуемыми осложнениями со стороны сердца, нервной системы и обмена веществ. В наркологической клинике «БайкалМедЦентр» (Улан-Удэ) услуги экстренного вывода из запоя организованы в формате «одного окна»: круглосуточный выезд врача-нарколога на дом, инфузионная терапия (капельницы) с индивидуальным подбором составов и детокс-протоколы, учитывающие возраст, сопутствующие заболевания и продолжительность употребления. Команда работает 24/7 по городу и пригородам; время прибытия в большинстве случаев составляет 30–45 минут с момента подтверждения вызова.
Детальнее – http://vyvod-iz-zapoya-ulan-ude0.ru/vyvod-iz-zapoya-na-domu-ulan-ude/
На практике выезд врача позволяет оперативно стабилизировать состояние пациента и снизить риск осложнений, связанных с отсрочкой медицинской помощи.
Подробнее можно узнать тут – https://narkolog-na-dom-khabarovsk0.ru/khabarovsk-narkolog
Одним из ключевых достоинств выезда нарколога на дом является возможность лечения в привычной для пациента среде, что способствует снижению стресса и ускоряет процесс выздоровления. Кроме того, лечение на дому гарантирует полную анонимность и индивидуальный подход к каждому пациенту.
Изучить вопрос глубже – https://narcolog-na-dom-v-irkutske66.ru/narkolog-na-dom-czena-irkutsk/
В клинике проводится лечение различных видов зависимости с применением современных методов и препаратов. Ниже перечислены основные направления, отражающие широту оказываемой медицинской помощи.
Детальнее – наркологическая клиника наркологический центр
Перечисленные состояния требуют профессионального вмешательства и не предполагают самостоятельного медикаментозного воздействия без врачебного контроля.
Получить больше информации – нарколог на дом вывод из запоя
Состояния при зависимостях чувствительны к времени суток и среде. К ночи нарастает тревога, усиливается тремор, нестабильны показатели ЧСС/АД. Круглосуточный приём позволяет выстроить «мост» через самые сложные часы: собрать сон без избыточной фармаконагрузки, сделать короткие чек-ины, вовремя ретитровать один параметр (свет, дыхательные ритмы, интервалы питья), а утром оформить «малые победы» — гигиена и 10–15 минут тихой ходьбы. Эти простые маркеры часто надёжнее любых субъективных оценок «как себя чувствую».
Подробнее тут – наркологические клиники алкоголизм в ростове-на-дону
Нашли рабочий серийный номер для Windows 11 Pro — проверено лично, без вирусов!
Подробнее – Windows 11 активатор без вирусов
Экстренная капельничная терапия от запоя на дому в Луганске ЛНР имеет ряд преимуществ, благодаря которым лечение становится максимально оперативным и безопасным:
Детальнее – вызов на дом капельницы от запоя
Реабилитационные программы в наркологической клинике направлены на нормализацию обменных процессов, восстановление сна, эмоциональной стабильности и когнитивных функций. Для достижения этого используются методы физиотерапии, нутритивной поддержки и коррекции поведения. Основное внимание уделяется мотивации пациента, работе с созависимостью и обучению навыкам здорового взаимодействия с окружающей средой.
Выяснить больше – вывод наркологическая клиника
В этой статье-обзоре мы собрали данные, актуальность которых сомнительна, а факты — не всегда взаимосвязаны. Читатель сможет ознакомиться с разными мнениями, хотя вряд ли они существенно повлияют на его понимание темы.
Вот – миллион за месяц
В клинике «Пульс» процесс оказания помощи начинается сразу после вашего обращения. Наша бригада оперативно выезжает на дом, где врач проводит первичный осмотр пациента: измеряет давление, пульс, оценивает степень интоксикации и собирает анамнез. На основе полученных данных подбирается индивидуальный состав капельницы.
Получить больше информации – вызвать капельницу от запоя краснодар
Специалисты применяют методы когнитивно-поведенческой терапии, мотивационного консультирования и техники релаксации. Такие подходы помогают пациенту изменить негативные установки, научиться управлять своими эмоциями и сформировать здоровые модели поведения. Это способствует не только скорейшему выздоровлению, но и долгосрочному поддержанию трезвости.
Получить больше информации – вывод из запоя дешево красноярск
Когда состояние алкогольной интоксикации достигает критических уровней, своевременное вмешательство становится жизненно необходимым. В Мариуполе, Донецкая область, высококвалифицированные наркологи оказывают срочную помощь на дому, позволяя оперативно начать детоксикацию и стабилизировать состояние пациента. Такой формат лечения обеспечивает быстрый выход из кризиса в условиях комфорта и конфиденциальности, что особенно важно для тех, кто не может позволить себе задержки в стационарном лечении.
Выяснить больше – вызов врача нарколога на дом мариуполь