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隐藏得太深,总让人捉摸不定!>
В Краснодаре клиника «КубаньТрезвость» работает по принципу непрерывного наблюдения — помощь оказывается 24 часа в сутки. Независимо от степени тяжести запоя, нарколог оценивает состояние пациента, подбирает схему лечения и контролирует динамику восстановления. При лёгкой форме запоя допускается проведение детоксикации на дому, однако при выраженной интоксикации рекомендуется госпитализация. Врачи применяют безопасные препараты, позволяющие быстро стабилизировать давление, снять тревогу и улучшить сон.
Подробнее можно узнать тут – вывод из запоя на дому недорого
Процедура вывода из запоя проводится только под медицинским наблюдением, так как самостоятельные попытки могут привести к осложнениям — аритмии, судорогам, резкому скачку давления. Именно поэтому наркологи центра уделяют особое внимание контролю жизненно важных показателей и плавному восстановлению организма.
Узнать больше – нарколог вывод из запоя
Основным инструментом при выведении из запоя является капельница. Её состав зависит от состояния пациента, продолжительности запоя и наличия хронических заболеваний. В клинике «ПензаМед Трезвость» используются только проверенные препараты с минимальной нагрузкой на организм. Ниже приведена таблица с примерами инфузионных растворов и их воздействием.
Подробнее можно узнать тут – нарколог вывод из запоя
Решение вызвать нарколога для вывода из запоя должно приниматься незамедлительно, если наблюдаются тревожные признаки:
Изучить вопрос глубже – https://vyvod-iz-zapoya-himki5.ru/vyvod-iz-zapoya-cena-v-himkah
Если пациент находится в остром состоянии — начинается с детоксикации. Это не только капельницы для вывода токсинов и восстановления баланса в организме, но и поддержка работы сердца, печени, почек, купирование тревоги и бессонницы, снятие судорог, коррекция давления. Весь процесс проходит под наблюдением опытного нарколога, который учитывает хронические заболевания, особенности организма, степень интоксикации.
Исследовать вопрос подробнее – lechenie-alkogolizma-cena
Перед выбором метода врач проводит диагностику, оценивает физическое и психоэмоциональное состояние пациента, рассказывает о возможных рисках и особенностях процедуры. Только после согласования всех деталей назначается дата и форма кодирования.
Узнать больше – kodirovanie-ot-alkogolizma-telefon
Ниже представлена таблица, демонстрирующая основные направления деятельности клиники и их особенности:
Изучить вопрос глубже – http://narkologicheskaya-klinika-v-krd19.ru
Комплексный подход позволяет не просто стабилизировать физическое состояние пациента, но и обеспечить долговременный результат. Каждый этап лечения сопровождается медицинским наблюдением и корректируется по мере улучшения состояния.
Получить дополнительную информацию – http://narkologicheskaya-klinika-v-krd19.ru
Неотъемлемой частью программы становится психотерапия — работа с мотивацией, психологической поддержкой, поиском и устранением “триггеров” зависимости, проработка самооценки, стрессоустойчивости. К работе обязательно подключаются близкие: совместные консультации помогают восстановить доверие, снизить уровень конфликтов, научиться поддерживать без контроля и упрёков.
Выяснить больше – lechenie-alkogolizma
Неотъемлемой частью программы становится психотерапия — работа с мотивацией, психологической поддержкой, поиском и устранением “триггеров” зависимости, проработка самооценки, стрессоустойчивости. К работе обязательно подключаются близкие: совместные консультации помогают восстановить доверие, снизить уровень конфликтов, научиться поддерживать без контроля и упрёков.
Выяснить больше – lechenie-alkogolizma-stoimost
Процесс лечения проходит поэтапно. Каждый шаг направлен на снятие интоксикации, стабилизацию состояния и нормализацию обменных процессов. В таблице приведены основные этапы и процедуры, применяемые в клинике «ПензаМед Трезвость».
Получить дополнительные сведения – вывод из запоя круглосуточно пенза
Перечисленные меры обеспечивают структурированный подход к восстановлению, позволяя выстраивать лечение в соответствии с текущими изменениями. Такой формат способствует достижению устойчивой физиологической стабилизации и уменьшает выраженность симптомов. Для систематизации применяемых методов используется таблица, представленная ниже.
Изучить вопрос глубже – помощь вывод из запоя
Ниже представлена таблица, демонстрирующая основные направления деятельности клиники и их особенности:
Детальнее – https://narkologicheskaya-klinika-v-krd19.ru/narkologa-na-dom-krasnodar/
В Краснодаре клиника «КубаньТрезвость» работает по принципу непрерывного наблюдения — помощь оказывается 24 часа в сутки. Независимо от степени тяжести запоя, нарколог оценивает состояние пациента, подбирает схему лечения и контролирует динамику восстановления. При лёгкой форме запоя допускается проведение детоксикации на дому, однако при выраженной интоксикации рекомендуется госпитализация. Врачи применяют безопасные препараты, позволяющие быстро стабилизировать давление, снять тревогу и улучшить сон.
Изучить вопрос глубже – помощь вывод из запоя
Перед началом терапии проводится клиническая оценка, включающая измерение давления, осмотр кожи и глаз, проверку дыхания и анализ неврологического состояния. Вывод из запоя в клинике в Астрахани начинается только после сбора этих данных, поскольку подбор препаратов без диагностики может быть небезопасен.
Углубиться в тему – вывод из запоя в стационаре астрахань
Далее, когда физическое состояние стабилизировано, совместно с врачом выбирается стратегия дальнейшего лечения. В «Новая Точка» доступны современные методы кодирования (уколы, таблетки, вшивание препаратов, гипнотерапия), но решение всегда принимается осознанно, с объяснением плюсов, рисков и индивидуальным подбором метода.
Разобраться лучше – лечение алкоголизма цена
Врачи клиники «КубаньТрезвость» применяют только безопасные, доказательно эффективные методы очищения организма. Каждый пациент получает персональную схему терапии, включающую капельницы, поддерживающие препараты и восстановительные процедуры. Детоксикация проводится под контролем нарколога, а дозировки медикаментов подбираются индивидуально.
Разобраться лучше – нарколог на дом вывод из запоя в краснодаре
Наркологическая клиника «Южный МедКонтроль» объединяет современные медицинские технологии, опыт специалистов и уважительное отношение к каждому пациенту. Здесь создаются условия для безопасного и результативного лечения зависимостей любой сложности — от алкогольной до полинаркотической. Центр работает в круглосуточном режиме, предлагая выезд врачей на дом, детоксикацию, кодирование и длительные программы реабилитации. Основная цель специалистов — восстановление физического и психологического равновесия человека, возвращение способности к полноценной жизни без зависимости.
Исследовать вопрос подробнее – наркологические клиники алкоголизм ростов-на-дону
Наркологическая клиника в клинике в Астрахани предоставляет помощь пациентам, сталкивающимся с различными формами зависимости — алкогольной, наркотической, лекарственной. Основой терапии является комплексный подход, включающий медицинскую детоксикацию, стабилизацию состояния, психотерапию и последующее наблюдение. Такой формат работы позволяет мягко купировать острые симптомы, восстановить физиологические функции и подготовить пациента к длительной реабилитации. Все процедуры проводятся анонимно, с использованием сертифицированных препаратов и с постоянным контролем врача.
Получить дополнительную информацию – лечение в наркологической клинике
Лечение в круглосуточном режиме рассматривается как непрерывный медицинский процесс, а не как разовое вмешательство. Даже при экстренном обращении терапия выстраивается последовательно, с обязательным врачебным наблюдением и оценкой динамики состояния пациента.
Получить дополнительную информацию – https://narcologicheskaya-klinika-v-krd19.ru/
Перед началом лечения пациент проходит первичную диагностику, которая включает оценку физических показателей, сбор информации о длительности употребления, выявление сопутствующих заболеваний и оценку рисков. Наркологическая клиника в клинике в Астрахани использует стандартизированные методы обследования, что позволяет точно определить степень интоксикации и подобрать адекватный лечебный план.
Подробнее можно узнать тут – наркологическая клиника наркологический центр
Перед началом лечения пациент проходит первичную диагностику, которая включает оценку физических показателей, сбор информации о длительности употребления, выявление сопутствующих заболеваний и оценку рисков. Наркологическая клиника в клинике в Астрахани использует стандартизированные методы обследования, что позволяет точно определить степень интоксикации и подобрать адекватный лечебный план.
Подробнее тут – https://narkologicheskaya-klinika-astrakhan18.ru/narkologi-astrakhan/
Оценка клинической картины проводится поэтапно с учетом изменений во времени. Специалисты анализируют эффективность действий, корректируют терапевтические схемы и контролируют уровень безопасности. Такой подход позволяет избегать значительных колебаний в состоянии пациента и поддерживать физиологическую стабильность на протяжении всего курса. Важно, что наблюдение сопровождается применением инструментальных методов, повышающих точность диагностических данных. В результате создается полноценная модель восстановления, в которую включаются фармакологические, поддерживающие и мониторинговые действия. В клинике внимание уделяется не только коррекции нарушений, но и постепенному восстановлению адаптивных функций организма.
Выяснить больше – наркологическая клиника лечение алкоголизма в пензе
Указанные элементы задают логическую основу для всего терапевтического процесса, создавая структурированную модель работы с пациентом. При необходимости схема вмешательств дополняется дополнительными мерами, направленными на стабилизацию состояния. Такой формат позволяет поддерживать предсказуемость результата даже в сложных клинических ситуациях.
Узнать больше – http://narkologicheskaya-klinika-v-penze18.ru/narkologicheskaya-pomoshh-penza/
Вывод из запоя в клинике формируется на основе последовательных процедур, направленных на стабилизацию физиологических функций и устранение токсических влияний. Такой подход позволяет корректно регулировать состояние пациента и контролировать интенсивность симптомов. Рабочие алгоритмы включают оценку метаболических процессов, анализ соматических показателей и определение степени неврологических изменений. В результате создается структурированная модель помощи, ориентированная на восстановление адаптивных возможностей организма. Процессы выполняются под контролем специалистов, что обеспечивает прогнозируемый терапевтический эффект и снижает вероятность осложнений.
Получить больше информации – вывод из запоя капельница на дому кемерово
В этом обзорном материале представлены увлекательные детали, которые находят отражение в различных аспектах жизни. Мы исследуем непонятные и интересные моменты, позволяя читателю увидеть картину целиком. Погрузитесь в мир знаний и удивительных открытий!
А есть ли продолжение? – https://futureforyou.co/video
В этом обзорном материале представлены увлекательные детали, которые находят отражение в различных аспектах жизни. Мы исследуем непонятные и интересные моменты, позволяя читателю увидеть картину целиком. Погрузитесь в мир знаний и удивительных открытий!
Углубить понимание вопроса – https://cognos.space/10-curiosidades-sobre-o-cranio-e-o-cerebro-que-irao-te-surpreender
В зависимости от тяжести состояния подбирается индивидуальная программа детоксикации. В неё входят: — Инфузионная терапия (капельницы) для очищения организма от токсинов; — Поддерживающие препараты для работы сердца, печени, нервной системы; — Симптоматическое лечение (устранение рвоты, судорог, бессонницы); — Витамины и средства для восстановления водно-солевого баланса.
Получить дополнительные сведения – бесплатная наркологическая клиника в подольске
В этой статье представлен занимательный и актуальный контент, который заставит вас задуматься. Мы обсуждаем насущные вопросы и проблемы, а также освещаем истории, которые вдохновляют на действия и изменения. Узнайте, что стоит за событиями нашего времени!
Лучшее решение — прямо здесь – https://plan-2040.org/celebrando-en-familia
Для жителей Ростова-на-Дону клиника «Южный МедКонтроль» предлагает два формата помощи: лечение в стационаре и амбулаторные визиты врача на дом. Стационар оборудован всем необходимым для круглосуточного медицинского наблюдения, проведения инфузионных процедур и лабораторной диагностики. Пациентам предоставляется комфортное размещение, спокойная обстановка и постоянный контроль состояния. При выезде на дом врачи действуют оперативно — приезжают в течение часа, проводят осмотр, устанавливают капельницы, купируют абстиненцию и дают рекомендации по дальнейшему лечению.
Детальнее – анонимная наркологическая клиника ростов-на-дону
Соблюдение конфиденциальности в клинике «Точка Опоры» является неотъемлемой частью лечебного процесса. Наркологическая клиника в Краснодаре обеспечивает закрытый формат приёма, хранения медицинских данных и взаимодействия с пациентом. Практика показывает, что анонимное обращение снижает уровень тревожности, способствует более открытому диалогу с врачом и повышает точность клинической диагностики.
Подробнее можно узнать тут – https://narcologicheskaya-klinika-v-krd19.ru/narkolog-krasnodar-anonimno
Эта обзорная заметка содержит ключевые моменты и факты по актуальным вопросам. Она поможет читателям быстро ориентироваться в теме и узнать о самых важных аспектах сегодня. Получите краткий курс по современной информации и оставайтесь в курсе событий!
Читать далее > – http://clifft5.com/tipping
В этом обзорном материале представлены увлекательные детали, которые находят отражение в различных аспектах жизни. Мы исследуем непонятные и интересные моменты, позволяя читателю увидеть картину целиком. Погрузитесь в мир знаний и удивительных открытий!
Получить больше информации – https://strikinghotels.com/index.php/2015/12/19/spaghetti-bolognese
Этот информационный материал подробно освещает проблему наркозависимости, ее причины и последствия. Мы предлагаем информацию о методах лечения, профилактики и поддерживающих программах. Цель статьи — повысить осведомленность и продвигать идеи о необходимости борьбы с зависимостями.
Получить больше информации – https://owen.ru/forum/group.php?gmid=7697&do=discuss#gmessage7697
Если пациент находится в остром состоянии — начинается с детоксикации. Это не только капельницы для вывода токсинов и восстановления баланса в организме, но и поддержка работы сердца, печени, почек, купирование тревоги и бессонницы, снятие судорог, коррекция давления. Весь процесс проходит под наблюдением опытного нарколога, который учитывает хронические заболевания, особенности организма, степень интоксикации.
Получить больше информации – http://lechenie-alkogolizma-korolev5.ru/lechenie-alkogolizma-v-stacionare-v-koroleve/
В рамках анонимного лечения особое внимание уделяется следующим медицинским аспектам:
Получить больше информации – http://
thxx
thx
thx
thank you
Врачи клиники «КубаньТрезвость» применяют только безопасные, доказательно эффективные методы очищения организма. Каждый пациент получает персональную схему терапии, включающую капельницы, поддерживающие препараты и восстановительные процедуры. Детоксикация проводится под контролем нарколога, а дозировки медикаментов подбираются индивидуально.
Изучить вопрос глубже – вывод из запоя на дому
Диагностика включает общий и биохимический анализ крови, оценку работы печени и почек, электрокардиографию и психологическое тестирование для выявления уровня мотивации.
Углубиться в тему – кодирование от алкоголизма цены
thxx
Диагностика включает общий и биохимический анализ крови, оценку работы печени и почек, электрокардиографию и психологическое тестирование для выявления уровня мотивации.
Разобраться лучше – kodirovanie ot alkogolizma v pushkino
Инфузионная терапия — это не просто «быстрый раствор витаминов». При запое страдает водно-электролитный баланс, «плавает» давление и пульс, нарастает тревога, нарушается сон, проявляются тошнота и тремор. Правильно собранная капельница в Клину помогает вернуть жидкость и электролиты, поддержать печень, снизить вегетативные проявления, мягко стабилизировать нервную систему и подготовить переход на пероральные схемы. Важно избегать избыточной седативной нагрузки и опасных сочетаний: то, что человеку «помогало раньше», может конфликтовать с его нынешними показателями. Поэтому каждое назначение мы увязываем с реальными цифрами осмотра и тем, что уже было принято за двое суток.
Углубиться в тему – http://kapelnica-ot-zapoya-klin8.ru/
В зависимости от тяжести состояния подбирается индивидуальная программа детоксикации. В неё входят: — Инфузионная терапия (капельницы) для очищения организма от токсинов; — Поддерживающие препараты для работы сердца, печени, нервной системы; — Симптоматическое лечение (устранение рвоты, судорог, бессонницы); — Витамины и средства для восстановления водно-солевого баланса.
Углубиться в тему – наркологическая клиника в подольске
Такой подход позволяет наркологической клинике в Ростове-на-Дону выстраивать лечение в безопасных и психологически комфортных условиях.
Получить дополнительные сведения – http://narkologicheskaya-klinika-v-rostove19.ru/chastnaya-narkologicheskaya-klinika-rostov-na-donu/
Наркологическая клиника «Южный МедКонтроль» объединяет современные медицинские технологии, опыт специалистов и уважительное отношение к каждому пациенту. Здесь создаются условия для безопасного и результативного лечения зависимостей любой сложности — от алкогольной до полинаркотической. Центр работает в круглосуточном режиме, предлагая выезд врачей на дом, детоксикацию, кодирование и длительные программы реабилитации. Основная цель специалистов — восстановление физического и психологического равновесия человека, возвращение способности к полноценной жизни без зависимости.
Выяснить больше – наркологическая клиника
thxx
Участие в государственных и коммерческих процедурах требует точной подготовки, понимания законодательства и внимательной работы с документами. Для многих компаний самостоятельная работа с закупками становится сложной задачей: необходимо отслеживать новые закупки, анализировать требования, оформлять документы и взаимодействовать с площадками.
Все ответы на ваши вопросы – http://tendernoe-soprovozhdenie-rostov-na-donu.ru