蓝屏,谁之过?

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隐藏得太深,总让人捉摸不定!>

6,625 条评论

  1. Лечебные мероприятия строятся на основе поэтапного внедрения терапевтических решений, которые опираются на индивидуальные характеристики пациента. Уточнение анамнеза, анализ данных обследований и выявление сопутствующих факторов позволяют создавать эффективные и прогнозируемые программы лечения. В клинике соблюдается строгая последовательность процедур, направленная на снижение рисков и обеспечение безопасности. На каждом этапе проводится проверка клинической реакции, что позволяет своевременно выявлять необходимость корректировки и адаптировать лечебные меры под текущую картину.
    Изучить вопрос глубже – платная наркологическая клиника

  2. На данном этапе врач уточняет длительность запоя, тип употребляемого алкоголя и наличие сопутствующих заболеваний. Тщательный анализ этих данных позволяет оперативно сформировать индивидуальный план лечения и выбрать оптимальные методы детоксикации.
    Подробнее можно узнать тут – капельница от запоя на дому круглосуточно архангельск

  3. Процесс лечения проходит поэтапно. Каждый шаг направлен на снятие интоксикации, стабилизацию состояния и нормализацию обменных процессов. В таблице приведены основные этапы и процедуры, применяемые в клинике «ПензаМед Трезвость».
    Подробнее тут – вывод из запоя в стационаре пенза

  4. На этом этапе специалист уточняет продолжительность запоя, тип употребляемого алкоголя и наличие сопутствующих заболеваний, что позволяет разработать персонализированный план терапии и оперативно выбрать методы детоксикации.
    Получить дополнительную информацию – капельница от запоя на дому круглосуточно архангельск

  5. Эта познавательная публикация погружает вас в море интересного контента, который быстро захватит ваше внимание. Мы рассмотрим важные аспекты темы и предоставим вам уникальные Insights и полезные сведения для дальнейшего изучения.
    Смотрите также… – https://psygolos.ru/forums/topic/nuzhna-kapelnicza-ot-zapoya

  6. Самолечение или попытка «переждать» запой дома без врача может обернуться серьёзными осложнениями. Обращение к наркологу даёт пациенту:
    Ознакомиться с деталями – https://narko-zakodirovan.ru/

  7. Эта публикация погружает вас в мир увлекательных фактов и удивительных открытий. Мы расскажем о ключевых событиях, которые изменили ход истории, и приоткроем завесу над научными достижениями, которые вдохновили миллионы. Узнайте, чему может научить нас прошлое и как применить эти знания в будущем.
    Лучшее решение — прямо здесь – http://chebill.com/pridobite-modrost-razumevanje

  8. В данной обзорной статье представлены интригующие факты, которые не оставят вас равнодушными. Мы критикуем и анализируем события, которые изменили наше восприятие мира. Узнайте, что стоит за новыми открытиями и как они могут изменить ваше восприятие реальности.
    Читать далее > – https://www.sixvegansisters.com/2021/11/19/brown-sugar-cookies

  9. Мы собрали для вас самые захватывающие факты из мира науки и истории. От малознакомых деталей до грандиозных событий — эта статья расширит ваш кругозор и подарит новое понимание того, как устроен наш мир.
    Изучить материалы по теме – https://jcconcept.fr/index.php/2024/12/16/bonjour-tout-le-monde

  10. В этом обзорном материале представлены увлекательные детали, которые находят отражение в различных аспектах жизни. Мы исследуем непонятные и интересные моменты, позволяя читателю увидеть картину целиком. Погрузитесь в мир знаний и удивительных открытий!
    Не упусти важное! – https://seooptimizationdirectory.com/Travel/Destination-Guides/Entertainment/Science-and-Technology/Forensics

  11. Эта обзорная заметка содержит ключевые моменты и факты по актуальным вопросам. Она поможет читателям быстро ориентироваться в теме и узнать о самых важных аспектах сегодня. Получите краткий курс по современной информации и оставайтесь в курсе событий!
    Изучить рекомендации специалистов – https://korenagakazuo.com/2008/05/26/%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%AA%E3%81%84%E7%B5%84%E7%B9%94%E3%81%AF%E3%81%AA%E3%81%84

  12. Наши наркологи придерживаются принципов уважительного и внимательного отношения к пациентам, создавая атмосферу доверия. Они проводят детальное обследование, выявляют коренные причины зависимости и разрабатывают индивидуальные стратегии лечения. Профессионализм и компетентность врачей являются ключевыми факторами успешного восстановления пациентов.
    Подробнее – https://нарко-фильтр.рф/vivod-iz-zapoya-anonimno-v-rostove-na-donu/

  13. Основной этап включает постановку капельницы с растворами, направленными на выведение токсинов, восстановление водно-солевого баланса и нормализацию работы внутренних органов. В состав могут входить витамины, седативные препараты, гепатопротекторы и кардиопротекторные средства. В случае ломки и снятия симптомов зависимости у больного, все препараты подбираются индивидуально, чтобы минимизировать дискомфорт и ускорить восстановление.
    Ознакомиться с деталями – нарколог на дом анонимно в самаре

  14. Если симптомы похмелья становятся настолько выраженными, что мешают нормальному функционированию, капельница становится необходимостью. Это особенно важно, если организм не справляется с токсинами самостоятельно.
    Исследовать вопрос подробнее – капельница от похмелья вызов на дом

  15. Мы предлагаем вам окунуться в океан любопытных фактов и вдохновляющих историй. Эта публикация поможет расширить горизонты, разбудить интерес к науке и истории и увидеть мир с новой стороны.
    Изучить эмпирические данные – https://watercoolersuae.com/2024/04/25/understanding-electrical-codes-a-guide-for-diy-enthusiasts

  16. Эта статья сочетает познавательный и занимательный контент, что делает ее идеальной для любителей глубоких исследований. Мы рассмотрим увлекательные аспекты различных тем и предоставим вам новые знания, которые могут оказаться полезными в будущем.
    Выяснить больше – https://binvcc.com/product/buy-contabo-cloud-accounts

  17. В этом обзорном материале представлены увлекательные детали, которые находят отражение в различных аспектах жизни. Мы исследуем непонятные и интересные моменты, позволяя читателю увидеть картину целиком. Погрузитесь в мир знаний и удивительных открытий!
    Обратиться к источнику – https://www.groupe-huillier.fr/2021/01/26/carrossier-peintre-vp-vul-sisteron

  18. Капельница от запоя — это эффективное медицинское вмешательство, направленное на быстрое восстановление организма после длительного злоупотребления алкоголем. Процесс лечения с использованием капельницы способствует быстрому выводу токсинов, восстановлению водно-электролитного баланса и нормализации общего состояния пациента. Капельница оказывает комплексное воздействие на организм, улучшая его самочувствие уже в течение первых часов после процедуры.
    Детальнее – http://kapelnica-ot-zapoya-nizhnij-novgorod-5.ru/

  19. Избавление от наркотической зависимости требует последовательной, профессиональной и комплексной помощи. В отличие от краткосрочной детоксикации, полноценное лечение наркомании в Мурманске включает медицинскую стабилизацию, психотерапевтическую коррекцию и этапы социальной адаптации. По данным Минздрава РФ, устойчивые результаты достигаются лишь в тех случаях, когда терапия проводится под наблюдением специалистов, использующих современные доказательные методы.
    Разобраться лучше – centr lecheniya narkomanii murmansk

  20. Избавление от наркотической зависимости требует последовательной, профессиональной и комплексной помощи. В отличие от краткосрочной детоксикации, полноценное лечение наркомании в Мурманске включает медицинскую стабилизацию, психотерапевтическую коррекцию и этапы социальной адаптации. По данным Минздрава РФ, устойчивые результаты достигаются лишь в тех случаях, когда терапия проводится под наблюдением специалистов, использующих современные доказательные методы.
    Подробнее тут – лечение наркомании мурманская область

  21. Наша команда видит задачу шире, чем просто снять интоксикацию: важно вернуть предсказуемое засыпание, успокоить вегетативную систему, снизить тревожность и объяснить семье, как мягко поддержать человека, не обесценивая и не провоцируя конфликты. Поэтому медицинские вмешательства поддержаны «сенсорной дисциплиной» (свет, тишина, отсутствие резких запахов), простыми ритуалами вечера и короткими чек-инами на следующий день. Такой формат помогает не только «пережить ночь», но и спокойно пройти первые двое суток, когда риск откатов особенно высок.
    Подробнее можно узнать тут – вывод из запоя вызов в нижнем тагиле

  22. Запой — это не только усталость и похмелье. В первые часы нарастают обезвоживание, электролитные сдвиги, скачки давления и пульса, усиливается тревога, нарушается сон и аппетит. На этом фоне резко возрастает риск аритмий, судорожной готовности, ухудшения когнитивных функций и травм вследствие падений. «МедТоника» организует помощь так, чтобы человек не оставался один на один с симптомами: с первого звонка дежурный врач уточняет длительность и объём употребления, принимает во внимание сопутствующие заболевания и лекарства, оценивает риски по давлению, пульсу, сатурации и ориентирует, где безопаснее стартовать — на дому или в стационаре. Цель первых суток — снять интоксикацию, стабилизировать жизненно важные показатели, вернуть управляемость сну и поведению, чтобы далее перейти к предсказуемой стабилизации. Когда есть ясный план на 48–72 часа, снижается вероятность срыва и импульсивных решений, которые обычно и ломают прогресс.
    Получить больше информации – vyvod-iz-zapoya-moskva99.ru/

  23. Решение всегда клиническое. Домашний или амбулаторный формат уместен, если показатели устойчивы: нет упорной рвоты, высокой температуры, выраженной дезориентации, резких «качелей» давления/пульса, признаков тяжёлого обезвоживания с риском судорог. Тогда один выезд часто закрывает задачу: индивидуальная инфузия, письменные рекомендации, утренний контроль — и человек входит в устойчивый ритм. Если картина «по краю» (лихорадка, упорная рвота, кардиальные жалобы, вторая бессонная ночь, сильный тремор) — честнее краткая стационарная стабилизация на 24–48 часов под круглосуточным мониторингом. На бумаге стационар дороже одного выезда, но в реальности он короче и предсказуемее: дефициты закрываются быстрее, дозы подстраиваются точнее, а первая ровная ночь достигается без «дорогих» откатов. В любом сценарии анонимность неизменна: закрытые каналы связи, визиты без маркировки, разнесённые по времени приёмы и доступ к данным по ролям.
    Получить дополнительные сведения – https://kapelnica-ot-zapoya-lyubercy9.ru/kapelnica-ot-zapoya-na-domu-lyubercy/

  24. Главное преимущество такого выезда в том, что лечение начинается сразу. Не нужно ждать утра, искать транспорт, уговаривать человека ехать в тяжёлом состоянии или рисковать, пока он снова тянется к алкоголю, чтобы временно заглушить симптомы. Домашний визит даёт возможность быстро стабилизировать ситуацию и убрать хаотичность, которая часто возникает в семье в острый момент.
    Подробнее – запой нарколог на дом

  25. В подобных случаях время играет против пациента. Чем дольше человек остаётся без осмотра, тем выше вероятность, что к обезвоживанию и интоксикации добавятся нарушения сна, истощение, вегетативный срыв и ошибки с лекарствами, которые были приняты «для успокоения» без понимания общей картины. В практике выездной службы именно экстренное реагирование помогает не допустить ухудшения и в короткие сроки вернуть ситуацию под медицинский контроль.
    Исследовать вопрос подробнее – http://www.domen.ru

  26. Особенность анонимной реабилитации заключается в создании комфортной и безопасной среды, которая мотивирует пациента работать над собой, не опасаясь осуждения. Это повышает эффективность лечения, ведь пациент может открыться и честно обсуждать свои проблемы без страха быть осужденным.
    Подробнее – центр реабилитации алкоголиков город

  27. Первичный этап включает сбор анамнеза, лабораторные исследования и оценку неврологического статуса. На основании полученных данных формируется план лечения, который может корректироваться в процессе наблюдения.
    Изучить вопрос глубже – анонимная наркологическая клиника хабаровск

  28. В Екатеринбурге наркологическая клиника «Частный медик 24» предоставляет анонимную помощь при похмелье и алкогольной интоксикации. Услуга выезда нарколога на дом позволяет пациенту получить лечение в безопасной обстановке, не выходя из дома. Это идеальное решение для тех, кто не хочет, чтобы их зависимость была раскрыта, или кто по каким-либо причинам не может или не хочет посещать клинику.
    Детальнее – http://kapelnicza-ot-pokhmelya-ekaterinburg-6.ru/

  29. Капельница от похмелья применяется, когда симптомы интоксикации становятся выраженными и мешают нормальной жизнедеятельности пациента. Основные показания для использования капельницы включают:
    Углубиться в тему – kapelnicza-ot-pokhmelya-samara-1.ru/

  30. Процесс терапии делится на последовательные этапы, каждый из которых направлен на решение конкретной медицинской задачи. Лечение включает физическую детоксикацию, медикаментозную коррекцию и психотерапевтическую поддержку. В таблице ниже отражены ключевые этапы лечебного процесса.
    Подробнее – https://narkologicheskaya-klinika-v-khabarovske0.ru

  31. Срочный домашний выезд особенно важен для семей, которые уже сталкивались с тяжёлыми последствиями алкоголизма и понимают, что обычные попытки «отпаивания» не решают проблему. Врач оценивает не только факт употребления, но и длительность запоя, возраст, наличие хронических болезней, уже принятые медикаменты, риск абстинентного синдрома, состояние сердца и общую нагрузку на организм. Такой формат позволяет анонимно вызвать специалиста, быстро провести необходимые вмешательства и определить, нужен ли только домашний вывод из острого состояния или дальше потребуется кодирование, повторная консультация, реабилитация либо более широкий маршрут помощи при наркомании.
    Подробнее тут – https://narkolog-na-dom-voronezh-3.ru

  32. Капельница от похмелья в Самаре: быстрое улучшение самочувствия и помощь при интоксикации под контролем специалистов в наркологической клинике «Детокс»
    Получить больше информации – капельница от похмелья на дом

  33. Острые состояния редко развиваются внезапно без предпосылок. Чаще всего им предшествуют недели или месяцы нарастающей нагрузки на нервную и сердечно-сосудистую системы. Игнорирование ранних сигналов приводит к тому, что в момент кризиса требуются уже не профилактические меры, а экстренная стабилизация. Профессиональная оценка позволяет разграничить ситуации, где достаточно амбулаторной поддержки, и те, где необходимо круглосуточное наблюдение. Своевременное вмешательство снижает вероятность осложнений, сокращает длительность восстановления и повышает готовность пациента к дальнейшей терапии.
    Разобраться лучше – наркологическая помощь анонимно

  34. Запой и алкогольная интоксикация могут приводить к целому ряду опасных симптомов, таких как головная боль, слабость, тошнота, рвота, обезвоживание и психоэмоциональная нестабильность. Если не начать лечение вовремя, такие состояния могут привести к более серьезным осложнениям, включая сердечные проблемы, галлюцинации и даже опасные для жизни нарушения работы организма. С помощью нарколога на дому можно начать экстренную терапию прямо в момент ухудшения состояния, не затягивая с лечением и не тратя время на поездки в клинику.
    Детальнее – нарколог на дом цена

  35. Реабилитация с индивидуальным подходом позволяет значительно повысить вероятность успешного избавления от зависимости. Она помогает учитывать не только физиологические аспекты зависимости, но и личные проблемы пациента, его психологическое состояние и отношения с окружающим миром. Индивидуальная программа также увеличивает мотивацию пациента и снижает риск рецидивов. В некоторых случаях лечение наркомании или запоя может быть предоставлено бесплатно, в зависимости от программы социальной поддержки или доступных государственных услуг.
    Получить больше информации – алкоголик реабилитация наркоманов в москве

  36. Капельница от похмелья с мягким восстановлением — это метод, направленный на быстрое восстановление организма после алкогольной интоксикации, при котором используется более щадящий подход. В отличие от стандартных капельниц, целью которых является быстрый вывод токсинов из организма, капельница с мягким восстановлением действует постепенно, восстанавливая водно-солевой баланс и поддерживая внутренние органы без перегрузки организма. Эта процедура особенно полезна тем, кто предпочитает не только избавиться от похмелья, но и почувствовать себя восстановленным и энергичным, при этом помощь может оказываться при запое, когда врач выезжает на дом для лечения алкоголизма.
    Узнать больше – капельница от похмелья в самаре

  37. Есть состояния, при которых откладывать обращение не стоит. Ниже перечислены признаки, при которых вызывать врача на дом разумно именно в ближайшее время, а не после очередной неудачной попытки «перележать» тяжёлый период самостоятельно.
    Получить дополнительные сведения – вызов нарколога на дом

  38. Мы не используем шаблон «на всех». Темп и сочетания зависят от давления, пульса, выраженности тошноты и тремора, уровня тревоги, сопутствующих диагнозов и лекарств, уже попавших в организм. Детокс — это система шагов: допуск к терапии, коррекция воды и электролитов, поддержка печени, вегетостабилизация, осторожная работа со сном по показаниям, профилактика осложнений. Любое назначение проговаривается простым языком: зачем, как подействует, что считать нормальной динамикой, а что — поводом связаться с врачом.
    Исследовать вопрос подробнее – http://www.domen.ru

  39. Каждый из этапов важен для успешного лечения наркомании и требует квалифицированной наркологической медицинской помощи. Реабилитационные программы, предлагаемые в Москве, часто включают в себя все эти компоненты, при этом в ряде случаев консультации могут предоставляться бесплатно, что способствует комплексному подходу к решению проблемы зависимости.
    Узнать больше – центр реабилитации алкоголиков город

  40. Снижается тремор, уменьшается тошнота, пульс и давление перестают «скакать», появляется возможность уснуть без паники. Важно не перегружать этот эффект разговорами «по душам», яркими экранами и проверками «на прочность»: когда среда тихая и затемнённая, организм закрепляет улучшение, а не теряет его к полуночи.
    Выяснить больше – vyvod-iz-zapoya-cena-himki

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注