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://lechenie-alkogolizma-noginsk12.ru/sajt-lechenie-alkogolizma-v-noginske
thx
thx
thx
thx
thx
В статье-обзоре представлены данные сомнительной актуальности и факты без явной взаимосвязи. Читатель ознакомится с разными мнениями, хотя они вряд ли существенно изменят его представление о теме.
Подробнее читать – магазин строительных материалов
Такой комплексный подход позволяет не только купировать острые состояния, но и устранить внутренние факторы, провоцирующие развитие зависимости. После стабилизации состояния пациент переходит к этапу психотерапевтической коррекции, направленной на предотвращение рецидивов.
Разобраться лучше – наркологическая клиника цены в екатеринбурге
Финансовые инструменты позволяют заказчику убедиться в надежности участника и его готовности выполнить обязательства по контракту. При этом грамотное сопровождение снижает вероятность финансовых рисков и помогает правильно оформить документы для банка.
Погрузитесь в детали – тендерное сопровождение под ключ ростов на дону
Проблема зависимостей остаётся актуальной в обществе. С каждым годом количество людей, страдающих от алкоголизма, наркомании и других зависимостей, растёт. Эти расстройства негативно влияют на качество жизни как самих пациентов, так и их близких. Зависимость — это не только физическое состояние, но и глубокая психологическая проблема. Для эффективного лечения необходимо обратиться к профессионалам, которые помогут справиться с этой болезнью. Наркологическая клиника “Клиника Наркологии и Психотерапии” предоставляет всеобъемлющую помощь, направленную на восстановление здоровья и нормализацию жизни пациентов.
Изучить вопрос глубже – вывод из запоя вызов на дом
Передовые методики
Узнать больше – http://vyvod-iz-zapoya-sochi777.ru/vyvod-iz-zapoya-anonimno-v-sochi/
В Красноярске используется широкий спектр современных методик для вывода из запоя. Комплексное лечение включает в себя несколько этапов, позволяющих обеспечить быструю детоксикацию и восстановление организма. Основное внимание уделяется индивидуальному подходу, что позволяет адаптировать терапию под конкретные потребности каждого пациента.
Получить дополнительную информацию – https://vyvod-iz-zapoya-krasnoyarsk66.ru/vyvod-iz-zapoya-na-domu-krasnoyarsk/
Услуга вывода из запоя на дому в Мурманске предполагает комплексное лечение алкогольной интоксикации, направленное на оперативное снижение уровня токсинов в организме. Сразу после поступления вызова специалист проводит детальный осмотр, собирает анамнез и определяет степень интоксикации. На основании собранной информации разрабатывается индивидуальный план терапии, который может включать капельничное введение медикаментов, контроль жизненно важных показателей и психологическую поддержку. Такой комплекс мер позволяет стабилизировать состояние пациента и начать процесс выздоровления без необходимости посещения стационара.
Подробнее можно узнать тут – вывод из запоя анонимно мурманск
Когда запой угрожает здоровью и жизни, оперативное вмешательство становится критически важным. В Донецке ДНР опытные специалисты по наркологии оказывают профессиональную помощь на дому, обеспечивая качественную детоксикацию организма, стабилизацию жизненно важных функций и психологическую поддержку. Такой формат лечения позволяет пациенту получить комплексную терапию в условиях комфорта, сохраняя полную конфиденциальность и избегая лишних формальностей.
Подробнее тут – https://vyvod-iz-zapoya-donetsk-dnr0.ru/vyvod-iz-zapoya-na-domu-doneczk-dnr
Наркологическая клиника в Новосибирске — это специализированное медицинское учреждение, предоставляющее комплексную помощь пациентам с различными формами зависимости. Использование современных методов диагностики и терапии позволяет достигать устойчивых результатов в лечении алкогольной, наркотической и других зависимостей. В клинике «Преодоление» работают опытные специалисты, разрабатывающие индивидуальные программы с учётом особенностей каждого пациента.
Ознакомиться с деталями – наркологическая клиника цены
После первичной диагностики начинается активная фаза медикаментозного вмешательства. Препараты вводятся капельничным методом для быстрого снижения уровня токсинов в крови, нормализации обменных процессов и стабилизации работы внутренних органов, таких как печень, почки и сердце.
Получить дополнительные сведения – вызвать нарколога на дом срочно
Генератор ключей для Windows 11 — 100% рабочий метод активации, проверено тысячами пользователей!
Подробнее – Скачать патч для активации Windows 11
Вызов специалиста на дом рекомендуется, если запой затягивается и самостоятельное прекращение пьянства становится невозможным. Своевременное обращение помогает предотвратить ухудшение состояния, развитие хронических осложнений и негативное воздействие на психику.
Получить больше информации – нарколог на дом клиника в иркутске
В материале приведены детали, интересные, но не особенно важные. Мы рассматриваем аспекты, которые сложно назвать существенными, но включили их для большей полноты.
Подробнее читать – https://rostov-narkologiya.ru
Рабочий ключ активации для Windows 11 — проверено и обновлено, без блокировок!
Подробнее – Ключ активации для Windows 11 2026
Врач уточняет, как долго продолжается запой, какой алкоголь употребляется и имеются ли сопутствующие заболевания. Тщательный анализ этих данных позволяет подобрать оптимальные методы детоксикации и снизить риск осложнений.
Ознакомиться с деталями – http://narcolog-na-dom-mariupol00.ru/narkolog-na-dom-czena-mariupol/
Зависимость редко выглядит одинаково у разных людей. У кого-то всё начинается с «пару дней выпал из графика», у кого-то — с регулярного употребления «для сна» и снятия напряжения, у кого-то — с эпизодов, которые постепенно превращаются в систему: запои, провалы в работе, конфликты дома, долги, скрытность и постоянная усталость. Общий признак один: человек теряет возможность управлять ситуацией, а любые попытки резко прекратить употребление приводят к тяжёлому состоянию — тревоге, бессоннице, тремору, скачкам давления, тошноте, раздражительности. В Орехово-Зуево многие откладывают обращение из-за стыда и желания «разобраться самим», но зависимость устроена так, что без медицинской помощи чаще всего возвращает человека к прежнему сценарию. Наркологическая клиника нужна, чтобы перевести проблему из хаоса и импульсивных решений в управляемый медицинский процесс: оценка состояния, безопасная стабилизация, восстановление базовых функций и лечение зависимости как долгосрочной задачи.
Детальнее – http://narkologicheskaya-klinika-orekhovo-zuevo12.ru/narkologicheskaya-klinika-sajt-v-orekhovo-zuevo/
Часто предприниматели объединяют понятия тендер и госзакупки, так как обе процедуры связаны с конкурсным выбором поставщика. Однако между ними существуют определённые различия, которые важно понимать перед началом работы в этой сфере.
Разгадайте все загадки – участие в тендерах госзакупок ростов на дону
Лечение начинается с всестороннего обследования, которое позволяет оценить стадию зависимости и общее состояние пациента. Это обследование помогает сформировать персонализированную программу терапии, учитывающую все особенности конкретного случая. Медикаментозное лечение направлено на детоксикацию, устранение абстинентного синдрома и поддержку функций жизненно важных органов.
Разобраться лучше – наркологическая клиника лечение алкоголизма омск
Конфиденциальность обеспечивается процессом: нейтральные формулировки в документах, минимум персональных данных, немаркированные формы и транспорт, отдельный вход, «короткие» переговоры у двери, единый контакт по медицинским вопросам. Внутри команды действует «язык цифр» — витальные показатели, шкалы, интервалы питья и сна, окна проверки. Это исключает лишние обсуждения и защищает от распространения деликатной информации за пределы клинического круга.
Подробнее – анонимная наркологическая клиника ростов-на-дону
Чтобы избежать опасных последствий, необходимо постепенно и безопасно вывести алкоголь из организма. Клиника «Ясный горизонт» предлагает профессиональный вывод из запоя в Новокузнецке как в условиях стационара, так и с выездом нарколога на дом.
Изучить вопрос глубже – анонимный вывод из запоя новокузнецк
Для жителей Ростова-на-Дону клиника работает по схеме «тихих маршрутов»: отдельный вход с нейтральной табличкой, окна записи в невызывающие подозрений часы, немаркированный подъезд автомобиля при выездном визите. На первом звонке диспетчер собирает только то, что влияет на безопасность: эпизоды рвоты, ЧСС/АД, ночные панические эпизоды, сопутствующие препараты, аллергии, наличие хронических заболеваний сердца. Личные и социальные детали не запрашиваются — мы придерживаемся принципа «минимально необходимой информации». По прибытии врача фиксируются базовая линия (сознание, дыхание, SpO?, температура), шкалы симптомов и переносимость небольших объёмов воды. Дальше — один точный шаг, одно «окно проверки» и прозрачное решение: продолжать модуль, модифицировать одну переменную или выключить блок.
Узнать больше – https://narkologicheskaya-clinika-v-rostove-na-donu16.ru/narkologi-rostov-na-donu
В статье-обзоре представлены данные сомнительной актуальности и факты без явной взаимосвязи. Читатель ознакомится с разными мнениями, хотя они вряд ли существенно изменят его представление о теме.
Подробнее читать – кирпич строительный цена
Часто предприниматели объединяют понятия тендер и госзакупки, так как обе процедуры связаны с конкурсным выбором поставщика. Однако между ними существуют определённые различия, которые важно понимать перед началом работы в этой сфере.
Глубже в тему — здесь – тендерное сопровождение под ключ цена в ростове на дону
Для повышения эффективности терапии применяются физиотерапевтические процедуры и витаминные комплексы, которые ускоряют восстановление и повышают сопротивляемость организма стрессам.
Углубиться в тему – наркологическая клиника стационар в омске
Ниже представлена таблица, отражающая основные направления медикаментозного лечения и сопутствующих процедур:
Получить больше информации – наркологическая клиника стационар омск
Основная цель капельничного лечения от запоя – оперативное выведение токсинов, восстановление нормального обмена веществ и предотвращение дальнейших осложнений. Методика, используемая специалистами, включает не только медикаментозное вмешательство, но и комплексный мониторинг состояния пациента, что обеспечивает безопасность и результативность терапии даже в условиях экстренной необходимости.
Получить дополнительные сведения – врач на дом капельница от запоя луганск
На данном этапе специалист уточняет продолжительность запоя, тип употребляемого алкоголя и наличие хронических заболеваний, что позволяет оперативно подобрать наиболее эффективные методы детоксикации и снизить риск осложнений.
Получить дополнительные сведения – капельница от запоя на дому недорого луганск
Конфиденциальность обеспечивается процессом: нейтральные формулировки в документах, минимум персональных данных, немаркированные формы и транспорт, отдельный вход, «короткие» переговоры у двери, единый контакт по медицинским вопросам. Внутри команды действует «язык цифр» — витальные показатели, шкалы, интервалы питья и сна, окна проверки. Это исключает лишние обсуждения и защищает от распространения деликатной информации за пределы клинического круга.
Подробнее – наркологическая клиника цены в ростове-на-дону
Этот обзор позволяет по-новому взглянуть на вещи, на которые обычно и так смотрят. Мы упоминаем факты, которые мало что меняют, и события, значение которых трудно определить, но они всё равно здесь.
Вот – миллион за месяц
Экстренная капельничная терапия от запоя на дому в Луганске ЛНР имеет ряд преимуществ, благодаря которым лечение становится максимально оперативным и безопасным:
Получить дополнительные сведения – http://kapelnica-ot-zapoya-lugansk-lnr00.ru/
При поступлении вызова нарколог незамедлительно выезжает на дом для проведения первичного осмотра. Специалист собирает анамнез, измеряет жизненно важные показатели – пульс, артериальное давление и температуру – и оценивает степень алкогольной интоксикации. Точная диагностика становится основой для составления индивидуального плана терапии, адаптированного под конкретное состояние пациента.
Узнать больше – вывод из запоя в твери
После первичной диагностики начинается активная фаза медикаментозного вмешательства. Современные препараты вводятся капельничным методом, что позволяет быстро снизить уровень токсинов в крови и восстановить нормальные обменные процессы, стабилизируя работу печени, почек и сердечно-сосудистой системы.
Получить дополнительную информацию – vyvod-iz-zapoya donetsk
Этот сборник информации привлекает множеством мелких деталей и необычных ракурсов. Мы предлагаем взгляды, редко полезные, но способные немного разнообразить знакомство с темой.
Подробнее читать – строительные материалы
Перед выездом проводится уточнение симптомов и общего состояния пациента, что помогает врачу подготовиться к визиту и взять необходимый набор медикаментов.
Детальнее – нарколог на дом анонимно в хабаровске
Зависимость редко начинается как «сразу серьёзная проблема». Сначала алкоголь или вещества используются как способ снять напряжение, заглушить тревогу или уснуть. Потом это постепенно превращается в устойчивый механизм: трезвость даётся тяжело, сон ломается, появляется внутренняя дрожь, раздражительность, скачки давления, тревога, а утро всё чаще начинается с мысли «нужно поправиться, иначе не выдержу». В Орехово-Зуево многие долго надеются справиться самостоятельно, потому что стыдно, нет времени или кажется, что «в этот раз точно получится». Но зависимость устроена так, что без грамотной помощи чаще всего возвращает человека в один и тот же круг: попытка прекратить — тяжёлая отмена — снова употребление — ухудшение здоровья и отношений.
Детальнее – http://narkologicheskaya-klinika-orekhovo-zuevo2-12.ru
Наркологическое лечение начинается с диагностики и оценки рисков. Важно понять, как давно начались эпизоды употребления, как организм переносит отмену, какие симптомы наиболее выражены, есть ли хронические заболевания и были ли осложнения в прошлом. У одного пациента главная проблема — затяжные запои и тяжёлая абстиненция, у другого — тревога и бессонница, у третьего — повторяющиеся срывы на фоне стресса, у четвёртого — наркотическая интоксикация с непредсказуемыми проявлениями. Поэтому лечение не может быть «одинаковым для всех»: тактика подбирается индивидуально.
Детальнее – сайт наркологической клиники
В домашних попытках обычно есть две крайности. Первая — «пить понемногу, чтобы не трясло», что затягивает запой и усиливает истощение. Вторая — резко прекратить и «перетерпеть», после чего отмена усиливается волной, человек пугается и снова пьёт. Врач помогает выйти из этих крайностей: стабилизировать состояние и дать маршрут, который снижает риск возврата к алкоголю из-за бессонницы и паники.
Разобраться лучше – narkologiya-v-noginske
Этот текст содержит различную информацию, которая, возможно, покажется любопытной, но в целом не меняет восприятия привычных вещей. Предлагаем просто получить удовольствие от чтения, не ожидая особой пользы.
Вот – программирования
Психологическая помощь сопровождает медикаментозное лечение, способствуя преодолению эмоциональных и поведенческих трудностей. Важным элементом является мотивационная работа, направленная на формирование устойчивого стремления к жизни без зависимости.
Получить дополнительные сведения – наркологическая клиника вывод из запоя омск
Ниже представлена таблица, отражающая основные направления медикаментозного лечения и сопутствующих процедур:
Получить больше информации – https://narkologicheskaya-klinika-omsk0.ru/narkologiya-kruglosutochno-omsk
В этой статье-обзоре мы соберем актуальную информацию и интересные факты, которые освещают важные темы. Читатели смогут ознакомиться с различными мнениями и подходами, что позволит им расширить кругозор и глубже понять обсуждаемые вопросы.
Изучить вопрос глубже – https://asbn.site/les-dernieres-tendances-en-matiere-de-chauffage-thermique
Процесс оказания срочной помощи нарколога на дому в Мариуполе построен по отлаженной схеме, которая включает несколько ключевых этапов, направленных на быстрое и безопасное восстановление здоровья пациента.
Получить дополнительные сведения – https://narcolog-na-dom-mariupol00.ru/narkolog-na-dom-czena-mariupol
После первичной диагностики начинается активная фаза медикаментозного вмешательства. Препараты вводятся капельничным методом для быстрого снижения уровня токсинов в крови, нормализации обменных процессов и стабилизации работы внутренних органов, таких как печень, почки и сердце.
Углубиться в тему – нарколог на дом цены мариуполь
Когда состояние алкогольной интоксикации достигает критических уровней, своевременное вмешательство становится жизненно необходимым. В Мариуполе, Донецкая область, высококвалифицированные наркологи оказывают срочную помощь на дому, позволяя оперативно начать детоксикацию и стабилизировать состояние пациента. Такой формат лечения обеспечивает быстрый выход из кризиса в условиях комфорта и конфиденциальности, что особенно важно для тех, кто не может позволить себе задержки в стационарном лечении.
Подробнее тут – https://narcolog-na-dom-mariupol00.ru/narkolog-na-dom-czena-mariupol