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隐藏得太深,总让人捉摸不定!>
В данной статье рассматриваются проблемы общественного здоровья и социальные факторы, влияющие на него. Мы акцентируем внимание на значении профилактики и осведомленности в защите здоровья на уровне общества. Читатели смогут узнать о новых инициативах и программах, направленных на улучшение здоровья населения.
Продолжить чтение – реабилитационный центр для наркозависимых
Thank You
Этот обзор посвящен успешным стратегиям избавления от зависимости, включая реальные примеры и советы. Мы разоблачим мифы и предоставим читателям достоверную информацию о различных подходах. Получите опыт многообразия методов и найдите подходящий способ для себя!
Проверенные методы — узнай сейчас – вывод из запоя на дому круглосуточно
В этой публикации мы предложим ряд рекомендаций по избавлению от зависимостей и успешному восстановлению. Мы обсудим методы привлечения поддержки и важность самосознания. Эти советы помогут людям вернуться к нормальной жизни и стать на путь выздоровления.
А что дальше? – частный вывод из запоя
thx
thx
В этой статье мы подробно рассматриваем проверенные методы борьбы с зависимостями, включая психотерапию, медикаментозное лечение и поддержку со стороны общества. Мы акцентируем внимание на важности комплексного подхода и возможности успешного восстановления для людей, столкнувшихся с этой проблемой.
Читать дальше – лечение алкогольного запоя на дому
Схема помощи зависит от состояния, стажа употребления, противопоказаний и дальнейших целей лечения.
Получить больше информации – https://nadomu3.kapelnica-ot-zapoya-v-moskve14-1.ru/
В данном обзоре представлены основные направления и тренды в области медицины. Мы обсудим актуальные проблемы здравоохранения, свежие открытия и новые подходы, которые меняют представление о лечении и профилактике заболеваний. Эта информация будет полезна как специалистам, так и широкой публике.
Посмотреть всё – виды кодирования от алкоголизма
Важно выяснить длительность запоя, частоту и дозы потребляемого алкоголя, наличие ранее проведённых детоксикаций и психиатрических заболеваний. Эта информация помогает выбрать наиболее подходящий протокол инфузионной и медикаментозной терапии.
Узнать больше – http://тайный-вывод-из-запоя.рф/vyvod-iz-zapoya-na-domu-v-samare/
Этот обзор содержит информацию о передовых достижениях в области медицины. Мы разберем инновационные технологии, которые меняют подход к лечению и диагностике, а также их влияние на эффективность оказания медицинской помощи.
Все материалы собраны здесь – анонимное кодирование от алкоголизма
Читатели получат представление о том, как современные технологии влияют на развитие медицины. Обсуждаются новые методы лечения, персонализированный подход и роль цифровых решений в повышении качества медицинских услуг.
Заходи — там интересно – deltaclinic рязань
Пил неделю, потом резко бросил. Трясло так, что чашку не мог удержать. Ломка нарколог на дому — это когда врач приезжает сам. Сначала уходит интоксикация. Выезд нарколога на дом — Без осуждения и лишних вопросов. Можете ознакомиться по ссылке: врач нарколог на дом круглосуточно врач нарколог на дом круглосуточно И про срочный выезд для Москвы. Не тяните до последнего.
Такой подход позволяет сформировать устойчивую мотивацию и создать основу для дальнейшей социальной и психологической реабилитации, направленной на стабилизацию состояния пациента и возвращение его к полноценной жизни.
Подробнее тут – платная наркологическая клиника в санкт-петербурге
В этой статье мы подробно рассматриваем проверенные методы борьбы с зависимостями, включая психотерапию, медикаментозное лечение и поддержку со стороны общества. Мы акцентируем внимание на важности комплексного подхода и возможности успешного восстановления для людей, столкнувшихся с этой проблемой.
Кликни и узнай всё! – центр кодирования от алкоголизма
thank you
Комплексное лечение зависимости строится с учетом физической и психической составляющих болезни. Врач оценивает состояние человека, длительность употребления алкоголя или наркотиков, наличие хронического заболевания, особенности поведения и мотивацию к трезвости. На основании первичной диагностики составляется индивидуальный план. В зависимости от ситуации лечение возможно на дому, амбулаторно или в стационаре клиники. Если человеку требуется срочный вывод из запоя, круглосуточная помощь позволяет вызвать нарколога домой либо организовать госпитализацию в комфортный стационар.
Подробнее – наркологическая клиника на дом
Каждом этапе врач контролирует эффективность назначений и при необходимости проводит коррекцию программы. Главный ориентир лечения — безопасное восстановление и формирование устойчивой трезвости, а не кратковременное снятие неприятных проявлений зависимости.
Подробнее – анонимная наркологическая частная клиника
Вызов нарколога на дом и круглосуточная поддержка в условиях стационара — ключевая услуга клиники «НаркоЦентр», направленная на оказание экстренной и плановой помощи пациентам с алкогольной и наркотической зависимостью. Мы понимаем, что запой или интоксикация могут развиться внезапно, поэтому врач выезжает в любой район Екатеринбурга и ближайшего подмосковья менее чем за 30 минут. При этом круглосуточное дежурство специалистов позволяет продолжить наблюдение и поддержку в стенах клиники, если домашние условия оказываются недостаточно безопасными или комфортными.
Подробнее тут – скорая наркологическая помощь в екатеринбурге
В клинике применяются различные методики, включая медикаментозную терапию, психотерапию и комплексную реабилитацию. Врачебная команда использует доказанные протоколы лечения, что подтверждается рекомендациями ведущих специалистов в области наркологии и психиатрии. Подробнее о современных методах можно узнать на сайте Министерства здравоохранения РФ.
Выяснить больше – http://narkologicheskaya-klinika-sochi0.ru/chastnaya-narkologicheskaya-klinika-sochi/
При ухудшении сознания, судорогах, выраженной боли, нарушении дыхания или психозе не следует ограничиваться заявкой на обычную капельницу на дому. В таких ситуациях необходимо сообщить диспетчеру обо всех симптомах: специалист оценит срочность, а при наличии угрожающих жизни признаков следует вызвать скорую помощь. Безопасность человека имеет приоритет перед скоростью проведения детокса.
Узнать больше – https://4.kapelnica-ot-zapoya-v-moskve14.ru/
Наркологическая клиника в Екатеринбурге уделяет большое внимание психотерапевтическим методам. Индивидуальный подход к пациенту позволяет выявить причины и особенности зависимости, сформировать устойчивую мотивацию на лечение и отказ от вредных привычек.
Исследовать вопрос подробнее – бесплатная наркологическая клиника екатеринбург
Капельница на дому не сводится к механическому введению раствора. Медик оценивает состояние пациента, давление, пульс, температуру, показатели крови при наличии результатов, переносимость препаратов и вероятность осложнений. Для медицинского персонала важны качество процедуры, корректная дозировка и контроль реакции организма. Выездной формат особенно удобен пожилому человеку, человеку со сниженной физической активностью или тому, кому тяжело посещать клиники самостоятельно.
Изучить вопрос подробнее – капельница на дом анонимно
Выезд нарколога обеспечивает безопасность и комфорт пациента, позволяя провести лечение в привычной обстановке. Все процедуры выполняются с соблюдением медицинских стандартов и с применением сертифицированных препаратов. Такой подход особенно важен для людей, желающих сохранить анонимность обращения. Наркологическая помощь на дому включает диагностику, постановку капельницы, медикаментозную поддержку и рекомендации по дальнейшему восстановлению организма.
Получить дополнительную информацию – психиатр нарколог на дом челябинск
Капельница на дому позволяет провести назначенное внутривенное лечение без поездки в медицинский центр, если показатели здоровья позволяют выбрать выездной формат. «Элегия Мед» организует медицинские услуги в Москве с приездом врача или медсестры по указанному адресу. Перед постановкой системы специалист собирает анамнез, оценивает жалобы, изучает анализы, уточняет лекарства, хронические заболевания и противопоказания. Капельница на дому проводится с применением стерильных материалов и только при наличии медицинских оснований.
Ознакомиться с деталями – vyzvat-kapelnicu-na-dom
Весь процесс можно представить следующим образом:
Углубиться в тему – https://narkolog-na-dom-v-chelyabinske16.ru/narkolog-vyzov-na-dom-chelyabinsk
Не каждый эпизод употребления спиртного требует стационарного лечения, однако продолжительный запой сопровождается накоплением токсичных продуктов распада этанола и нарушением работы внутренних органов. Чем дольше человек продолжает пить, тем выше вероятность обезвоживания, дефицита витаминов, нарушения электролитного баланса, проблем с сердцем, печенью, желудком и нервной системой. Вывод из запоя под контролем врача позволяет уменьшить нагрузку на организм и своевременно заметить признаки опасных осложнений.
Дополнительная информация – вывод из запоя на дому круглосуточно в Красноярске
Вызов нарколога на дом и круглосуточная поддержка в условиях стационара — ключевая услуга клиники «НаркоЦентр», направленная на оказание экстренной и плановой помощи пациентам с алкогольной и наркотической зависимостью. Мы понимаем, что запой или интоксикация могут развиться внезапно, поэтому врач выезжает в любой район Екатеринбурга и ближайшего подмосковья менее чем за 30 минут. При этом круглосуточное дежурство специалистов позволяет продолжить наблюдение и поддержку в стенах клиники, если домашние условия оказываются недостаточно безопасными или комфортными.
Разобраться лучше – платная наркологическая помощь
Капельница от запоя в центре «Мед Алко» в Москве применяется как один из методов медицинской детоксикации и симптоматической помощи после длительного употребления алкоголя. Когда больному плохо, врач оценивает продолжительность запоя, примерное количество выпитого спиртного, симптомы интоксикации, хронические и сопутствующие заболевания, уровень сознания, давление, пульс и общее физическое состояние. Только после осмотра нарколог решает, возможна ли капельница на дому или пациенту безопаснее пройти лечение в стационаре клиники. Индивидуальный подход позволяет определить состав раствора, необходимые препараты, продолжительность процедуры и дальнейшие этапы восстановления.
Изучить вопрос подробнее – вызвать капельницу на дом от запоя анонимно
Схема помощи зависит от состояния, стажа употребления, противопоказаний и дальнейших целей лечения.
Узнать больше – сколько стоит капельница на дому
Вывод из запоя является одной из наиболее востребованных услуг наркологической клиники. Длительный прием алкоголя приводит к накоплению токсичных продуктов распада этанола, обезвоживанию, нарушениям сна, работы сердечно-сосудистой и нервной системы. Чем дольше продолжается запой, тем выше вероятность осложнений. Медицинский вывод из запоя помогает прекратить употребление под контролем врача и начать лечение алкоголизма без опасных самостоятельных экспериментов.
Изучить вопрос подробнее – наркологические клиники в области
В клинике в Сочи реализованы современные протоколы мониторинга состояния пациентов, включая лабораторные исследования и консультации профильных специалистов. Это позволяет своевременно корректировать лечение и минимизировать возможные осложнения. Более подробно о диагностике можно узнать на портале Российского общества наркологов.
Подробнее тут – наркологическая клиника краснодарский край
С пациентом работают профильные специалисты, которые оценивают состояние и подбирают безопасный план помощи.
Узнать больше – капельница от запоя клиника москва
Мы сознательно фиксируем не только «медицинские» параметры, но и бытовые маркеры: сколько воды выпито, как переносится тёплая пища малыми порциями, какой свет в комнате перед сном. Эти детали активно упоминаются в клинических рекомендациях, потому что нередко именно они решают исход первой ночи лучше, чем попытка «усилить» таблеткой.
Получить дополнительную информацию – http://narkologicheskaya-klinika-stavropol15.ru/narkolog-stavropol/
Заявку можно оставить в любое время, специалист быстро сориентирует по дальнейшим действиям.
Ознакомиться с деталями – капельницы от запоя недорого
Помогаем быстро перейти от консультации к конкретному плану: выезд, стационар или наблюдение.
Ознакомиться с деталями – наркологическая клиника
В данной статье рассматриваются физиологические и эмоциональные аспекты зависимости. Мы обсудим, как организм реагирует на зависимое поведение, и какие методы помогают восстановить здоровье и внутреннее равновесие.
Ознакомиться с теоретической базой – наркологическая клиника дельта в рязани
Чем дольше человек употребляет алкоголь, тем больше факторов врач учитывает перед постановкой капельницы. Запой продолжительностью несколько дней и длительного характера способен сопровождаться выраженным обезвоживанием, изменением концентрации натрия, калия и магния, нарушением ритма сердца и обменными проблемами. Капельница в таких условиях требует особенно тщательного выбора компонентов. Врач клиники оценивает не только последние сутки, но и характер регулярного употребления за недели или месяцев, наличие предыдущих эпизодов абстиненции и реакцию организма на лечение.
Изучить вопрос подробнее – zakazat-kapelnicu-ot-zapoya-na-domu
Наркологическая клиника в клинике в Санкт-Петербурге предлагает широкий спектр медицинских и психотерапевтических услуг, направленных на устранение химической зависимости и стабилизацию психоэмоционального состояния пациентов. Современные методики терапии, внедрённые в практику, позволяют добиваться устойчивых результатов без чрезмерного медикаментозного вмешательства и с учётом индивидуальных особенностей каждого человека. Основой лечения является комплексный подход, включающий детоксикацию, коррекцию поведения и восстановление когнитивных функций. Применение мультидисциплинарных схем обеспечивает снижение риска рецидива и повышение мотивации к трезвому образу жизни.
Подробнее можно узнать тут – https://narkologicheskaya-klinika-v-spb16.ru/narkologicheskaya-bolnicza-sankt-peterburg
Капельница, устанавливаемая наркологом на дому в Челябинске, помогает быстро очистить организм от токсинов и нормализовать водно-солевой баланс. Растворы включают витамины, анальгетики, седативные и гепатопротекторные препараты. Эффект от процедуры ощущается уже через 20–30 минут. Капельница снижает головную боль, устраняет тошноту, восстанавливает работу печени и сердечно-сосудистой системы. Такой метод считается одним из самых эффективных способов вывести пациента из запойного или абстинентного состояния без визита в стационар.
Изучить вопрос глубже – вызвать нарколога на дом челябинск
Вывод из запоя в Балашихе нужен, когда человек не может самостоятельно остановиться, а очередная попытка отказаться от алкоголя сопровождается слабостью, тревогой, бессонницей, головной болью, тошнотой, скачками артериального давления или выраженной абстиненцией. «Частный Медик 24» оказывает помощь на дому и в клинике: нарколог оценивает состояние пациента, уточняет анамнез, длительность запоя, наличие хронических болезней и подбирает лечение. Выезд доступен круглосуточно, включая выходные, а в тяжелом случае врач может предложить лечение в стационаре. Такой вывод из запоя ориентирован на безопасное снятие острых проявлений, очищение организма и подготовку к дальнейшему лечению алкоголизма.
Получить больше информации – вывод из запоя на дому балашиха цены
Наши специалисты оценивают клинические признаки запоя уже при первом осмотре — измеряют пульс, артериальное давление и насыщение кислородом, осматривают кожу и слизистые оболочки на предмет обезвоживания. Специальные тесты на когнитивные функции позволяют определить степень дезориентации и риск развития острых психотических реакций.
Получить дополнительные сведения – https://тайный-вывод-из-запоя.рф/vyvod-iz-zapoya-czena-v-samare/
Необходимость экстренной выездной помощи возникает в случаях, когда пациент:
Детальнее – http://тайный-вывод-из-запоя.рф/vyvod-iz-zapoya-czena-v-samare/
Мы обеспечиваем полную поддержку на всех этапах лечения в Челябинске, включая реабилитацию и профилактику рецидивов. Мы поможем вам не только преодолеть зависимость, но и поддержим вас на пути к трезвой жизни.
Разобраться лучше – вывод из запоя цена челябинск
Помогаем быстро перейти от консультации к конкретному плану: выезд, стационар или наблюдение.
Получить больше информации – kapelnica-na-domu-moskva-ceny
Специалисты регулярно помогают при интоксикации, запоях, абстиненции и сложных состояниях зависимости.
Узнать больше – вызов капельницы на дом
Такая последовательность обеспечивает медицинскую точность и безопасность процедуры, позволяя добиться быстрого улучшения самочувствия без необходимости госпитализации.
Подробнее – https://narkolog-na-dom-v-chelyabinske16.ru/narkolog-chelyabinsk-sovetskij-rajon/
Схема помощи зависит от состояния, стажа употребления, противопоказаний и дальнейших целей лечения.
Дополнительная информация – сколько стоит капельница на дому
В этой статье мы обсудим процесс восстановления после зависимостей, акцентируя внимание на различных методах и подходах к реабилитации. Читатели узнают, как создать план выздоровления и использовать полезные ресурсы для достижения устойчивых изменений.
Читать дальше – реабилитация алкоголиков
Вывод из запоя в Красноярске рассматривается как наркологическая помощь, которую можно получить на дому или в клинике. Лечение запоя начинается с обращения к врачу: врач оценивает ситуацию, выбирает формат помощи и определяет, какое лечение подходит в конкретном случае. Наркологическая услуга может быть организована анонимно, а данные обращения используются в рамках выбранной услуги. Если требуется вывод на дому, нарколог приезжает домой; если нужен стационарный формат, лечение продолжается в клинике.
Узнать больше – нарколог вывод из запоя Красноярск