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://vyvod-iz-zapoya-na-domu-sankt-peterburg-11.ru/
Запой – это состояние, при котором человек продолжает употреблять алкоголь в течение длительного времени, не в состоянии прекратить употребление самостоятельно, что является проявлением алкоголизма. Это может привести к серьезным проблемам со здоровьем, и в таком случае необходим вывод из запоя с помощью наркологической помощи, при этом в дальнейшем может рассматриваться кодирование.
Исследовать вопрос подробнее – вывод из запоя на дому круглосуточно екатеринбург
thx
Непрерывный мониторинг витальных показателей — ключевое отличие стационарного формата, обеспечивающее безопасную детоксикацию. В палатах клиники «Элегия Мед» установлены системы отслеживания частоты пульса, сатурации, температуры и артериального давления, данные с которых автоматически передаются в электронную медицинскую карту. Медицинский персонал дежурит круглосуточно, что обеспечивает мгновенную реакцию на ухудшение состояния: коррекцию инфузионной терапии, введение симптоматических препаратов, привлечение смежных специалистов при необходимости. Такая организация процесса исключает хаотичное назначение средств, предотвращает полипрагмазию и гарантирует, что каждый этап детоксикации проходит под строгим клиническим контролем. При необходимости применяются дополнительные методы очищения крови, включая плазмаферез, который эффективно помогает вывести стойкие токсины и метаболиты, не удаляемые стандартной инфузионной терапией.
Получить дополнительную информацию – вывод из запоя в стационаре анонимно санкт-петербург
Вывод из запоя — это не только медицинская процедура, направленная на снятие интоксикации, но и важный этап стабилизации организма. В клинике «АмурМед Контур» в Хабаровске детоксикация проводится под контролем опытных наркологов, терапевтов и анестезиологов. Пациенты получают помощь в круглосуточном режиме, а лечение осуществляется строго по медицинским показаниям. Такой подход позволяет безопасно устранить последствия длительного употребления алкоголя и предотвратить осложнения со стороны сердца, печени и нервной системы.
Получить больше информации – вывод из запоя клиника
Процесс лечения в «ВолгаМед Баланс» выстроен логично и последовательно. Каждый этап направлен на достижение конкретных медицинских и психологических целей. Ниже приведена таблица, описывающая ключевые стадии терапии.
Подробнее тут – наркологическая клиника нарколог тольятти
Вывод из запоя — это комплексная медицинская процедура, направленная на устранение интоксикации, стабилизацию состояния и восстановление нормальной работы организма. В клинике «АвтоГрад МедСтаб» в Тольятти данная помощь оказывается в условиях круглосуточного наблюдения и индивидуального подхода. Врачи-наркологи применяют сертифицированные препараты и безопасные методы дезинтоксикации, что позволяет быстро снять абстинентные симптомы, восстановить водно-солевой баланс и нормализовать работу нервной системы. Все процедуры проводятся анонимно, без постановки на учёт, с соблюдением медицинской этики и конфиденциальности.
Изучить вопрос глубже – анонимный вывод из запоя в тольятти
В практике лечения на дому применяются следующие этапы медицинского воздействия:
Получить больше информации – https://narkolog-na-dom-v-rnd19.ru/narkolog-rostov-na-donu/
Этот процесс не занимает много времени — обычно процедура длится от 30 до 60 минут. Важно, что врач контролирует все этапы, обеспечивая безопасность пациента и корректируя терапию по мере необходимости. Такой подход позволяет быстро и эффективно облегчить симптомы похмелья и вернуться к нормальной жизнедеятельности.
Выяснить больше – капельница от похмелья цена
В Нижнем Новгороде выезд нарколога на дом используется при состояниях, требующих оперативной медицинской оценки и начала терапии. Врач приезжает с необходимыми препаратами, проводит осмотр и формирует план лечения на месте. Такой формат позволяет сократить время до начала помощи и снизить нагрузку на пациента.
Получить дополнительную информацию – вызов наркологической помощи
casino https://graph.org/MrGreen-DK-bringer-Plinko-til-danske-spillere-04-16-61
casino https://graph.org/MisterGreen-and-the-Pilot-Accident-Game-Wonder-04-16-4
casino https://graph.org/MisterGreen-and-the-Pilot-Accident-Challenge-Phenomenon-04-16-3
Лечение алкоголизма в Сергиевом Посаде важно рассматривать не как разовую «чистку» или временный перерыв, а как последовательный маршрут. Самый уязвимый период — первые 24–72 часа после прекращения употребления: днём может стать легче, но к вечеру и ночью волной возвращаются тревога и бессонница, усиливается внутреннее напряжение, появляются телесные симптомы. В этот момент человек чаще всего срывается, потому что ему кажется, что «иначе не выдержу». Поэтому качественная помощь строится так, чтобы пациент прошёл вечер и ночь безопасно, с понятными ориентирами и медицинской поддержкой, а затем перешёл к восстановлению и профилактике рецидива.
Получить дополнительную информацию – centr-lecheniya-alkogolizma
В Хабаровске востребован системный подход к терапии зависимостей, так как клиническая картина часто осложняется сопутствующими заболеваниями, нарушениями обмена веществ и расстройствами нервной системы. Медицинская помощь организуется с учётом тяжести состояния и индивидуальных факторов риска.
Подробнее можно узнать тут – http://narkologicheskaya-klinika-khabarovsk0.ru
Качественная наркологическая помощь строится от безопасности к устойчивости. Сначала врач оценивает состояние: длительность употребления, выраженность интоксикации и отмены, давление и пульс, признаки обезвоживания, характер сна, уровень тревоги, наличие хронических заболеваний и препаратов, которые уже принимались дома. Затем выбирается формат лечения — стационарный, амбулаторный или выездной — исходя из рисков, а не из удобства. Это принципиально: при нестабильных показателях и высокой вероятности осложнений требуется более высокий уровень контроля.
Подробнее можно узнать тут – наркологическая клиника московская московская область
thx
Эта статья погружает вас в увлекательный мир знаний, где каждый факт становится открытием. Мы расскажем о ключевых исторических поворотных моментах и научных прорывах, которые изменили ход цивилизации. Поймите, как прошлое формирует настоящее и как его уроки могут помочь нам строить будущее.
Хочешь знать всё? – нарколог на дом круглосуточно
В этой статье-обзоре мы соберем актуальную информацию и интересные факты, которые освещают важные темы. Читатели смогут ознакомиться с различными мнениями и подходами, что позволит им расширить кругозор и глубже понять обсуждаемые вопросы.
Как достичь результата? – прокапаться воронеж
thx
thx
thx
Этот информативный текст отличается привлекательным содержанием и актуальными данными. Мы предлагаем читателям взглянуть на привычные вещи под новым углом, предоставляя интересный и доступный материал. Получите удовольствие от чтения и расширьте кругозор!
Читать далее > – капельница от алкоголя на дому цена
thx
Этот обзор предлагает структурированное изложение информации по актуальным вопросам. Материал подан так, чтобы даже новичок мог быстро освоиться в теме и начать использовать полученные знания в практике.
Всё, что нужно знать – наркологическая помощь на дому
Далее выполняется медицинская детоксикация: корректируется водно-электролитный баланс, снимается интоксикация, поддерживается работа сердечно-сосудистой системы, снижается тремор, стабилизируется сон и тревожность. Важно, что схема подбирается индивидуально: при разных рисках объём поддержки будет различаться. В ряде случаев достаточно амбулаторного наблюдения и рекомендаций, в других — нужен стационар, чтобы контролировать динамику и вовремя корректировать терапию.
Углубиться в тему – moskva-vyvod-iz-zapoya
В данной публикации мы поговорим о процессе восстановления от зависимости, о том, как вернуть себе нормальную жизнь. Мы обсудим преодоление трудностей, значимость поддержки и наличие программ реабилитации. Читатели смогут узнать о ключевых шагах к успешному восстановлению.
Получить дополнительную информацию – капельница от запоя
Предлагаем вашему вниманию интересную справочную статью, в которой собраны ключевые моменты и нюансы по актуальным вопросам. Эта информация будет полезна как для профессионалов, так и для тех, кто только начинает изучать тему. Узнайте ответы на важные вопросы и расширьте свои знания!
Погрузиться в научную дискуссию – платный врач нарколог на дом
В этой статье рассматриваются различные аспекты избавления от зависимости, включая физические и психологические методы. Мы обсудим поддержку, мотивацию и стратегии, которые помогут в процессе выздоровления. Читатели узнают, как преодолеть трудности и двигаться к новой жизни без зависимости.
Не упусти шанс – капельница от алкоголя на дому
thx
thx
thx
Процесс выезда врача организован последовательно и включает несколько этапов, направленных на быстрое восстановление пациента. Ниже представлена таблица с основными шагами процедуры.
Выяснить больше – нарколог на дом вывод из запоя тольятти
В данной статье рассматриваются физиологические и эмоциональные аспекты зависимости. Мы обсудим, как организм реагирует на зависимое поведение, и какие методы помогают восстановить здоровье и внутреннее равновесие.
Следуйте по ссылке – вызвать капельницу от алкоголя
В этой статье собраны факты, которые освещают целый ряд важных вопросов. Мы стремимся предложить читателям четкую, достоверную информацию, которая поможет сформировать собственное мнение и лучше понять сложные аспекты рассматриваемой темы.
Читать далее > – анонимный врач нарколог на дом
Нарколог на дом в Екатеринбурге: анонимная помощь при алкоголизме, вывод из запоя и поддержка специалистов в наркологической клинике «НЕО+».
Получить дополнительную информацию – запой нарколог на дом
В этой статье мы рассматриваем разные способы борьбы с алкогольной зависимостью. Обсуждаются методы лечения, программы реабилитации и советы для поддержки близких. Читатели получат информацию о том, как преодолеть зависимость и добиться успешного выздоровления.
Полезно знать – капельница от похмелья в домашних условиях
В данном материале представлены ключевые тенденции в сфере медицинской науки и практики. Вы узнаете о последних открытиях, инновационных подходах к терапии и важности профилактики заболеваний. Особое внимание уделено практическому применению новых методов в клинической практике.
Открой скрытое – нарколог домой
В этом обзоре представлены различные методы избавления от зависимости, включая терапевтические и психологические подходы. Мы сравниваем их эффективность и предоставляем рекомендации для тех, кто хочет вернуться к трезвой жизни. Читатели смогут найти информацию о реабилитационных центрах и поддерживающих группах.
Желаете узнать подробности? – прокапаться с похмелья
Процедура начинается с осмотра пациента. Врач измеряет давление, пульс, оценивает общее состояние и выраженность симптомов. На основании этих данных формируется состав капельницы и план лечения. Такой подход позволяет учитывать индивидуальные особенности пациента и эффективно провести вывод из запоя.
Получить больше информации – капельница от похмелья цена
Вывод из запоя на дому с быстрым облегчением в Екатеринбурге является эффективным методом для тех, кто хочет быстро избавиться от неприятных симптомов абстиненции, не выходя из дома. Основное преимущество этого метода — это быстрый результат, минимальные риски для здоровья и отсутствие необходимости в стационарном лечении. Процедура, проводимая опытным медицинским специалистом, помогает не только устранить симптомы похмелья, но и восстановить нормальное состояние организма без стресса и неудобств для пациента.
Изучить вопрос глубже – http://vyvod-iz-zapoya-na-domu-ekaterinburg-19.ru/
Запой сопровождается выраженной интоксикацией, нарушением сна, слабостью и нестабильностью работы сердечно-сосудистой системы, что характерно для алкоголизма и других форм зависимости, включая наркомании. Самостоятельный выход из этого состояния может быть затруднён и сопровождаться усилением симптомов. Медицинская помощь на дому позволяет снизить риски и начать восстановление под контролем специалиста, помогая человеку быстрее стабилизировать состояние.
Выяснить больше – вывод из запоя на дому круглосуточно
Первичный этап, с которого начинается вывод из запоя в Тольятти, включает подробную клиническую оценку состояния пациента. В клинике «Чистый Горизонт» на этом этапе анализируются жалобы, длительность запоя и наличие сопутствующих заболеваний, способных повлиять на переносимость терапии.
Получить дополнительные сведения – вывод из запоя капельница на дому в тольятти
Диагностика позволяет установить степень интоксикации, выраженность абстинентного синдрома и наличие сопутствующих заболеваний, которые могут влиять на переносимость терапии.
Исследовать вопрос подробнее – http://narkologicheskaya-klinika-v-tolyatti0.ru/
Процедура вывода из запоя на дому включает несколько ключевых этапов, которые обеспечивают максимально быстрое и безопасное восстановление пациента. Эти этапы тщательно контролируются врачом, что минимизирует риски и помогает достичь наилучших результатов.
Детальнее – анонимный вывод из запоя на дому
Ниже представлена таблица с ключевыми направлениями терапии, применяемыми в клинике, и их особенностями.
Ознакомиться с деталями – наркологическая клиника цены в ростове-на-дону
Вызов нарколога на дом в Хабаровске осуществляется при наличии клинических показаний, при которых выездная помощь является обоснованной и безопасной. В клинике «Ясный Вектор» решение о формате вмешательства принимается с учётом жалоб, анамнеза и предполагаемой тяжести состояния.
Подробнее можно узнать тут – вызвать нарколога на дом срочно хабаровск
Лечение запойного состояния строится на сочетании детоксикационных и поддерживающих мероприятий. Основная задача терапии заключается в снижении концентрации токсинов и восстановлении нарушенных регуляторных механизмов. При этом особое внимание уделяется сохранению стабильности внутренних систем организма.
Подробнее можно узнать тут – http://vyvod-iz-zapoya-khabarovsk0.ru
thx
I’m not sure exactly why but this web site is loading extremely slow for me. Is anyone else having this issue or is it a issue on my end? I’ll check back later on and see if the problem still exists.
buy valium online without prescrition xxx pornhub pills