bsod

Тема в разделе "WASM.X64", создана пользователем Ahimov, 7 мар 2025.

  1. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    Спасибо!

    Получается варианта два возможны - ядерный апдейт или проц ошибка, по другому не может быть.

    Я затупил конечно, нужно было глянуть дамп с вирты, пока она еще запускалась :dntknw:
     
    Marylin нравится это.
  2. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    292
    сейчас посмотрел у себя на Win10 (параметры-->обновления),
    насчиталось 2 обновления (c 21H1 к 22H2), и 50 исправлений ядра.
    как советовал HoShiMin может стоит обновиться?
    если сервак мягких откажет, значит ядро пропатченное с левым ключом.
     
  3. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    А если после апдейта баг пропадет, перестанет воспроизводится, затем как откатить назад ?

    Не нравится мне эта идея..)

    Нужно вначале разобраться, только потом фиксить.
    --- Сообщение объединено, 16 мар 2025 ---
    Думал и вот. В начале темы где с набором эксперименты:

    Код (Text):
    1. EP proc
    2. Local Ctx[512]:byte
    3.     mov CONTEXT.ContextFlags[Ctx],CONTEXT_FULL
    4.     invoke GetThreadContext, -2, addr Ctx
    5.     invoke ZwContinue, addr Ctx, 0
    - ошибка, я забыл взвести трейс флаг, никто не поправил.

    Возврат из ядра идет по iret с трейс флагом, вот интересно где крэшнет, в ядре или в юзер после iret, тк она взводит RF. Попозже проверю.
     
    Research нравится это.
  4. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    547
    Research нравится это.
  5. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    NtContinue на syscall не падает, возвращает 80000002.
     
  6. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    547
    0x80000002: Datatype misalignment"
     
    Ahimov нравится это.
  7. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    Поправил, всё равно не падает.
    --- Сообщение объединено, 16 мар 2025 ---
    Revision Guide for AMD Family 15h Models 00h-0Fh Processors

    По отладке есть такое:

    - не то что нужно(dr7).
    --- Сообщение объединено, 16 мар 2025 ---
    Получилось с vbox. Оказалось можно вм открыть через 7z что бы добыть файлы. Сегодня крэш:

    Код (Text):
    1. Arguments:
    2. Arg1: c0000005, The exception code that was not handled
    3. Arg2: 7ffdf221, The address that the exception occurred at
    4. Arg3: f853e3a4, Trap Frame
    5. Arg4: 00000000
    6.  
    7. Debugging Details:
    8. ------------------
    9.  
    10. BUGCHECK_CODE:  8e
    11.  
    12. BUGCHECK_P1: ffffffffc0000005
    13.  
    14. BUGCHECK_P2: 7ffdf221
    15.  
    16. BUGCHECK_P3: fffffffff853e3a4
    17.  
    18. BUGCHECK_P4: 0
    19.  
    20. FILE_IN_CAB:  Mini031625-01.dmp
    21.  
    22. VIRTUAL_MACHINE:  VirtualBox
    23.  
    24. FAULTING_THREAD:  ffffffffff9ba020
    25.  
    26. TRAP_FRAME:  f853e3a4 -- (.trap 0xfffffffff853e3a4)
    27. ErrCode = 00000002
    28. eax=08360a04 ebx=00000000 ecx=f853e61c edx=00000009 esi=f853e6a8 edi=0000010e
    29. eip=7ffdf221 esp=f853e418 ebp=f853e668 iopl=0         ov up ei ng nz ac po nc
    30. cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010a92
    31. 7ffdf221 0000            add     byte ptr [eax],al          ds:0023:08360a04=??
    32. Resetting default scope
    33.  
    34. CUSTOMER_CRASH_COUNT:  1
    35.  
    36. PROCESS_NAME:  ollydbg.exe
    37.  
    38. STACK_TEXT:
    39. WARNING: Frame IP not in any known module. Following frames may be wrong.
    40. f853e668 bf81300e     f853e908 000000c9 00000009 0x7ffdf221
    41. f853e7d0 bf80c411     f853e908 7ffdf1dc 0000006c win32k!GreBatchTextOut+0x344
    42. f853e924 804de7be     000000e0 0012e3f4 0012e40c win32k!NtGdiFlushUserBatch+0x11b
    43. f853e948 bf80ecc6     bc6a83f8 00000084 00001f80 nt!KiFastCallEntry+0xca
    44. f853e9b8 8062dc62     4000137f 01e20000 00000000 win32k!xxxSendMessage+0x1b
    45. f853ed58 804de7ec     0012f834 0012f7c4 7c90e4f4 nt!PsSetContextThread+0x137
    46.     <Intermediate frames may have been skipped due to lack of complete unwind>
    47. f853ed58 7c90e4f4 (T) 0012f834 0012f7c4 7c90e4f4 nt!KiFastCallEntry+0xf8
    48.     <Intermediate frames may have been skipped due to lack of complete unwind>
    49. 0012f7c4 00000000 (T) 00000000 00000000 00000000 0x7c90e4f4
    50.  
    51.  
    52. STACK_COMMAND:  .thread /r /p 0xffffffffff9ba020 ; kb
    53.  
    54. SYMBOL_NAME:  win32k!GreBatchTextOut+344
    55.  
    56. MODULE_NAME: win32k
    57.  
    58. IMAGE_NAME:  win32k.sys
    59.  
    60. IMAGE_VERSION:  5.1.2600.5512
    61.  
    62. FAILURE_BUCKET_ID:  0x8E_win32k!GreBatchTextOut+344
    63.  
    64. OSPLATFORM_TYPE:  x86
    65.  
    66. OSNAME:  Windows XP
    67.  
    68. FAILURE_ID_HASH:  {d47581f2-9aa6-6f2b-8563-365bdf625749}
    69.  
    70. Followup:     MachineOwner
    71. ---------
    #AV и на экране был page_fault_in_nonpage..

    Предыдущий:
    Код (Text):
    1. Microsoft (R) Windows Debugger Version 10.0.27793.1000 AMD64
    2. Copyright (c) Microsoft Corporation. All rights reserved.
    3.  
    4.  
    5. Loading Dump File [C:\mini\Mini031425-01.dmp]
    6. Mini Kernel Dump File: Only registers and stack trace are available
    7.  
    8.  
    9. ************* Path validation summary **************
    10. Response                         Time (ms)     Location
    11. Deferred                                       srv*
    12. Symbol search path is: srv*
    13. Executable search path is:
    14. Windows XP Kernel Version 2600 (Service Pack 3) UP Free x86 compatible
    15. Product: WinNt, suite: TerminalServer SingleUserTS
    16. Edition build lab: 2600.xpsp.080413-2111
    17. Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055b1c0
    18. Debug session time: Fri Mar 14 06:00:16.295 2025 (UTC + 3:00)
    19. System Uptime: 0 days 0:05:19.499
    20. Loading Kernel Symbols
    21. ...............................................................
    22. ........................................
    23. Loading User Symbols
    24. Loading unloaded module list
    25. ...............
    26. For analysis of this file, run !analyze -v
    27. eax=ffdff13c ebx=00000cd4 ecx=00000000 edx=f8f4bd2c esi=e19ae7c8 edi=e19ae7d0
    28. eip=8053380e esp=f8f4bc6c ebp=f8f4bc84 iopl=0         nv up ei ng nz na pe nc
    29. cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00200286
    30. nt!KeBugCheckEx+0x1b:
    31. 8053380e 5d              pop     ebp
    32. kd> !analyze -v
    33. *******************************************************************************
    34. *                                                                             *
    35. *                        Bugcheck Analysis                                    *
    36. *                                                                             *
    37. *******************************************************************************
    38.  
    39. BAD_POOL_CALLER (c2)
    40. The current thread is making a bad pool request.  Typically this is at a bad IRQL level or double freeing the same allocation, etc.
    41. Arguments:
    42. Arg1: 00000007, Attempt to free pool which was already freed
    43. Arg2: 00000cd4, Pool tag value from the pool header
    44. Arg3: 00000000, Contents of the first 4 bytes of the pool header
    45. Arg4: e19ae7d0, Address of the block of pool being deallocated
    46.  
    47. Debugging Details:
    48. ------------------
    49.  
    50. Target machine operating system not supported
    51.  
    52. KEY_VALUES_STRING: 1
    53.  
    54.     Key  : Analysis.CPU.mSec
    55.     Value: 2062
    56.  
    57.     Key  : Analysis.Elapsed.mSec
    58.     Value: 3166
    59.  
    60.     Key  : Analysis.IO.Other.Mb
    61.     Value: 0
    62.  
    63.     Key  : Analysis.IO.Read.Mb
    64.     Value: 11
    65.  
    66.     Key  : Analysis.IO.Write.Mb
    67.     Value: 0
    68.  
    69.     Key  : Analysis.Init.CPU.mSec
    70.     Value: 2343
    71.  
    72.     Key  : Analysis.Init.Elapsed.mSec
    73.     Value: 2681
    74.  
    75.     Key  : Analysis.Memory.CommitPeak.Mb
    76.     Value: 86
    77.  
    78.     Key  : Analysis.Version.DbgEng
    79.     Value: 10.0.27793.1000
    80.  
    81.     Key  : Analysis.Version.Description
    82.     Value: 10.2410.02.02 amd64fre
    83.  
    84.     Key  : Analysis.Version.Ext
    85.     Value: 1.2410.2.2
    86.  
    87.     Key  : Bugcheck.Code.LegacyAPI
    88.     Value: 0xc2
    89.  
    90.     Key  : Bugcheck.Code.TargetModel
    91.     Value: 0xc2
    92.  
    93.     Key  : Failure.Bucket
    94.     Value: 0xc2_7_win32k!HeavyFreePool+bb
    95.  
    96.     Key  : Failure.Exception.IP.Address
    97.     Value: 0xffffffffbf802a7d
    98.  
    99.     Key  : Failure.Exception.IP.Module
    100.     Value: win32k
    101.  
    102.     Key  : Failure.Exception.IP.Offset
    103.     Value: 0x2a7d
    104.  
    105.     Key  : Failure.Hash
    106.     Value: {5b4031c7-0136-2cdb-8812-5705bb3a293e}
    107.  
    108.  
    109. BUGCHECK_CODE:  c2
    110.  
    111. BUGCHECK_P1: 7
    112.  
    113. BUGCHECK_P2: cd4
    114.  
    115. BUGCHECK_P3: 0
    116.  
    117. BUGCHECK_P4: ffffffffe19ae7d0
    118.  
    119. FILE_IN_CAB:  Mini031425-01.dmp
    120.  
    121. VIRTUAL_MACHINE:  VirtualBox
    122.  
    123. FAULTING_THREAD:  ffffffffffa00020
    124.  
    125. POOL_ADDRESS: Target machine operating system not supported
    126. e19ae7d0
    127.  
    128. CUSTOMER_CRASH_COUNT:  1
    129.  
    130. PROCESS_NAME:  ollydbg.exe
    131.  
    132. STACK_TEXT:
    133. f8f4bc84 8054c4c1     000000c2 00000007 00000cd4 nt!KeBugCheckEx+0x1b
    134. f8f4bcd4 bf802a7d     e19ae7d0 00000000 f8f4bcf0 nt!ExFreePoolWithTag+0x2be
    135. f8f4bce4 bf805891     e19ae7d0 f8f4bd24 bf8058c6 win32k!HeavyFreePool+0xbb
    136. f8f4bcf0 bf8058c6     e19ae7d0 00000004 bf81312e win32k!FreeObject+0x25
    137. f8f4bcfc bf81312e     e14c9048 bf85185f e14c9048 win32k!REGION::vDeleteREGION+0x14
    138. f8f4bd04 bf85185f     e14c9048 00000000 bf8517c0 win32k!RGNOBJ::vDeleteRGNOBJ+0xc
    139. f8f4bd24 bf851746     e1b63868 e14c9048 f8f4be2c win32k!vSpComputeUncoveredRegion+0x3c
    140. f8f4bdf8 bf8bb286     00000296 ffffff5c e1905010 win32k!vSpComputeSpriteRanges+0xf6
    141. f8f4be0c bf851b37     e14c9048 f8f4bf30 00000000 win32k!ENUMAREAS::ENUMAREAS+0x18
    142. f8f4be6c bf827d02     e14c9048 f8f4bf28 e1905010 win32k!vSpBigUnderlayCopy+0x2c
    143. f8f4bf40 bf826312     e14c9048 00000085 0000001c win32k!bSpUpdatePosition+0x351
    144. f8f4c328 bf8267e9     e14c9008 bc6306e8 bc6306e8 win32k!vSpUpdateSpriteVisRgn+0x297
    145. f8f4c33c bf826586     e14c9008 e1144ba0 00000000 win32k!GreUpdateSpriteVisRgn+0x32
    146. f8f4c35c bf825bba     bc6306e8 0000000c e1144ba0 win32k!zzzInvalidateDCCache+0x102
    147. f8f4c3a4 bf8241eb     e1144ba0 00000000 bc6641d0 win32k!zzzBltValidBits+0xfa
    148. f8f4c3fc bf826f29     bc6306e8 00000000 e1144b88 win32k!xxxEndDeferWindowPosEx+0x13a
    149. f8f4c41c bf854449     bc6641d0 bc664120 00000000 win32k!xxxSetWindowPos+0x101
    150. f8f4c464 bf82519c     bc664120 bc6306e8 e19eba58 win32k!xxxAddShadow+0x102
    151. f8f4c48c bf824241     bf9ab840 00000000 bc664120 win32k!xxxSendChangedMsgs+0xed
    152. f8f4c4e4 bf826f29     bc6306e8 00000000 00000000 win32k!xxxEndDeferWindowPosEx+0x285
    153. f8f4c504 bf8f1180     bc664120 ffffffff 000000a4 win32k!xxxSetWindowPos+0x101
    154. f8f4c5e0 bf921db2     bc664120 bf9ab860 bf9ab8e0 win32k!xxxMNOpenHierarchy+0x745
    155. f8f4c5fc bf8f2ce7     bf9ab8e0 bf9ab860 00000005 win32k!xxxMNButtonDown+0x4b
    156. f8f4c65c bf8f38b3     f8f4c67c 00000000 00000005 win32k!xxxHandleMenuMessages+0x589
    157. f8f4c6a8 bf853d7d     bf9ab8e0 bf9ab860 002400bb win32k!xxxMNLoop+0x11b
    158. f8f4c6e4 bf80b89d     bc661710 0000f095 002400bb win32k!xxxSysCommand+0x4cc
    159. f8f4c744 bf80ec8c     bc661710 00000112 0000f095 win32k!xxxRealDefWindowProc+0xc97
    160. f8f4c75c bf820a67     bc661710 00000112 0000f095 win32k!xxxWrapRealDefWindowProc+0x16
    161. f8f4c778 bf80eed3     bc661710 00000112 0000f095 win32k!NtUserfnDWORD+0x27
    162. f8f4c7b0 804de7ec     00030188 00000112 0000f095 win32k!NtUserMessageCall+0xae
    163.     <Intermediate frames may have been skipped due to lack of complete unwind>
    164. f8f4c7b0 7c90e4f4 (T) 00030188 00000112 0000f095 nt!KiFastCallEntry+0xf8
    165. WARNING: Frame IP not in any known module. Following frames may be wrong.
    166.     <Intermediate frames may have been skipped due to lack of complete unwind>
    167. 0012d2e8 00000000 (T) 00000000 00000000 00000000 0x7c90e4f4
    168.  
    169.  
    170. STACK_COMMAND:  .thread /r /p 0xffffffffffa00020 ; kb
    171.  
    172. SYMBOL_NAME:  win32k!HeavyFreePool+bb
    173.  
    174. MODULE_NAME: win32k
    175.  
    176. IMAGE_NAME:  win32k.sys
    177.  
    178. IMAGE_VERSION:  5.1.2600.5512
    179.  
    180. FAILURE_BUCKET_ID:  0xc2_7_win32k!HeavyFreePool+bb
    181.  
    182. OSPLATFORM_TYPE:  x86
    183.  
    184. OSNAME:  Windows XP
    185.  
    186. FAILURE_ID_HASH:  {5b4031c7-0136-2cdb-8812-5705bb3a293e}
    187.  
    188. Followup:     MachineOwner
    189. ---------
    --- Сообщение объединено, 16 мар 2025 ---
    В той же доке:

    Не оно ли это :scratch_one-s_head:
    --- Сообщение объединено, 16 мар 2025 ---
    По первому дампу add byte ptr [eax],al невалид инструкция, это область заполненная нулями.

    По второму nt!ExFreePoolWithTag+0x2be невалид смещение почему то, должно быть 0F3A:

    Код (Text):
    1. POOLCODE:004754BC                 call    _KeBugCheckEx@20 ; KeBugCheckEx(x,x,x,x,x)
    2. POOLCODE:004754C1 ; ---------------------------------------------------------------------------
    3. POOLCODE:004754C1
    4. POOLCODE:004754C1 loc_4754C1:  
     
  8. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.202
    Адрес:
    подполье
    Не знаю, можно ли тут задавать подобные вопросы, но, попробую уточнить: так авер всё или не всё?
     
  9. Research

    Research Active Member

    Публикаций:
    1
    Регистрация:
    6 янв 2024
    Сообщения:
    196
    Не знаю, можно ли тут отвечать. Не буду рисковать.
     
    Последнее редактирование: 16 мар 2025
    TrashGen нравится это.
  10. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    292
    Код (Text):
    1. 0: kd> !analyze -show 0x8e c0000005 7ffdf221 f853e3a4 0
    2.  
    3. KERNEL_MODE_EXCEPTION_NOT_HANDLED (8e)
    4. This is a very common bugcheck.  Usually the exception address pinpoints
    5. the driver/function that caused the problem.  Always note this address
    6. as well as the link date of the driver/image that contains this address.
    7. Some common problems are exception code 0x80000003.  This means a hard
    8. coded breakpoint or assertion was hit, but this system was booted
    9. /NODEBUG.  This is not supposed to happen as developers should never have
    10. hardcoded breakpoints in retail code, but ...
    11. If this happens, make sure a debugger gets connected, and the
    12. system is booted /DEBUG.  This will let us see why this breakpoint is
    13. happening.
    14.  
    15. Arguments:
    16. Arg1: ffffffffc0000005, The exception code that was not handled
    17. Arg2: 000000007ffdf221, The address that the exception occurred at
    18. Arg3: fffffffff853e3a4, Trap Frame
    19. Arg4: 0000000000000000
     
  11. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    Marylin,

    Особо смотреть там нечего, управление скачет по ядру как хочет.

    Есть много вопросов, по самому первому крэшу на хосте. Неправильно дамп разобран, нужно заново посмотреть(как может скипаться часть кода??). На хосте адрес крэша один, стабилен.

    push TF/popfd не крэшит, почему только под отладчиком падает ?

    Собрать простейший отладчик, что бы выяснить при каких условиях возникает ошибка..

    Адреса в дампе соответствуют дизу, значит ядро не патчено.

    В аттаче два последние дампа.
    --- Сообщение объединено, 16 мар 2025 ---
    Вот сейчас ребутнулся, в этот раз олли не упало, но повисли все апп. Затем в x32dbg бсод, но уже иная ошибка:

    Код (Text):
    1. DRIVER_OVERRAN_STACK_BUFFER (f7)
    2. A driver has overrun a stack-based buffer.  This overrun could potentially
    3. allow a malicious user to gain control of this machine.
    4. DESCRIPTION
    5. A driver overran a stack-based buffer (or local variable) in a way that would
    6. have overwritten the function's return address and jumped back to an arbitrary
    7. address when the function returned.  This is the classic "buffer overrun"
    8. hacking attack and the system has been brought down to prevent a malicious user
    9. from gaining complete control of it.
    10. Do a kb to get a stack backtrace -- the last routine on the stack before the
    11. buffer overrun handlers and BugCheck call is the one that overran its local
    12. variable(s).
    13. Arguments:
    14. Arg1: ffffed0d23108cf0, Actual security check cookie from the stack
    15. Arg2: 000073157356749f, Expected security check cookie
    16. Arg3: ffff8cea8ca98b60, Complement of the expected security check cookie
    17. Arg4: 0000000000000000, zero
    18.  
    19. BUGCHECK_CODE:  f7
    20.  
    21. BUGCHECK_P1: ffffed0d23108cf0
    22.  
    23. BUGCHECK_P2: 73157356749f
    24.  
    25. BUGCHECK_P3: ffff8cea8ca98b60
    26.  
    27. BUGCHECK_P4: 0
    28.  
    29. FILE_IN_CAB:  031625-10078-01.dmp
    30.  
    31. FAULTING_THREAD:  ffff920a23244080
    32.  
    33. SECURITY_COOKIE:  Expected 000073157356749f found ffffed0d23108cf0
    34.  
    35. BLACKBOXNTFS: 1 (!blackboxntfs)
    36.  
    37.  
    38. BLACKBOXPNP: 1 (!blackboxpnp)
    39.  
    40.  
    41. BLACKBOXWINLOGON: 1
    42.  
    43. CUSTOMER_CRASH_COUNT:  1
    44.  
    45. PROCESS_NAME:  test.exe
    46.  
    47. TRAP_FRAME:  ffff800000000000 -- (.trap 0xffff800000000000)
    48. Unable to read trap frame at ffff8000`00000000
    49. Resetting default scope
    50.  
    51. STACK_TEXT:
    52. ffffed0d`23107a98 fffff804`04ab63c5     : 00000000`000000f7 ffffed0d`23108cf0 00007315`7356749f ffff8cea`8ca98b60 : nt!KeBugCheckEx
    53. ffffed0d`23107aa0 fffff804`049d5a8e     : ffffed0d`231080b0 fffff804`048ca5df fffff804`0471bf38 00000000`00000000 : nt!_report_gsfailure+0x25
    54. ffffed0d`23107ae0 fffff804`049d5a23     : ffffed0d`23107bb0 00000000`00000000 ffffed0d`231080e8 ffffed0d`231080c0 : nt!_GSHandlerCheckCommon+0x5a
    55. ffffed0d`23107b10 fffff804`04a07d2f     : fffff804`049d5a10 00000000`00000000 00000000`00000000 00000000`00000000 : nt!_GSHandlerCheck+0x13
    56. ffffed0d`23107b40 fffff804`048ca3c7     : ffffed0d`231080b0 00000000`00000000 ffffed0d`23108cf0 fffff804`04e88daa : nt!RtlpExecuteHandlerForException+0xf
    57. ffffed0d`23107b70 fffff804`048c94e6     : ffffed0d`23108a88 ffffed0d`231087c0 ffffed0d`23108a88 00000000`00000000 : nt!RtlDispatchException+0x297
    58. ffffed0d`23108290 fffff804`04a1186c     : 00000000`00001000 ffffed0d`23108b30 ffff8000`00000000 00000000`00000000 : nt!KiDispatchException+0x186
    59. ffffed0d`23108950 fffff804`04a0d2bd     : ffff920a`23244080 00000000`00000002 00000000`00000000 fffff804`05247960 : nt!KiExceptionDispatch+0x12c
    60. ffffed0d`23108b30 fffff804`0481dfba     : ffff920a`23244080 fffff804`04e88da5 00000000`00000010 00000000`00000246 : nt!KiPageFault+0x43d
    61. ffffed0d`23108cc0 fffff804`04e88daa     : fffff804`05247960 ffff920a`00000000 00000000`00000000 ffffed0d`23108fa0 : nt!ExReleaseFastMutex+0xa
    62. ffffed0d`23108cf0 00000000`00000001     : 00000000`0009fda0 ffffed0d`23109a58 ffff920a`26462080 ffff920a`26462080 : nt!DbgkpQueueMessage+0x222
    63. ffffed0d`23108ef0 00000000`0009fda0     : ffffed0d`23109a58 ffff920a`26462080 ffff920a`26462080 00000000`00000001 : 0x1
    64. ffffed0d`23108ef8 ffffed0d`23109a58     : ffff920a`26462080 ffff920a`26462080 00000000`00000001 fffff804`04e8a868 : 0x9fda0
    65. ffffed0d`23108f00 ffff920a`26462080     : ffff920a`26462080 00000000`00000001 fffff804`04e8a868 00000000`00000000 : 0xffffed0d`23109a58
    66. ffffed0d`23108f08 ffff920a`26462080     : 00000000`00000001 fffff804`04e8a868 00000000`00000000 00000000`00000000 : 0xffff920a`26462080
    67. ffffed0d`23108f10 00000000`00000001     : fffff804`04e8a868 00000000`00000000 00000000`00000000 00000000`00000000 : 0xffff920a`26462080
    68. ffffed0d`23108f18 fffff804`04e8a868     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x1
    69. ffffed0d`23108f20 fffff804`04e29b31     : ffff920a`2675c2b0 ffffed0d`23109070 ffff920a`26462080 00000000`00000000 : nt!DbgkpSendApiMessage+0xa4
    70. ffffed0d`23108f70 fffff804`048c9694     : ffffed0d`23109a58 ffffed0d`23109a58 ffffed0d`23109120 00000000`00401000 : nt!DbgkForwardException+0xfa161
    71. ffffed0d`231090f0 fffff804`04a1186c     : 00000000`00001000 ffffed0d`23109b00 ffff8000`00000000 00000000`00000000 : nt!KiDispatchException+0x334
    72. ffffed0d`23109920 fffff804`04a0d2bd     : ffff920a`23244080 00000000`00000006 ffffed0d`00000000 ffff920a`00000000 : nt!KiExceptionDispatch+0x12c
    73. ffffed0d`23109b00 00000000`00000000     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiPageFault+0x43d
    74.  
    75.  
    76. SYMBOL_NAME:  nt!_report_gsfailure+25
    77.  
    78. MODULE_NAME: nt
    79.  
    80. IMAGE_NAME:  ntkrnlmp.exe
    81.  
    82. IMAGE_VERSION:  10.0.19041.3570
    83.  
    84. STACK_COMMAND:  .process /r /p 0xffff920a26462080; .thread 0xffff920a23244080 ; kb
    85.  
    86. BUCKET_ID_FUNC_OFFSET:  25
    87.  
    88. FAILURE_BUCKET_ID:  0xF7_MISSING_GSFRAME_nt!_report_gsfailure
    89.  
    90. OS_VERSION:  10.0.19041.1
    91.  
    92. BUILDLAB_STR:  vb_release
    93.  
    94. OSPLATFORM_TYPE:  x64
    95.  
    96. OSNAME:  Windows 10
    97.  
    98. FAILURE_ID_HASH:  {82d2c1b5-b0cb-60a5-9a5d-78c8c4284f84}
    99.  
    100. Followup:     MachineOwner
    101. ---------
    102.  
    103.  
    И опять эти Dbgkp*

    Если бы сразу управление прыгало вникуда, небыло бы связанного бэктрейса. Не знаю даже, какие то чудеса.
    --- Сообщение объединено, 16 мар 2025 ---
    Ещё раз, w32dbg, push 0/popfd/nop:

    Код (Text):
    1. SYSTEM_SERVICE_EXCEPTION (3b)
    2. An exception happened while executing a system service routine.
    3. Arguments:
    4. Arg1: 00000000c0000005, Exception code that caused the BugCheck
    5. Arg2: fffff8004101be7b, Address of the instruction which caused the BugCheck
    6. Arg3: ffffb183d9d37d30, Address of the context record for the exception that caused the BugCheck
    7. Arg4: 0000000000000000, zero.
    8.  
    9. BUGCHECK_CODE:  3b
    10.  
    11. BUGCHECK_P1: c0000005
    12.  
    13. BUGCHECK_P2: fffff8004101be7b
    14.  
    15. BUGCHECK_P3: ffffb183d9d37d30
    16.  
    17. BUGCHECK_P4: 0
    18.  
    19. FILE_IN_CAB:  031625-9546-01.dmp
    20.  
    21. FAULTING_THREAD:  ffff8e8409331080
    22.  
    23. CONTEXT:  ffffb183d9d37d30 -- (.cxr 0xffffb183d9d37d30)
    24. rax=00000000000001d2 rbx=0000000000000000 rcx=ffffb183d9d388f0
    25. rdx=0000000000000000 rsi=0000000000000002 rdi=ffff8e8409331180
    26. rip=fffff8004101be7b rsp=ffffb183d9d38730 rbp=0000000000000000
    27. r8=0000000000000001  r9=00000000000000a4 r10=0000000000000000
    28. r11=fffff80040e00000 r12=0000000000000001 r13=0000000000000000
    29. r14=ffff8e84093311c0 r15=0000000000000000
    30. iopl=0         nv up ei pl zr na po nc
    31. cs=0010  ss=0000  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
    32. nt!KiSwapThread+0x6db:
    33. fffff800`4101be7b c6401104        mov     byte ptr [rax+11h],4 ds:002b:00000000`000001e3=??
    34. Resetting default scope
    35.  
    36. BLACKBOXNTFS: 1 (!blackboxntfs)
    37.  
    38.  
    39. BLACKBOXPNP: 1 (!blackboxpnp)
    40.  
    41.  
    42. BLACKBOXWINLOGON: 1
    43.  
    44. CUSTOMER_CRASH_COUNT:  1
    45.  
    46. PROCESS_NAME:  x32dbg.exe
    47.  
    48. STACK_TEXT:
    49. ffffb183`d9d38730 fffff800`4101b1cf     : ffff8e84`09331080 ffff8e84`0000053c ffffb183`d9d388f0 00000000`00000000 : nt!KiSwapThread+0x6db
    50. ffffb183`d9d387e0 fffff800`4101aa73     : 00000000`000000a4 fffff800`00000000 8e8409e5`f0500001 ffff8e84`093311c0 : nt!KiCommitThreadWait+0x14f
    51. ffffb183`d9d38880 fffff800`41689d21     : ffff8e84`08914a50 00000000`00000000 ffffb183`d9d38b01 ffff8e84`02aae001 : nt!KeWaitForSingleObject+0x233
    52. ffffb183`d9d38970 fffff800`41210ef5     : ffff8e84`09331080 00007ffe`13cfb3f0 00000000`00000000 ffff8e84`08914a50 : nt!NtWaitForDebugEvent+0x261
    53. ffffb183`d9d38b00 00007ffe`14ff0a34     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x25
    54. 00000000`0669e2e8 00000000`00000000     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffe`14ff0a34
    55.  
    56.  
    57. SYMBOL_NAME:  nt!KiSwapThread+6db
    58.  
    59. MODULE_NAME: nt
    60.  
    61. IMAGE_NAME:  ntkrnlmp.exe
    62.  
    63. IMAGE_VERSION:  10.0.19041.3570
    64.  
    65. STACK_COMMAND:  .cxr 0xffffb183d9d37d30 ; kb
    66.  
    67. BUCKET_ID_FUNC_OFFSET:  6db
    68.  
    69. FAILURE_BUCKET_ID:  AV_nt!KiSwapThread
    70.  
    71. OS_VERSION:  10.0.19041.1
    72.  
    73. BUILDLAB_STR:  vb_release
    74.  
    75. OSPLATFORM_TYPE:  x64
    76.  
    77. OSNAME:  Windows 10
    78.  
    79. FAILURE_ID_HASH:  {3a5eca23-a992-0c0e-a0ce-d48add0d8eda}
    80.  
    81. Followup:     MachineOwner
    82. ---------
    - вновь шедулер на той же самой инструкции.
     

    Вложения:

    • mini.zip
      Размер файла:
      25,2 КБ
      Просмотров:
      54
    • 031625-10078-01.zip
      Размер файла:
      87,5 КБ
      Просмотров:
      56
    • 031625-9546-01.zip
      Размер файла:
      106,7 КБ
      Просмотров:
      53
    Последнее редактирование: 16 мар 2025
  12. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.493
    Адрес:
    Россия, Нижний Новгород
    Ahimov, подключи ядерный отладчик к вбоксу и глянь пошагово от Dbgkp*, что там происходит, в какой момент что портится
     
  13. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    HoShiMin,

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

    vmw.png

    Поэтому я ранее и говорил что нужно как давно два компа кабелем соединять ну и по старинке..
    --- Сообщение объединено, 16 мар 2025 ---
    Как я про эррату почитал, что то уже сомневаюсь что отладка поможет. Оно пройдёт норм при трассировке скорее всего.
    --- Сообщение объединено, 17 мар 2025 ---
    Ну раз нет идей, то думаю так. Какой бы непонятной, сложной была ситуация, некоторый процесс/состояние системы абстрактно говоря. Пусть невозможно применить инструментальные методы, но всегда есть метод ограничения. Ввести систему в необходимое состояние и постепенно убирать из этого те факторы, которые которые на неё не влияют.

    Пусть падает отладчик, можно выяснить какие сервисы приводят к падению, может их последовательность. Это не тупик, я думаю так :)
     
  14. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    TrashGen,

    > попробую уточнить: так авер всё или не всё?

    Всё. Авер не совместим с бинарной трансляцией, с приходом визоров понятия эмуляции не осталось. А это значит что сигнатурный анализ невозможен в динамике. Осталась только проактивная защита.
     
    Последнее редактирование: 17 мар 2025
    TrashGen нравится это.
  15. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    Простой дебаг цикл:

    Код (Text):
    1.     WaitForDebugEvent()
    2.     if EXCEPTION_DEBUG_EVENT
    3.         if STATUS_PRIVILEGED_INSTRUCTION
    4.             Msg(CONTEXT.rEip)
    5.             CONTEXT.rEip ++
    6.             CONTEXT.rEFlags | TF
    7.         fi
    8.         if EXCEPTION_SINGLE_STEP
    9.             Msg(CONTEXT.rEip)
    10.             CONTEXT.rEFlags | TF
    11.         fi
    12.     fi
    13.     ContinueDebugEvent()
    Не крэшит, оно так и в отладчике при трейсе. Наверно точки останова нужны..

    Такое не падает ни в отладчике, ни при трейсе:
    Код (Text):
    1.     push 100h
    2.     popfd
    3.     int 3
    С int3(CC) тоже не падает.
    --- Сообщение объединено, 22 мар 2025 в 16:05 ---
    Если отладчик им же посмотреть, то тоже не падает. Получается олли popf не трассирует(EF: 246), записывает CC на следующие инструкции: NtWriteVM. Далее идёт NtFlushVM - NtSetCTX - NtResumeThread - NtDebugContinue. Но даже без останова не падает, если прямо под олли шагнуть, тогда падает :wacko:
    --- Сообщение объединено, 22 мар 2025 в 16:18 ---
    А нет, олли на хосте вообще не падает, это на вирте. На x32dbg как обычно:

    Код (Text):
    1. PROCESS_NAME:  x32dbg.exe
    2.  
    3. STACK_TEXT:
    4. ffffe084`14f31730 fffff802`7aa1b1cf     : ffff968a`05d28080 ffff968a`000013c0 ffffe084`14f318f0 00000000`00000000 : nt!KiSwapThread+0x6db
    --- Сообщение объединено, 22 мар 2025 в 16:24 ---
    ida так же крэшит.
    --- Сообщение объединено, 22 мар 2025 в 16:39 ---
    x32dbg не использует NtWriteVM, вызывает только NtSetCtx(CONTEXT_CONTROL, EF: TF) и бсодит на NtResumeThread.
    --- Сообщение объединено, 22 мар 2025 в 16:42 ---
    Код (Text):
    1. PAGE_FAULT_IN_NONPAGED_AREA (50)
    2. Invalid system memory was referenced.  This cannot be protected by try-except.
    3. Typically the address is just plain bad or it is pointing at freed memory.
    4. Arguments:
    5. Arg1: fffff684a2ed6698, memory referenced.
    6. Arg2: 0000000000000011, X64: bit 0 set if the fault was due to a not-present PTE.
    7.     bit 1 is set if the fault was due to a write, clear if a read.
    8.     bit 3 is set if the processor decided the fault was due to a corrupted PTE.
    9.     bit 4 is set if the fault was due to attempted execute of a no-execute PTE.
    10.     - ARM64: bit 1 is set if the fault was due to a write, clear if a read.
    11.     bit 3 is set if the fault was due to attempted execute of a no-execute PTE.
    12. Arg3: fffff684a2ed6698, If non-zero, the instruction address which referenced the bad memory
    13.     address.
    14. Arg4: 0000000000000002, (reserved)
    15.  
    16. Debugging Details:
    17. ------------------
    18.  
    19. BUGCHECK_CODE:  50
    20.  
    21. BUGCHECK_P1: fffff684a2ed6698
    22.  
    23. BUGCHECK_P2: 11
    24.  
    25. BUGCHECK_P3: fffff684a2ed6698
    26.  
    27. BUGCHECK_P4: 2
    28.  
    29. FILE_IN_CAB:  032225-9562-01.dmp
    30.  
    31. FAULTING_THREAD:  ffffd1026e858080
    32.  
    33. WRITE_ADDRESS: fffff8024eefb390: Unable to get MiVisibleState
    34. Unable to get NonPagedPoolStart
    35. Unable to get NonPagedPoolEnd
    36. Unable to get PagedPoolStart
    37. Unable to get PagedPoolEnd
    38. unable to get nt!MmSpecialPagesInUse
    39. fffff684a2ed6698
    40.  
    41. LEGACY_PAGE_TABLE_ACCESS: 1
    42.  
    43. MM_INTERNAL_CODE:  2
    44.  
    45. BLACKBOXNTFS: 1 (!blackboxntfs)
    46.  
    47.  
    48. BLACKBOXPNP: 1 (!blackboxpnp)
    49.  
    50.  
    51. BLACKBOXWINLOGON: 1
    52.  
    53. CUSTOMER_CRASH_COUNT:  1
    54.  
    55. PROCESS_NAME:  test.exe
    56.  
    57. TRAP_FRAME:  ffff800000000000 -- (.trap 0xffff800000000000)
    58. Unable to read trap frame at ffff8000`00000000
    59. Resetting default scope
    60.  
    61. STACK_TEXT:
    62. fffff684`a2ed6258 fffff802`4e638cbf     : 00000000`00000050 fffff684`a2ed6698 00000000`00000011 fffff684`a2ed6500 : nt!KeBugCheckEx
    63. fffff684`a2ed6260 fffff802`4e430730     : 04410443`043f043e 00000000`00000011 fffff684`a2ed6580 00000000`00000000 : nt!MiSystemFault+0x1de34f
    64. fffff684`a2ed6360 fffff802`4e60d1d8     : 0020044c`04420438 04360443`043b0441 00440020`04430431 1d010000`0053004e : nt!MmAccessFault+0x400
    65. fffff684`a2ed6500 fffff684`a2ed6698     : fffff802`4e607daf fffff802`4e607daf fffff684`a2ed6720 fffff802`4e4c94e6 : nt!KiPageFault+0x358
    66. fffff684`a2ed6690 fffff802`4e607daf     : fffff802`4e607daf fffff684`a2ed6720 fffff802`4e4c94e6 00000000`00000000 : 0xfffff684`a2ed6698
    67. fffff684`a2ed6698 fffff684`a2ed6c90     : fffff802`4e429484 fffff684`a2ed7480 00000013`00000000 fffff684`a2ed7480 : nt!RtlpExecuteHandlerForUnwind+0xf
    68. fffff684`a2ed66c8 fffff802`4e429484     : fffff684`a2ed7480 00000013`00000000 fffff684`a2ed7480 fffff802`4e2d11e4 : 0xfffff684`a2ed6c90
    69. fffff684`a2ed66d0 fffff802`4e5d0205     : fffff802`4e266d74 fffff802`00000001 fffff684`a2ed7fe0 fffff684`a2ed9000 : nt!RtlUnwindEx+0x2c4
    70. fffff684`a2ed6df0 fffff802`4e607d2f     : fffff802`4e2d11b4 fffff684`a2ed73d0 fffff802`4e5d0120 00000000`00000000 : nt!_C_specific_handler+0xe5
    71. fffff684`a2ed6e60 fffff802`4e4ca3c7     : fffff684`a2ed73d0 00000000`00000000 fffff684`a2ed75e0 fffff802`4e4c914e : nt!RtlpExecuteHandlerForException+0xf
    72. fffff684`a2ed6e90 fffff802`4e4c94e6     : fffff684`a2ed7da8 fffff684`a2ed7ae0 fffff684`a2ed7da8 fffff684`a2ed8120 : nt!RtlDispatchException+0x297
    73. fffff684`a2ed75b0 fffff802`4e61186c     : 00000000`00001000 fffff684`a2ed7e50 ffff8000`00000000 00000000`00000000 : nt!KiDispatchException+0x186
    74. fffff684`a2ed7c70 fffff802`4e60d2bd     : 00000000`00000000 00000000`00000000 ffffd102`6e858080 fffff684`a2ed8b00 : nt!KiExceptionDispatch+0x12c
    75. fffff684`a2ed7e50 fffff802`4e4c914e     : 00000000`0040100e 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiPageFault+0x43d
    76. fffff684`a2ed7fe0 fffff802`4e4c9a2f     : fffff684`a2ed8a58 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiOpDecode+0x136
    77. fffff684`a2ed8040 fffff802`4e4c94a1     : fffff684`a2ed8a58 fffff684`a2ed8790 fffff684`a2ed8120 00000000`00401003 : nt!KiPreprocessFault+0xbf
    78. fffff684`a2ed80f0 fffff802`4e61186c     : 00000000`00001000 fffff684`a2ed8b00 ffff8000`00000000 00000000`00000000 : nt!KiDispatchException+0x141
    79. fffff684`a2ed8920 fffff802`4e60d2bd     : ffffd102`6e858080 00000000`00000000 00000000`00000000 ffffd102`00000000 : nt!KiExceptionDispatch+0x12c
    80. fffff684`a2ed8b00 00000000`00000000     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiPageFault+0x43d
    81.  
    82.  
    83. SYMBOL_NAME:  nt!MiSystemFault+1de34f
    84.  
    85. MODULE_NAME: nt
    86.  
    87. IMAGE_VERSION:  10.0.19041.3570
    88.  
    89. STACK_COMMAND:  .process /r /p 0xffffd1026ed3e080; .thread 0xffffd1026e858080 ; kb
    90.  
    91. IMAGE_NAME:  ntkrnlmp.exe
    92.  
    93. BUCKET_ID_FUNC_OFFSET:  1de34f
    94.  
    95. FAILURE_BUCKET_ID:  AV_X_(null)_nt!MiSystemFault
    96.  
    97. OS_VERSION:  10.0.19041.1
    98.  
    99. BUILDLAB_STR:  vb_release
    100.  
    101. OSPLATFORM_TYPE:  x64
    102.  
    103. OSNAME:  Windows 10
    104.  
    105. FAILURE_ID_HASH:  {49578414-34a9-c6dc-c795-b8c5552d5975}
    106.  
    107. Followup:     MachineOwner
    108. ---------
    --- Сообщение объединено, 22 мар 2025 в 17:04 ---
    Наконец воспроизвелось:

    Код (Text):
    1.     invoke GetStartupInfo,addr Sinfo
    2.     invoke CreateProcess, addr Name$, NULL, NULL, NULL, FALSE, DEBUG_PROCESS + DEBUG_ONLY_THIS_PROCESS, NULL, NULL, addr Sinfo, addr Ps
    3.     .while TRUE
    4.         invoke WaitForDebugEvent, addr DbEvent, INFINITE
    5.         .if DbEvent.dwDebugEventCode == EXIT_PROCESS_DEBUG_EVENT
    6.                 .break
    7.         .elseif DbEvent.dwDebugEventCode == EXCEPTION_DEBUG_EVENT
    8.             .if DbEvent.u.Exception.pExceptionRecord.ExceptionCode == EXCEPTION_BREAKPOINT
    9.                
    10.             .elseif DbEvent.u.Exception.pExceptionRecord.ExceptionCode == STATUS_PRIVILEGED_INSTRUCTION
    11.                 mov Ctx.ContextFlags, CONTEXT_CONTROL
    12.                 invoke GetThreadContext, Ps.ThreadHandle, addr Ctx
    13.                 %DBG "#GP 0x%X", Ctx.rEip
    14.                 inc Ctx.rEip
    15.                 or Ctx.rEFlags, 100h
    16.                 invoke SetThreadContext, Ps.ThreadHandle, addr Ctx
    17.                 invoke ZwResumeThread, Ps.ThreadHandle, addr Scount
    18.  
    19.             .elseif DbEvent.u.Exception.pExceptionRecord.ExceptionCode == EXCEPTION_SINGLE_STEP
    20.                 mov Ctx.ContextFlags, CONTEXT_CONTROL
    21.                 invoke GetThreadContext, Ps.ThreadHandle, addr Ctx
    22.                 %DBG "#DB 0x%X", Ctx.rEip
    23.                 or Ctx.rEFlags, 100h
    24.                 invoke SetThreadContext, Ps.ThreadHandle, addr Ctx
    25.                 invoke ZwResumeThread, Ps.ThreadHandle, addr Scount
    26.             .endif
    27.         .endif
    28.         invoke ContinueDebugEvent, DbEvent.dwProcessId, DbEvent.dwThreadId, DBG_CONTINUE
    29.     .endw
    Код (Text):
    1.     hlt
    2.     push 0
    3.     popfd
    4.     nop
    - без NtResume не крэшит, хотя должно:

    NtDebugContinue -> DbgkpWakeTarget -> PsResumeThread
    NtResumeThread -> PsResumeThread
     

    Вложения:

    • dbg.png
      dbg.png
      Размер файла:
      9,6 КБ
      Просмотров:
      29
    • setctx2.png
      setctx2.png
      Размер файла:
      73,5 КБ
      Просмотров:
      29
  16. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    547
  17. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    alex_dz,

    Если попробовать resumethread без отладочных апи:

    Код (Text):
    1. Thread proc p1:DWORD
    2.     nop
    3.     nop
    4.     nop
    5.     nop
    6.     push 100h
    7.     popfd
    8.     nop
    9.     nop
    10. Tip:
    11.     push 0
    12. Tbsod::
    13.     popfd
    14.     nop
    15.     nop
    16. Tend::
    17.     jmp $
    18. Thread endp
    19.  
    20. VEH proc Xcpt:PEXCEPTION_POINTERS
    21.     mov eax,Xcpt
    22.     mov eax,EXCEPTION_POINTERS.ContextRecord[eax]
    23.     lea ecx,Tend
    24.     xchg CONTEXT.rEip[eax],ecx
    25.     %DBG "#DB 0x%X", Ecx
    26.     mov CONTEXT.rEax[eax],ecx
    27.  
    28.     mov Etrap,1
    29.     mov eax,EXCEPTION_CONTINUE_EXECUTION
    30.     ret
    31. VEH endp
    32.  
    33. EP proc
    34. Local Scount:ULONG
    35.     invoke AddVectoredExceptionHandler, 1, addr VEH
    36.       invoke CreateThread, 0, 0, addr Thread, 0, 0, addr Tid
    37.     mov Thd,eax
    38. Iter:
    39.     .repeat
    40.         invoke Sleep, 5000
    41.     .until Etrap
    42.     invoke ZwSuspendThread, Thd, addr Scount
    43.  
    44.     mov Ctx.ContextFlags,CONTEXT_ALL
    45.     invoke GetThreadContext, Thd, addr Ctx
    46.  
    47.     mov Etrap,0
    48.  
    49.     mov eax,Ctx.rEax
    50.     or Ctx.rEFlags,100h
    51.     mov Ctx.rEip,eax
    52.  
    53.     invoke SetThreadContext, Thd, addr Ctx
    54.     invoke ZwResumeThread, Thd, addr Scount
    55.  
    56.     %DBG " - 0x%X", Ctx.rEip
    57.     jmp Iter
    - не падает. Если под олли2 запустить бсодит на Tbsod.
    --- Сообщение объединено, 22 мар 2025 в 22:06 ---
    HoShiMin,

    Посмотрите выше, пока выяснилось это, хоть уже что то..
     
  18. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.493
    Адрес:
    Россия, Нижний Новгород
    А что это за адрес? 0xfffff684`a2ed6698
    Какой-то ядерный, но для него не нашлись символы (смотрю трейс в этом сообщении).
    Кому он принадлежит?
    --- Сообщение объединено, 23 мар 2025 в 00:20 ---
    Upd., а, не заметил сразу - они смотрят на стек
     
  19. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    180
    HoShiMin,

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

    Вот что выше:

    Код (Text):
    1. Tip:
    2.     push 0
    3. Tbsod::
    4.     popfd
    5.     nop
    6.     nop
    - на первой итерации под отладчиком падает, должно быть:

    Код (Text):
    1. Tip:
    2.     push 0
    3. Tbsod::
    4.     popfd
    5.     nop
    6.     nop
    7.     jmp Tip
    - это крутится без задержек(без дебаг порта в общем) и не крэшит. Пока я не понимаю, но хотя бы уже как то можно тестить.

    Главное почему именно на загрузки флажков, при этом не важен контекст и сами флаги, инструкции тоже!?
     

    Вложения:

    • Minidump.zip
      Размер файла:
      504,2 КБ
      Просмотров:
      24
    Последнее редактирование: 23 мар 2025 в 00:39
  20. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.493
    Адрес:
    Россия, Нижний Новгород
    Глянул дампы. Сомневаюсь, что баг процессорный, и, скорей всего, он вообще никак не связан с тем кодом, который ты отлаживаешь.
    Во всех твоих дампах ошибка DRIVER_OVERRAN_STACK_BUFFER: это когда одна из функций затёрла stack cookie, который проверяется на выходе - например, когда вышли за границы массива или записали в переменную больше, чем она занимает.
    У тебя в стактрейсе ошибка вылетает на ExReleaseFastMutex+0x0A - но это не он: посмотри на предыдущую инструкцию там call KeAbPostRelease - подозреваю, что это именно он портит стек.

    И всё было бы хорошо с этой теорией, если бы не одно но: ни ExReleaseFastMutex, ни KeAbPostRelease не проверяют stack cookie!
    Он проверяется во внешней DbgkpQueueMessage, но по стактрейсу мы до проверки не доходим.

    Но всё равно, сама ошибка явно намекает на то, что где-то портится стек.

    Идём далее: твой трейс в твоём предыдущем посте.
    Там ошибка другая - обычный PF.
    Там попытались обратиться к адресу: Arg1: fffff684a2ed6698, memory referenced.
    Но тоже странность: этот адрес принадлежит нашему ядерному стеку:
    fffff684`a2ed6698 fffff684`a2ed6c90 : fffff802`4e429484 fffff684`a2ed7480 00000013`00000000 fffff684`a2ed7480 : nt!RtlpExecuteHandlerForUnwind+0xf

    Короче говоря, кто-то упорно портит стек.
     
    Ahimov нравится это.