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://narkologicheskaya-klinika-moskva15-1.ru/
Перед началом курса врач анализирует медицинские данные пациента. Учитываются хронические болезни, стаж алкоголизма или наркомании, результаты анализов и особенности психического здоровья. На основании полученной информации формируется программа лечения пациента. Она может включать медицинскую терапию в клинике, помощь психолога, кодирование, реабилитацию и поддержку семьи.
Подробнее – https://narkologicheskaya-klinika-moskva15-1.ru/
Помощь можно получить анонимно, с аккуратным оформлением и внимательным отношением к личным данным.
Подробнее – https://kapelnica-ot-zapoya-moskva15-1.ru/
When I landed at HPN Airport, I needed a rental car fast. I checked around at different rental agencies at the airport. Then I found a company that stood out. RealCar affordable car rental HPN Airport — The staff was friendly and efficient. The booking process was simple and fast. Great fuel efficiency, smooth handling, and plenty of features. Flexible drop-off options and transparent pricing. If you’re flying into HPN and need a reliable car. RealCar HPN Airport car rental delivery RealCar HPN Airport car rental delivery Check the link for the full fleet and pricing for HPN Airport. It’s the easiest way to get a great car. RealCar — best rental, best value, best service!
Чтобы у пациента и близких не возникал вопрос «что дальше», мы используем карту первых часов. Она задаёт цели, действия, контроль и критерии перехода между этапами. Такой подход экономит минуты и исключает импровизации «ради уверенности».
Подробнее тут – narkologicheskaya-klinika-v-kaliningrade15.ru/
Индивидуальная программа у нас — это модульный конструктор. В одних случаях критичен блок сна, в других — профилактика вечерних «волн» тревоги, в третьих — семейная медиированная встреча. Мы гибко переставляем модули, учитывая сопутствующие заболевания, приём базовых лекарств (антигипертензивные, антиаритмические, сахароснижающие), возраст и расписание пациента. Цель проста: чтобы терапия вписалась в жизнь, а не наоборот.
Узнать больше – наркологическая клиника наркологический центр в рязани
В этой статье мы подробно рассматриваем проверенные методы борьбы с зависимостями, включая психотерапию, медикаментозное лечение и поддержку со стороны общества. Мы акцентируем внимание на важности комплексного подхода и возможности успешного восстановления для людей, столкнувшихся с этой проблемой.
Изучить материалы по теме – вывод из запоя в стационаре
В этом исследовании рассмотрены методы лечения зависимостей и их эффективность. Мы проанализируем различные подходы, используемые в реабилитационных центрах, и представим данные о результативности программ. Читатели получат надежные и научно обоснованные сведения о данной проблеме.
Изучить аспект более тщательно – поставить капельницу от запоя
Лечение осуществляется поэтапно. После прибытия нарколог оценивает больного и выбирает растворы. Инфузия проводится с соблюдением правил безопасности, а персонал контролирует реакцию пациента. В зависимости от тяжести абстиненции специалист может рекомендовать дополнительное наблюдение или перевод в палаты стационара.
Ознакомиться с деталями – капельница от запоя на дому круглосуточно
Vavada kazino ir viena no popularakajam azartspelu platformam Latvijas speletaju vidu. Konta dati, bilance un izlases saraksts tiek sinhronizeti pec pieteiksanas. Aktuala informacija publiceta seit vavada casink – https://californiasportsandcyclery.com. Iepazistieties ar bonusa atspelesanas noteikumiem pirms aktivizesanas.
Капельница от запоя в Москве «Трезвый путь» применяется для снятия похмельного синдрома, уменьшения интоксикации и поддержки организма после длительного приема спиртного. Лечение на дому начинается с осмотра: нарколог оценивает самочувствие, давление, характер жалоб, длительность приема алкоголя и сопутствующие болезни. После диагностики подбираются растворы и препараты, способствующие выведению продуктов распада этанола, поддержке сердца, печени и нервной системы. Медикаменты используются исключительно по показаниям. Если помощь в домашних условиях небезопасна, больному рекомендуют лечение в клинике или стационаре.
Ознакомиться с деталями – https://kapelnica-ot-zapoya-moskva15-1.ru/
Функция
Углубиться в тему – снятие наркотической ломки
Наркологическая клиника «ПолярМед Центр» — это пространство круглосуточной помощи, где медицинская точность сочетается с бережным сервисом и конфиденциальными процедурами. Мы строим терапию как последовательность проверяемых шагов: ставим понятную цель, выбираем подходящий инструмент, заранее определяем маркеры контроля и фиксируем время повторной оценки. Такая дисциплина исключает «универсальные сильные капельницы» и заменяет их модульными решениями с предсказуемым эффектом. Пациент и его близкие на каждом этапе понимают, почему именно такое назначение выбрано сейчас и в какой момент мы ожидаем улучшение самочувствия.
Получить больше информации – наркологическая клиника нарколог в мурманске
Этот текст представляет собой обзор свежих данных и исследований в области медицины. Он призван помочь читателям понять, как научные достижения влияют на лечение, диагностику и общее состояние системы здравоохранения.
Изучить материалы по теме – вывод из запоя
Для пациента важно проходить весь рекомендованный курс лечения, а не ограничиваться облегчением самочувствия. При алкоголизме продолжительностью 3 года, 5 лет, 15 лет и более подход может различаться. То же относится к наркомании: зависимость продолжительностью несколько лет часто требует реабилитационной программы и регулярного контроля в центре.
Получить больше информации – наркологическая клиника в москве
Вывод из запоя на дому — это управляемый медицинский процесс, где каждая деталь имеет значение: от первичного осмотра и грамотного подбора инфузионного профиля до сенсорной дисциплины в помещении и чётких «окон оценки» результата. В наркологической клинике «СеверМед Трезвость» мы используем принцип минимально достаточных вмешательств: одна цель на этап, один измеримый маркер и одна корректировка за раз. Такой подход снижает нагрузку на организм, повышает предсказуемость и делает восстановление переносимым для пациента и его близких.
Ознакомиться с деталями – https://vivod-iz-zapoya-v-sankt-peterburge16.ru/vyvedenie-iz-zapoya-staczionar-sankt-peterburg/
Городская среда Калининграда — контрастные подъезды, близость моря с переменчивым ветром, плотный сезонный трафик — может усиливать вечернюю реактивность. Поэтому маршруты организованы «тихо»: согласованная парковка, отдельный вход без вывесок и очередей, короткая регистрация, приглушённая тёплая подсветка в зоне ожидания, отсутствие громких объявлений. Коммуникация с пациентами и близкими строится через защищённые каналы, а уведомления приходят в «беззвучном» режиме в согласованные «окна». Такой дизайн не ради «красоты сервиса», а ради клинического эффекта: чем меньше сенсорной нагрузки, тем быстрее выравнивается пульс к вечеру, тем легче возвращается переносимость питья и тёплой пищи, тем меньше потребность в ночных «усилениях».
Узнать больше – наркологическая клиника наркологический центр
Вывод из запоя — востребованное направление наркологической помощи. Запой создает высокую нагрузку на организм и может сопровождаться бессонницей, тревожностью, слабостью, нарушением работы внутренних органов. В Москве вывод из запоя проводится на дому и в клинике. Формат выбирают с учетом тяжести самочувствия пациента и длительности запоя.
Ознакомиться с деталями – narkologicheskaya-klinika-v-moskve
Лечение запоя строится индивидуально. Врач не ограничивается капельницей: нарколог проводит осмотр пациента, измеряет пульс и артериальное давление, оценивает неврологические и психические проявления, уточняет длительность алкоголизма и переносимость лекарств. При стабильных показателях лечение проводится дома. При тяжелом запое пациента направляют в стационар, где лечение проходит под постоянным контролем персонала. Такой формат особенно важен при сердечных нарушениях, судорожном синдроме, психозе, выраженной тревоге и длительном алкогольном стаже.
Изучить вопрос подробнее – vyvod-iz-zapoya-moskva15-2.ru/
Ниже представлен перечень основных направлений, используемых в современной наркологической помощи. Этот список отражает комплексный подход к лечению зависимостей.
Подробнее – вызвать наркологическую помощь пермь
Такая схема позволяет комплексно воздействовать на организм и уменьшить риски осложнений.
Выяснить больше – вызвать нарколога на дом срочно
Капельница на дому «Элегия Мед» — медицинская услуга для жителей Москвы, которым врач рекомендовал внутривенное лечение и которым удобнее получить помощь дома, а не тратить время на дорогу в клинику. Выезд на дому организуется круглосуточно по предварительной записи: оператор уточняет адрес, жалобы, возраст обратившегося, наличие хронических заболеваний, лекарства, которые принимаются постоянно, цель обращения и тип капельницы. Москва — большой город, поэтому возможность провести назначенную капельницу на дому особенно востребована у пожилых людей, маломобильных пациентов и тех, кому сложно посещать медицинский центр в рабочие часы.
Ознакомиться с деталями – капельница на дому цена
casino https://myseotoolkit.com/domain/mateslots-online.com
Первичная оценка строится вокруг показателей, которые определяют место ведения (дом, амбулатория, стационар), состав инфузии и объём поведенческих вмешательств. Мы исключаем «обязательные по привычке» анализы, не влияющие на решения здесь и сейчас; вместо этого закрепляем короткие, но информативные измерения с понятными границами безопасности и интервалами повторов. В результате пациент быстрее видит первые улучшения, а команда не перегружает организм «на всякий случай».
Разобраться лучше – http://narkologicheskaya-klinika-v-stavropole15.ru
В данной статье рассматриваются проблемы общественного здоровья и социальные факторы, влияющие на него. Мы акцентируем внимание на значении профилактики и осведомленности в защите здоровья на уровне общества. Читатели смогут узнать о новых инициативах и программах, направленных на улучшение здоровья населения.
Подробнее тут – капельницы от похмелья в Череповце
Этот медицинский обзор сосредоточен на последних достижениях, которые оказывают влияние на пациентов и медицинскую практику. Мы разбираем инновационные методы лечения и исследований, акцентируя внимание на их значимости для общественного здоровья. Читатели узнают о свежих данных и их возможном применении.
Желаете узнать подробности? – наркологическая клиника помощь на дому
Эта публикация исследует взаимосвязь зависимости и психологии. Мы обсудим, как психологические аспекты влияют на появление зависимостей и процесс выздоровления. Читатели смогут понять важность профессиональной поддержки и применения научных подходов в терапии.
Изучить материалы по теме – наркологическая клиника недорого
casino https://seo.googleapps.cat/domain/mateslots-online.com
Этот медицинский обзор сосредоточен на последних достижениях, которые оказывают влияние на пациентов и медицинскую практику. Мы разбираем инновационные методы лечения и исследований, акцентируя внимание на их значимости для общественного здоровья. Читатели узнают о свежих данных и их возможном применении.
Это ещё не всё… – платная наркологическая помощь
Выездная бригада действует незаметно: гражданская одежда, быстрый вход без обсуждений на лестничных площадках, краткая коммуникация. На домофон и документы — нейтральные указания, на чеках — общие формулировки. Мы показываем, что конфиденциальность — не обещание, а набор конкретных технологий, встроенных в процесс помощи.
Углубиться в тему – http://narkologicheskaya-klinika-murmansk15.ru
Медицинская публикация представляет собой свод актуальных исследований, экспертных мнений и новейших достижений в сфере здравоохранения. Здесь вы найдете информацию о новых методах лечения, прорывных технологиях и их практическом применении. Мы стремимся сделать актуальные медицинские исследования доступными и понятными для широкой аудитории.
Читать дальше – помощь при алкоголизме
thxx
thxx
thxx
thank you
thxx
Ломка — это острый синдром отмены, возникающий после длительного употребления алкоголя или наркотических веществ. При резком прекращении приема подобных веществ организм испытывает острую нехватку необходимых компонентов, что приводит к развитию тяжелых симптомов, таких как сильная тревожность, бессонница, мышечные судороги, головокружение, потливость и повышенная возбудимость. В такой критической ситуации быстрое и квалифицированное вмешательство врача-нарколога является залогом сохранения здоровья и предупреждения серьезных осложнений.
Изучить вопрос глубже – https://snyatie-lomki-nnovgorod8.ru/snyatie-narkoticheskoj-lomki-v-nnovgorode/
thx
thank you
thxx
thxx
Наркологическая клиника «Эдельвейс» в Екатеринбурге специализируется на оказании оперативной и квалифицированной помощи при снятии ломки. Наши специалисты обладают многолетним опытом работы и применяют современные методики для безопасного и эффективного лечения абстинентного синдрома. Мы работаем круглосуточно, что позволяет оказывать помощь в любое время суток, обеспечивая анонимность и конфиденциальность каждого пациента.
Разобраться лучше – снятие ломки наркозависимого
Первичная консультация помогает определить, безопасно ли лечение на дому или необходимо направить пациента в стационар. Врач учитывает уровень интоксикации, симптомы абстиненции, риск осложнений, возраст и общее физическое состояние. При наличии острых психиатрических симптомов, нарушений сознания или тяжелых заболеваний медицинская помощь должна оказываться в условиях постоянного наблюдения. Специалисты центра объясняют родственникам, что делать в конкретной ситуации и как правильно уговорить близкого начать лечение без давления и конфликтов.
Ознакомиться с деталями – staciomedika-narkologicheskaya-klinika-vyvoda-iz-zapoya-moskva-otzyvy
Городская среда Калининграда — контрастные подъезды, близость моря с переменчивым ветром, плотный сезонный трафик — может усиливать вечернюю реактивность. Поэтому маршруты организованы «тихо»: согласованная парковка, отдельный вход без вывесок и очередей, короткая регистрация, приглушённая тёплая подсветка в зоне ожидания, отсутствие громких объявлений. Коммуникация с пациентами и близкими строится через защищённые каналы, а уведомления приходят в «беззвучном» режиме в согласованные «окна». Такой дизайн не ради «красоты сервиса», а ради клинического эффекта: чем меньше сенсорной нагрузки, тем быстрее выравнивается пульс к вечеру, тем легче возвращается переносимость питья и тёплой пищи, тем меньше потребность в ночных «усилениях».
Исследовать вопрос подробнее – наркологическая клиника наркологический центр в калининграде
Каждый из этапов направлен на обеспечение максимальной безопасности и эффективности лечения. Индивидуальный подход, основанный на тщательной диагностике, позволяет значительно снизить риск осложнений и обеспечить комфортное протекание терапии.
Углубиться в тему – http://snyatie-lomki-ekb8.ru
Нарколог оценивает не только сам факт употребления, но и выраженность нарушений. Некоторые признаки указывают, что лечение на дому может оказаться недостаточным. Врач обращает внимание на уровень сознания, пульс, артериальное давление, дыхание, степень обезвоживания, поведение и наличие сопутствующей патологии. При следующих симптомах важно не откладывать медицинскую помощь.
Изучить вопрос подробнее – вывод из запоя москва вызов нарколога капельница
В реальности Воронежа на самочувствие влияет не только фармакология, но и логистика: трассы с плотным трафиком, яркое освещение подъездов, очереди в медорганизациях. «ВоронежМедЦентр» гасит эти раздражители организационно: «тихие окна» приёма без коридорного шума, согласованная парковка, немаркированные выезды, нейтральные формулировки в документах и «беззвучные» напоминания. Снижение сенсорной нагрузки — это не декоративная опция, а клинический фактор: спокойная первая ночь, ровный пульс к вечеру, предсказуемость режима воды и тёплой пищи малыми порциями.
Получить дополнительные сведения – http://narkologicheskaya-klinika-voronezh15.ru
Этот текст посвящён сложным аспектам зависимости и её влиянию на жизнь человека. Мы обсудим психологические, физические и социальные последствия зависимого поведения, а также важность своевременного обращения за помощью.
Что ещё? Расскажи всё! – помощь наркологическая