找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 5664|回复: 3

自己实现PCHunter的一个功能:超级暴力重启者

[复制链接]
发表于 2015-8-25 16:28:46 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
用过ARK的人都会知道PCHunter这么个玩意,个人认为这款ARK是相当不错的,今天我们就来实现PCHunter的其中一个功能:暴力重启。
网上看到有人提出的一个强制重启的方法,是通过调用KeBugCheck来实现重启,一行代码如下:
  1. KeBugCheck(POWER_FAILURE_SIMULATE);
复制代码

看着觉得不太对劲啊,还BugCheck。。。虽然测试了的确没蓝屏,总感觉怪怪的,于是就在WinDbg查看一番这个KeBugCheck的具体实现:
  1. nt!KeBugCheck:
  2. 80826d8e 8bff            mov     edi,edi
  3. 80826d90 55              push    ebp
  4. 80826d91 8bec            mov     ebp,esp
  5. 80826d93 33c0            xor     eax,eax
  6. 80826d95 50              push    eax
  7. 80826d96 50              push    eax
  8. 80826d97 50              push    eax
  9. 80826d98 50              push    eax
  10. 80826d99 50              push    eax
  11. 80826d9a ff7508          push    dword ptr [ebp+8]
  12. 80826d9d e8bcf6ffff      call    nt!KeBugCheck2 (8082645e)
  13. 80826da2 5d              pop     ebp
  14. 80826da3 c20400          ret     4
复制代码

可以看到它只是简单地调用了KeBugCheck2函数,接着看反汇编:
  1. nt!KeBugCheck2:
  2. 8082645e 8bff            mov     edi,edi
  3. 80826460 55              push    ebp
  4. 80826461 8bec            mov     ebp,esp
  5. 80826463 81ec80030000    sub     esp,380h
  6. 80826469 a124e18880      mov     eax,dword ptr [nt!__security_cookie (8088e124)]
  7. 8082646e 8945fc          mov     dword ptr [ebp-4],eax
  8. 80826471 8b450c          mov     eax,dword ptr [ebp+0Ch]
  9. 80826474 648b0d24010000  mov     ecx,dword ptr fs:[124h]
  10. 8082647b 898594fcffff    mov     dword ptr [ebp-36Ch],eax
  11. 80826481 8b4514          mov     eax,dword ptr [ebp+14h]
  12. 80826484 8985a4fcffff    mov     dword ptr [ebp-35Ch],eax
  13. 8082648a 8b4518          mov     eax,dword ptr [ebp+18h]
  14. 8082648d 898584fcffff    mov     dword ptr [ebp-37Ch],eax
  15. 80826493 8b451c          mov     eax,dword ptr [ebp+1Ch]
  16. 80826496 53              push    ebx
  17. 80826497 8b5d10          mov     ebx,dword ptr [ebp+10h]
  18. 8082649a 8985a8fcffff    mov     dword ptr [ebp-358h],eax
  19. 808264a0 33c0            xor     eax,eax
  20. 808264a2 817d08e5000000  cmp     dword ptr [ebp+8],0E5h
  21. 808264a9 56              push    esi
  22. 808264aa 57              push    edi
  23. 808264ab 899d80fcffff    mov     dword ptr [ebp-380h],ebx
  24. 808264b1 888588fcffff    mov     byte ptr [ebp-378h],al
  25. 808264b7 8885adfcffff    mov     byte ptr [ebp-353h],al
  26. 808264bd 898598fcffff    mov     dword ptr [ebp-368h],eax
  27. 808264c3 898590fcffff    mov     dword ptr [ebp-370h],eax
  28. 808264c9 8985a0fcffff    mov     dword ptr [ebp-360h],eax
  29. 808264cf 898d8cfcffff    mov     dword ptr [ebp-374h],ecx
  30. 808264d5 8885affcffff    mov     byte ptr [ebp-351h],al
  31. 808264db a310f68980      mov     dword ptr [nt!KiBugCheckDriver (8089f610)],eax
  32. 808264e0 c605c86d898001  mov     byte ptr [nt!KeBugCheckActive (80896dc8)],1
  33. 808264e7 750d            jne     nt!KeBugCheck2+0x98 (808264f6)

  34. nt!KeBugCheck2+0x8b:
  35. 808264e9 e8bef8ffff      call    nt!KiScanBugCheckCallbackList (80825dac)
  36. 808264ee 6a03            push    3
  37. 808264f0 ff15f8108080    call    dword ptr [nt!_imp__HalReturnToFirmware (808010f8)]

  38. nt!KeBugCheck2+0x98:
  39. 808264f6 648b3520000000  mov     esi,dword ptr fs:[20h]
  40. 808264fd ff15f0108080    call    dword ptr [nt!_imp__KeGetCurrentIrql (808010f0)]
  41. 80826503 33c9            xor     ecx,ecx
  42. 80826505 888645050000    mov     byte ptr [esi+545h],al
  43. 8082650b b8c46d8980      mov     eax,offset nt!KiHardwareTrigger (80896dc4)
  44. 80826510 41              inc     ecx
  45. 80826511 f00fc108        lock xadd dword ptr [eax],ecx
  46. 80826515 64a120000000    mov     eax,dword ptr fs:[00000020h]
  47. 8082651b 83c01c          add     eax,1Ch
  48. 8082651e 50              push    eax
  49. 8082651f e8cc250600      call    nt!RtlCaptureContext (80888af0)
  50. 80826524 64a120000000    mov     eax,dword ptr fs:[00000020h]
  51. 8082652a 83c01c          add     eax,1Ch
  52. 8082652d 50              push    eax
  53. 8082652e e8cd810000      call    nt!KiSaveProcessorControlState (8082e700)
  54. 80826533 648b3520000000  mov     esi,dword ptr fs:[20h]
  55. 8082653a a150cb8980      mov     eax,dword ptr [nt!ExpWdHandler (8089cb50)]
  56. 8082653f 83c61c          add     esi,1Ch
  57. 80826542 85c0            test    eax,eax
  58. 80826544 b9b3000000      mov     ecx,0B3h
  59. 80826549 8dbdb0fcffff    lea     edi,[ebp-350h]
  60. 8082654f f3a5            rep movs dword ptr es:[edi],dword ptr [esi]
  61. 80826551 740e            je      nt!KeBugCheck2+0x103 (80826561)

  62. nt!KeBugCheck2+0xf5:
  63. 80826553 6a01            push    1
  64. 80826555 6a00            push    0
  65. 80826557 ff3554cb8980    push    dword ptr [nt!ExpWdHandlerContext (8089cb54)]
  66. 8082655d 6a03            push    3
  67. 8082655f ffd0            call    eax

  68. nt!KeBugCheck2+0x103:
  69. 80826561 8b7508          mov     esi,dword ptr [ebp+8]
  70. 80826564 83fe7f          cmp     esi,7Fh
  71. 80826567 6a1e            push    1Eh
  72. 80826569 b8c5000000      mov     eax,0C5h
  73. 8082656e 59              pop     ecx
  74. 8082656f 0f87c0000000    ja      nt!KeBugCheck2+0x1d7 (80826635)

  75. nt!KeBugCheck2+0x117:
  76. 80826575 0f841b010000    je      nt!KeBugCheck2+0x238 (80826696)

  77. nt!KeBugCheck2+0x11d:
  78. 8082657b 8bc6            mov     eax,esi
  79. 8082657d 2bc1            sub     eax,ecx
  80. 8082657f 7434            je      nt!KeBugCheck2+0x157 (808265b5)

  81. nt!KeBugCheck2+0x123:
  82. 80826581 83e805          sub     eax,5
  83. 80826584 0f840c010000    je      nt!KeBugCheck2+0x238 (80826696)

  84. nt!KeBugCheck2+0x12c:
  85. 8082658a 48              dec     eax
  86. 8082658b 0f8498000000    je      nt!KeBugCheck2+0x1cb (80826629)

  87. nt!KeBugCheck2+0x133:
  88. 80826591 83e80a          sub     eax,0Ah
  89. 80826594 0f84fc000000    je      nt!KeBugCheck2+0x238 (80826696)

  90. nt!KeBugCheck2+0x13c:
  91. 8082659a 83e811          sub     eax,11h
  92. 8082659d 0f84f3000000    je      nt!KeBugCheck2+0x238 (80826696)

  93. nt!KeBugCheck2+0x145:
  94. 808265a3 83e83c          sub     eax,3Ch
  95. 808265a6 0f84ea000000    je      nt!KeBugCheck2+0x238 (80826696)

  96. nt!KeBugCheck2+0x14e:
  97. 808265ac 83e803          sub     eax,3
  98. 808265af 0f85b8000000    jne     nt!KeBugCheck2+0x20f (8082666d)

  99. nt!KeBugCheck2+0x157:
  100. 808265b5 898d9cfcffff    mov     dword ptr [ebp-364h],ecx

  101. nt!KeBugCheck2+0x15d:
  102. 808265bb 8bbd94fcffff    mov     edi,dword ptr [ebp-36Ch]
  103. 808265c1 8b95a4fcffff    mov     edx,dword ptr [ebp-35Ch]
  104. 808265c7 8b8d84fcffff    mov     ecx,dword ptr [ebp-37Ch]
  105. 808265cd b8be000000      mov     eax,0BEh
  106. 808265d2 3bf0            cmp     esi,eax
  107. 808265d4 893520f68980    mov     dword ptr [nt!KiBugCheckData (8089f620)],esi
  108. 808265da 893d24f68980    mov     dword ptr [nt!KiBugCheckData+0x4 (8089f624)],edi
  109. 808265e0 891d28f68980    mov     dword ptr [nt!KiBugCheckData+0x8 (8089f628)],ebx
  110. 808265e6 89152cf68980    mov     dword ptr [nt!KiBugCheckData+0xc (8089f62c)],edx
  111. 808265ec 890d30f68980    mov     dword ptr [nt!KiBugCheckData+0x10 (8089f630)],ecx
  112. 808265f2 0f87c3020000    ja      nt!KeBugCheck2+0x45d (808268bb)

  113. nt!KeBugCheck2+0x19a:
  114. 808265f8 0f84d5020000    je      nt!KeBugCheck2+0x475 (808268d3)

  115. nt!KeBugCheck2+0x1a0:
  116. 808265fe 8bc6            mov     eax,esi
  117. 80826600 83e80a          sub     eax,0Ah
  118. 80826603 0f84d7010000    je      nt!KeBugCheck2+0x382 (808267e0)

  119. nt!KeBugCheck2+0x1ab:
  120. 80826609 83e842          sub     eax,42h
  121. 8082660c 0f8491010000    je      nt!KeBugCheck2+0x345 (808267a3)

  122. nt!KeBugCheck2+0x1b4:
  123. 80826612 83e804          sub     eax,4
  124. 80826615 0f8486000000    je      nt!KeBugCheck2+0x243 (808266a1)

  125. nt!KeBugCheck2+0x1bd:
  126. 8082661b 83e83e          sub     eax,3Eh
  127. 8082661e 0f84af020000    je      nt!KeBugCheck2+0x475 (808268d3)

  128. nt!KeBugCheck2+0x1c6:
  129. 80826624 e9ef020000      jmp     nt!KeBugCheck2+0x4ba (80826918)

  130. nt!KeBugCheck2+0x1cb:
  131. 80826629 c7859cfcffff23000000 mov dword ptr [ebp-364h],23h
  132. 80826633 eb86            jmp     nt!KeBugCheck2+0x15d (808265bb)

  133. nt!KeBugCheck2+0x1d7:
  134. 80826635 81fe8e000000    cmp     esi,8Eh
  135. 8082663b 0f8474ffffff    je      nt!KeBugCheck2+0x157 (808265b5)

  136. nt!KeBugCheck2+0x1e3:
  137. 80826641 81fea5000000    cmp     esi,0A5h
  138. 80826647 744d            je      nt!KeBugCheck2+0x238 (80826696)

  139. nt!KeBugCheck2+0x1eb:
  140. 80826649 3bf0            cmp     esi,eax
  141. 8082664b 7449            je      nt!KeBugCheck2+0x238 (80826696)

  142. nt!KeBugCheck2+0x1ef:
  143. 8082664d 81fed0000000    cmp     esi,0D0h
  144. 80826653 7436            je      nt!KeBugCheck2+0x22d (8082668b)

  145. nt!KeBugCheck2+0x1f7:
  146. 80826655 81fee0000000    cmp     esi,0E0h
  147. 8082665b 7439            je      nt!KeBugCheck2+0x238 (80826696)

  148. nt!KeBugCheck2+0x1ff:
  149. 8082665d 81feea000000    cmp     esi,0EAh
  150. 80826663 7431            je      nt!KeBugCheck2+0x238 (80826696)

  151. nt!KeBugCheck2+0x207:
  152. 80826665 81fed10200c0    cmp     esi,0C00002D1h
  153. 8082666b 740f            je      nt!KeBugCheck2+0x21e (8082667c)

  154. nt!KeBugCheck2+0x20f:
  155. 8082666d c7859cfcffff82000040 mov dword ptr [ebp-364h],40000082h
  156. 80826677 e93fffffff      jmp     nt!KeBugCheck2+0x15d (808265bb)

  157. nt!KeBugCheck2+0x21e:
  158. 8082667c c7859cfcffffc3000000 mov dword ptr [ebp-364h],0C3h
  159. 80826686 e930ffffff      jmp     nt!KeBugCheck2+0x15d (808265bb)

  160. nt!KeBugCheck2+0x22d:
  161. 8082668b 89859cfcffff    mov     dword ptr [ebp-364h],eax
  162. 80826691 e925ffffff      jmp     nt!KeBugCheck2+0x15d (808265bb)

  163. nt!KeBugCheck2+0x238:
  164. 80826696 89b59cfcffff    mov     dword ptr [ebp-364h],esi
  165. 8082669c e91affffff      jmp     nt!KeBugCheck2+0x15d (808265bb)

  166. nt!KeBugCheck2+0x243:
  167. 808266a1 83a5a4fcffff00  and     dword ptr [ebp-35Ch],0
  168. 808266a8 83bda8fcffff00  cmp     dword ptr [ebp-358h],0
  169. 808266af 750a            jne     nt!KeBugCheck2+0x25d (808266bb)

  170. nt!KeBugCheck2+0x253:
  171. 808266b1 85d2            test    edx,edx
  172. 808266b3 743f            je      nt!KeBugCheck2+0x296 (808266f4)

  173. nt!KeBugCheck2+0x257:
  174. 808266b5 8995a8fcffff    mov     dword ptr [ebp-358h],edx

  175. nt!KeBugCheck2+0x25d:
  176. 808266bb 8b85a8fcffff    mov     eax,dword ptr [ebp-358h]
  177. 808266c1 8b7068          mov     esi,dword ptr [eax+68h]
  178. 808266c4 8d85aefcffff    lea     eax,[ebp-352h]
  179. 808266ca 50              push    eax
  180. 808266cb 6a00            push    0
  181. 808266cd 8d85a4fcffff    lea     eax,[ebp-35Ch]
  182. 808266d3 50              push    eax
  183. 808266d4 56              push    esi
  184. 808266d5 89b5a0fcffff    mov     dword ptr [ebp-360h],esi
  185. 808266db 89352cf68980    mov     dword ptr [nt!KiBugCheckData+0xc (8089f62c)],esi
  186. 808266e1 e8d0f4ffff      call    nt!KiPcToFileHeader (80825bb6)
  187. 808266e6 8a9daefcffff    mov     bl,byte ptr [ebp-352h]
  188. 808266ec 8985a4fcffff    mov     dword ptr [ebp-35Ch],eax
  189. 808266f2 eb08            jmp     nt!KeBugCheck2+0x29e (808266fc)

  190. nt!KeBugCheck2+0x296:
  191. 808266f4 8bb5a0fcffff    mov     esi,dword ptr [ebp-360h]
  192. 808266fa b301            mov     bl,1

  193. nt!KeBugCheck2+0x29e:
  194. 808266fc 8bbd94fcffff    mov     edi,dword ptr [ebp-36Ch]
  195. 80826702 57              push    edi
  196. 80826703 e88e310300      call    nt!MmIsSpecialPoolAddress (80859896)
  197. 80826708 83f801          cmp     eax,1
  198. 8082670b 7534            jne     nt!KeBugCheck2+0x2e3 (80826741)

  199. nt!KeBugCheck2+0x2af:
  200. 8082670d 57              push    edi
  201. 8082670e e8ab310300      call    nt!MmIsSpecialPoolAddressFree (808598be)
  202. 80826713 fecb            dec     bl
  203. 80826715 83f801          cmp     eax,1
  204. 80826718 750f            jne     nt!KeBugCheck2+0x2cb (80826729)

  205. nt!KeBugCheck2+0x2bc:
  206. 8082671a f6db            neg     bl
  207. 8082671c 1bdb            sbb     ebx,ebx
  208. 8082671e 83e309          and     ebx,9
  209. 80826721 81c3cc000000    add     ebx,0CCh
  210. 80826727 eb0d            jmp     nt!KeBugCheck2+0x2d8 (80826736)

  211. nt!KeBugCheck2+0x2cb:
  212. 80826729 f6db            neg     bl
  213. 8082672b 1bdb            sbb     ebx,ebx
  214. 8082672d 83e309          and     ebx,9
  215. 80826730 81c3cd000000    add     ebx,0CDh

  216. nt!KeBugCheck2+0x2d8:
  217. 80826736 891d20f68980    mov     dword ptr [nt!KiBugCheckData (8089f620)],ebx
  218. 8082673c e9d7010000      jmp     nt!KeBugCheck2+0x4ba (80826918)

  219. nt!KeBugCheck2+0x2e3:
  220. 80826741 3bf7            cmp     esi,edi
  221. 80826743 752f            jne     nt!KeBugCheck2+0x316 (80826774)

  222. nt!KeBugCheck2+0x2e7:
  223. 80826745 57              push    edi
  224. 80826746 e865150300      call    nt!MmIsSessionAddress (80857cb0)
  225. 8082674b 83f801          cmp     eax,1
  226. 8082674e 7524            jne     nt!KeBugCheck2+0x316 (80826774)

  227. nt!KeBugCheck2+0x2f2:
  228. 80826750 8b858cfcffff    mov     eax,dword ptr [ebp-374h]
  229. 80826756 8b4074          mov     eax,dword ptr [eax+74h]
  230. 80826759 85c0            test    eax,eax
  231. 8082675b 7408            je      nt!KeBugCheck2+0x307 (80826765)

  232. nt!KeBugCheck2+0x2ff:
  233. 8082675d 3b05e4588980    cmp     eax,dword ptr [nt!MmSystemRangeStart (808958e4)]
  234. 80826763 720f            jb      nt!KeBugCheck2+0x316 (80826774)

  235. nt!KeBugCheck2+0x307:
  236. 80826765 c70520f68980cf000000 mov dword ptr [nt!KiBugCheckData (8089f620)],0CFh
  237. 8082676f e9a4010000      jmp     nt!KeBugCheck2+0x4ba (80826918)

  238. nt!KeBugCheck2+0x316:
  239. 80826774 83bda4fcffff00  cmp     dword ptr [ebp-35Ch],0
  240. 8082677b 0f8597010000    jne     nt!KeBugCheck2+0x4ba (80826918)

  241. nt!KeBugCheck2+0x323:
  242. 80826781 57              push    edi
  243. 80826782 e83fe30100      call    nt!MmLocateUnloadedDriver (80844ac6)
  244. 80826787 85c0            test    eax,eax
  245. 80826789 a310f68980      mov     dword ptr [nt!KiBugCheckDriver (8089f610)],eax
  246. 8082678e 0f84a3010000    je      nt!KeBugCheck2+0x4d9 (80826937)

  247. nt!KeBugCheck2+0x336:
  248. 80826794 c70520f68980ce000000 mov dword ptr [nt!KiBugCheckData (8089f620)],0CEh
  249. 8082679e e975010000      jmp     nt!KeBugCheck2+0x4ba (80826918)

  250. nt!KeBugCheck2+0x345:
  251. 808267a3 893d20f68980    mov     dword ptr [nt!KiBugCheckData (8089f620)],edi
  252. 808267a9 8b03            mov     eax,dword ptr [ebx]
  253. 808267ab a324f68980      mov     dword ptr [nt!KiBugCheckData+0x4 (8089f624)],eax
  254. 808267b0 8b4304          mov     eax,dword ptr [ebx+4]
  255. 808267b3 a328f68980      mov     dword ptr [nt!KiBugCheckData+0x8 (8089f628)],eax
  256. 808267b8 8b4308          mov     eax,dword ptr [ebx+8]
  257. 808267bb a32cf68980      mov     dword ptr [nt!KiBugCheckData+0xc (8089f62c)],eax
  258. 808267c0 8b430c          mov     eax,dword ptr [ebx+0Ch]
  259. 808267c3 c68588fcffff01  mov     byte ptr [ebp-378h],1
  260. 808267ca 899598fcffff    mov     dword ptr [ebp-368h],edx
  261. 808267d0 898d90fcffff    mov     dword ptr [ebp-370h],ecx
  262. 808267d6 a330f68980      mov     dword ptr [nt!KiBugCheckData+0x10 (8089f630)],eax
  263. 808267db e938010000      jmp     nt!KeBugCheck2+0x4ba (80826918)

  264. nt!KeBugCheck2+0x382:
  265. 808267e0 3b0d0c008a80    cmp     ecx,dword ptr [nt!ExPoolCodeStart (808a000c)]
  266. 808267e6 7217            jb      nt!KeBugCheck2+0x3a1 (808267ff)

  267. nt!KeBugCheck2+0x38a:
  268. 808267e8 3b0d08008a80    cmp     ecx,dword ptr [nt!ExPoolCodeEnd (808a0008)]
  269. 808267ee 730f            jae     nt!KeBugCheck2+0x3a1 (808267ff)

  270. nt!KeBugCheck2+0x392:
  271. 808267f0 c70520f68980c5000000 mov dword ptr [nt!KiBugCheckData (8089f620)],0C5h
  272. 808267fa e9b3000000      jmp     nt!KeBugCheck2+0x454 (808268b2)

  273. nt!KeBugCheck2+0x3a1:
  274. 808267ff 3b0d04008a80    cmp     ecx,dword ptr [nt!MmPoolCodeStart (808a0004)]
  275. 80826805 7217            jb      nt!KeBugCheck2+0x3c0 (8082681e)

  276. nt!KeBugCheck2+0x3a9:
  277. 80826807 3b0d00008a80    cmp     ecx,dword ptr [nt!MmPoolCodeEnd (808a0000)]
  278. 8082680d 730f            jae     nt!KeBugCheck2+0x3c0 (8082681e)

  279. nt!KeBugCheck2+0x3b1:
  280. 8082680f c70520f68980d0000000 mov dword ptr [nt!KiBugCheckData (8089f620)],0D0h
  281. 80826819 e994000000      jmp     nt!KeBugCheck2+0x454 (808268b2)

  282. nt!KeBugCheck2+0x3c0:
  283. 8082681e 3b0dfcff8980    cmp     ecx,dword ptr [nt!MmPteCodeStart (8089fffc)]
  284. 80826824 7214            jb      nt!KeBugCheck2+0x3dc (8082683a)

  285. nt!KeBugCheck2+0x3c8:
  286. 80826826 3b0df8ff8980    cmp     ecx,dword ptr [nt!MmPteCodeEnd (8089fff8)]
  287. 8082682c 730c            jae     nt!KeBugCheck2+0x3dc (8082683a)

  288. nt!KeBugCheck2+0x3d0:
  289. 8082682e c70520f68980db000000 mov dword ptr [nt!KiBugCheckData (8089f620)],0DBh
  290. 80826838 eb78            jmp     nt!KeBugCheck2+0x454 (808268b2)

  291. nt!KeBugCheck2+0x3dc:
  292. 8082683a 8d85aefcffff    lea     eax,[ebp-352h]
  293. 80826840 50              push    eax
  294. 80826841 6a00            push    0
  295. 80826843 8d85a4fcffff    lea     eax,[ebp-35Ch]
  296. 80826849 50              push    eax
  297. 8082684a 51              push    ecx
  298. 8082684b e866f3ffff      call    nt!KiPcToFileHeader (80825bb6)
  299. 80826850 80bdaefcffff01  cmp     byte ptr [ebp-352h],1
  300. 80826857 754f            jne     nt!KeBugCheck2+0x44a (808268a8)

  301. nt!KeBugCheck2+0x3fb:
  302. 80826859 8d85aefcffff    lea     eax,[ebp-352h]
  303. 8082685f 50              push    eax
  304. 80826860 6a01            push    1
  305. 80826862 8d85a4fcffff    lea     eax,[ebp-35Ch]
  306. 80826868 50              push    eax
  307. 80826869 57              push    edi
  308. 8082686a e847f3ffff      call    nt!KiPcToFileHeader (80825bb6)
  309. 8082686f 85c0            test    eax,eax
  310. 80826871 741a            je      nt!KeBugCheck2+0x42f (8082688d)

  311. nt!KeBugCheck2+0x415:
  312. 80826873 8b85a4fcffff    mov     eax,dword ptr [ebp-35Ch]
  313. 80826879 83c02c          add     eax,2Ch
  314. 8082687c a310f68980      mov     dword ptr [nt!KiBugCheckDriver (8089f610)],eax
  315. 80826881 c70520f68980d3000000 mov dword ptr [nt!KiBugCheckData (8089f620)],0D3h
  316. 8082688b eb25            jmp     nt!KeBugCheck2+0x454 (808268b2)

  317. nt!KeBugCheck2+0x42f:
  318. 8082688d 57              push    edi
  319. 8082688e e833e20100      call    nt!MmLocateUnloadedDriver (80844ac6)
  320. 80826893 85c0            test    eax,eax
  321. 80826895 a310f68980      mov     dword ptr [nt!KiBugCheckDriver (8089f610)],eax
  322. 8082689a 7416            je      nt!KeBugCheck2+0x454 (808268b2)

  323. nt!KeBugCheck2+0x43e:
  324. 8082689c c70520f68980d4000000 mov dword ptr [nt!KiBugCheckData (8089f620)],0D4h
  325. 808268a6 eb0a            jmp     nt!KeBugCheck2+0x454 (808268b2)

  326. nt!KeBugCheck2+0x44a:
  327. 808268a8 c70520f68980d1000000 mov dword ptr [nt!KiBugCheckData (8089f620)],0D1h

  328. nt!KeBugCheck2+0x454:
  329. 808268b2 83a5a0fcffff00  and     dword ptr [ebp-360h],0
  330. 808268b9 eb5d            jmp     nt!KeBugCheck2+0x4ba (80826918)

  331. nt!KeBugCheck2+0x45d:
  332. 808268bb 8bc6            mov     eax,esi
  333. 808268bd 2dcb000000      sub     eax,0CBh
  334. 808268c2 744e            je      nt!KeBugCheck2+0x4b4 (80826912)

  335. nt!KeBugCheck2+0x466:
  336. 808268c4 83e80d          sub     eax,0Dh
  337. 808268c7 743e            je      nt!KeBugCheck2+0x4a9 (80826907)

  338. nt!KeBugCheck2+0x46b:
  339. 808268c9 83e812          sub     eax,12h
  340. 808268cc 7431            je      nt!KeBugCheck2+0x4a1 (808268ff)

  341. nt!KeBugCheck2+0x470:
  342. 808268ce 83e812          sub     eax,12h
  343. 808268d1 7545            jne     nt!KeBugCheck2+0x4ba (80826918)

  344. nt!KeBugCheck2+0x475:
  345. 808268d3 83bda8fcffff00  cmp     dword ptr [ebp-358h],0
  346. 808268da 750a            jne     nt!KeBugCheck2+0x488 (808268e6)

  347. nt!KeBugCheck2+0x47e:
  348. 808268dc 85d2            test    edx,edx
  349. 808268de 7438            je      nt!KeBugCheck2+0x4ba (80826918)

  350. nt!KeBugCheck2+0x482:
  351. 808268e0 8995a8fcffff    mov     dword ptr [ebp-358h],edx

  352. nt!KeBugCheck2+0x488:
  353. 808268e6 81fe8e000000    cmp     esi,8Eh
  354. 808268ec 742a            je      nt!KeBugCheck2+0x4ba (80826918)

  355. nt!KeBugCheck2+0x490:
  356. 808268ee 8b85a8fcffff    mov     eax,dword ptr [ebp-358h]
  357. 808268f4 8b4068          mov     eax,dword ptr [eax+68h]
  358. 808268f7 8985a0fcffff    mov     dword ptr [ebp-360h],eax
  359. 808268fd eb19            jmp     nt!KeBugCheck2+0x4ba (80826918)

  360. nt!KeBugCheck2+0x4a1:
  361. 808268ff 891510f68980    mov     dword ptr [nt!KiBugCheckDriver (8089f610)],edx
  362. 80826905 eb11            jmp     nt!KeBugCheck2+0x4ba (80826918)

  363. nt!KeBugCheck2+0x4a9:
  364. 80826907 83c72c          add     edi,2Ch
  365. 8082690a 893d10f68980    mov     dword ptr [nt!KiBugCheckDriver (8089f610)],edi
  366. 80826910 eb06            jmp     nt!KeBugCheck2+0x4ba (80826918)

  367. nt!KeBugCheck2+0x4b4:
  368. 80826912 89bda0fcffff    mov     dword ptr [ebp-360h],edi

  369. nt!KeBugCheck2+0x4ba:
  370. 80826918 a110f68980      mov     eax,dword ptr [nt!KiBugCheckDriver (8089f610)]
  371. 8082691d 85c0            test    eax,eax
  372. 8082691f 7416            je      nt!KeBugCheck2+0x4d9 (80826937)

  373. nt!KeBugCheck2+0x4c3:
  374. 80826921 6880000000      push    80h
  375. 80826926 8d8d7cffffff    lea     ecx,[ebp-84h]
  376. 8082692c 51              push    ecx
  377. 8082692d 50              push    eax
  378. 8082692e e8adf1ffff      call    nt!KeBugCheckUnicodeToAnsi (80825ae0)
  379. 80826933 33f6            xor     esi,esi
  380. 80826935 eb24            jmp     nt!KeBugCheck2+0x4fd (8082695b)

  381. nt!KeBugCheck2+0x4d9:
  382. 80826937 33f6            xor     esi,esi
  383. 80826939 39b5a0fcffff    cmp     dword ptr [ebp-360h],esi
  384. 8082693f 741a            je      nt!KeBugCheck2+0x4fd (8082695b)

  385. nt!KeBugCheck2+0x4e3:
  386. 80826941 68e05a8280      push    offset nt!KeBugCheckUnicodeToAnsi (80825ae0)
  387. 80826946 6a01            push    1
  388. 80826948 8d85a0fcffff    lea     eax,[ebp-360h]
  389. 8082694e 50              push    eax
  390. 8082694f 8d857cffffff    lea     eax,[ebp-84h]
  391. 80826955 50              push    eax
  392. 80826956 e805f7ffff      call    nt!KiDumpParameterImages (80826060)

  393. nt!KeBugCheck2+0x4fd:
  394. 8082695b 803da8e8888000  cmp     byte ptr [nt!KdPitchDebugger (8088e8a8)],0
  395. 80826962 7511            jne     nt!KeBugCheck2+0x517 (80826975)

  396. nt!KeBugCheck2+0x506:
  397. 80826964 8d85b0fcffff    lea     eax,[ebp-350h]
  398. 8082696a a308e48880      mov     dword ptr [nt!KdDebuggerDataBlock+0x28 (8088e408)],eax
  399. 8082696f 89350ce48880    mov     dword ptr [nt!KdDebuggerDataBlock+0x2c (8088e40c)],esi

  400. nt!KeBugCheck2+0x517:
  401. 80826975 b8ec498980      mov     eax,offset nt!KeBugCheckCount (808949ec)
  402. 8082697a 83c9ff          or      ecx,0FFFFFFFFh
  403. 8082697d f00fc108        lock xadd dword ptr [eax],ecx
  404. 80826981 0f85a8000000    jne     nt!KeBugCheck2+0x5d1 (80826a2f)

  405. nt!KeBugCheck2+0x529:
  406. 80826987 817d08e2000000  cmp     dword ptr [ebp+8],0E2h
  407. 8082698e c685adfcffff01  mov     byte ptr [ebp-353h],1
  408. 80826995 0f8494000000    je      nt!KeBugCheck2+0x5d1 (80826a2f)

  409. nt!KeBugCheck2+0x53d:
  410. 8082699b 803dd0ec898000  cmp     byte ptr [nt!KdDebuggerEnabled (8089ecd0)],0
  411. 808269a2 0f8487000000    je      nt!KeBugCheck2+0x5d1 (80826a2f)

  412. nt!KeBugCheck2+0x54a:
  413. 808269a8 ff3530f68980    push    dword ptr [nt!KiBugCheckData+0x10 (8089f630)]
  414. 808269ae ff352cf68980    push    dword ptr [nt!KiBugCheckData+0xc (8089f62c)]
  415. 808269b4 ff3528f68980    push    dword ptr [nt!KiBugCheckData+0x8 (8089f628)]
  416. 808269ba ff3524f68980    push    dword ptr [nt!KiBugCheckData+0x4 (8089f624)]
  417. 808269c0 ff3520f68980    push    dword ptr [nt!KiBugCheckData (8089f620)]
  418. 808269c6 68ee638280      push    offset nt!KiDisplayBlueScreen+0x1ba (808263ee)
  419. 808269cb e8b0670400      call    nt!DbgPrint (8086d180)
  420. 808269d0 83c418          add     esp,18h
  421. 808269d3 803dd1ec898000  cmp     byte ptr [nt!KdDebuggerNotPresent (8089ecd1)],0
  422. 808269da 7553            jne     nt!KeBugCheck2+0x5d1 (80826a2f)

  423. nt!KeBugCheck2+0x57e:
  424. 808269dc 393510f68980    cmp     dword ptr [nt!KiBugCheckDriver (8089f610)],esi
  425. 808269e2 7413            je      nt!KeBugCheck2+0x599 (808269f7)

  426. nt!KeBugCheck2+0x586:
  427. 808269e4 8d857cffffff    lea     eax,[ebp-84h]
  428. 808269ea 50              push    eax
  429. 808269eb 683e648280      push    offset nt!KiDisplayBlueScreen+0x20a (8082643e)
  430. 808269f0 e88b670400      call    nt!DbgPrint (8086d180)
  431. 808269f5 59              pop     ecx
  432. 808269f6 59              pop     ecx

  433. nt!KeBugCheck2+0x599:
  434. 808269f7 80bd88fcffff00  cmp     byte ptr [ebp-378h],0
  435. 808269fe 7428            je      nt!KeBugCheck2+0x5ca (80826a28)

  436. nt!KeBugCheck2+0x5a2:
  437. 80826a00 39b598fcffff    cmp     dword ptr [ebp-368h],esi
  438. 80826a06 740c            je      nt!KeBugCheck2+0x5b6 (80826a14)

  439. nt!KeBugCheck2+0x5aa:
  440. 80826a08 ffb598fcffff    push    dword ptr [ebp-368h]
  441. 80826a0e e86d670400      call    nt!DbgPrint (8086d180)
  442. 80826a13 59              pop     ecx

  443. nt!KeBugCheck2+0x5b6:
  444. 80826a14 39b590fcffff    cmp     dword ptr [ebp-370h],esi
  445. 80826a1a 740c            je      nt!KeBugCheck2+0x5ca (80826a28)

  446. nt!KeBugCheck2+0x5be:
  447. 80826a1c ffb590fcffff    push    dword ptr [ebp-370h]
  448. 80826a22 e859670400      call    nt!DbgPrint (8086d180)
  449. 80826a27 59              pop     ecx

  450. nt!KeBugCheck2+0x5ca:
  451. 80826a28 6a03            push    3
  452. 80826a2a e8f3f0ffff      call    nt!KiBugCheckDebugBreak (80825b22)

  453. nt!KeBugCheck2+0x5d1:
  454. 80826a2f e8907c0000      call    nt!KeDisableInterrupts (8082e6c4)
  455. 80826a34 b11f            mov     cl,1Fh
  456. 80826a36 ff15fc108080    call    dword ptr [nt!_imp_KfRaiseIrql (808010fc)]
  457. 80826a3c 80bdadfcffff00  cmp     byte ptr [ebp-353h],0
  458. 80826a43 0f84d0020000    je      nt!KeBugCheck2+0x8bb (80826d19)

  459. nt!KeBugCheck2+0x5eb:
  460. 80826a49 8d857cffffff    lea     eax,[ebp-84h]
  461. 80826a4f 50              push    eax
  462. 80826a50 ffb590fcffff    push    dword ptr [ebp-370h]
  463. 80826a56 ffb598fcffff    push    dword ptr [ebp-368h]
  464. 80826a5c ffb588fcffff    push    dword ptr [ebp-378h]
  465. 80826a62 ffb59cfcffff    push    dword ptr [ebp-364h]
  466. 80826a68 e8c7f7ffff      call    nt!KiDisplayBlueScreen (80826234)
  467. 80826a6d e8b6f4ffff      call    nt!KiInvokeBugCheckEntryCallbacks (80825f28)
  468. 80826a72 803dd0ec898000  cmp     byte ptr [nt!KdDebuggerEnabled (8089ecd0)],0
  469. 80826a79 7511            jne     nt!KeBugCheck2+0x62e (80826a8c)

  470. nt!KeBugCheck2+0x61d:
  471. 80826a7b 803da8e8888000  cmp     byte ptr [nt!KdPitchDebugger (8088e8a8)],0
  472. 80826a82 7508            jne     nt!KeBugCheck2+0x62e (80826a8c)

  473. nt!KeBugCheck2+0x626:
  474. 80826a84 56              push    esi
  475. 80826a85 e888d1ffff      call    nt!KdEnableDebuggerWithLock (80823c12)
  476. 80826a8a eb0a            jmp     nt!KeBugCheck2+0x638 (80826a96)

  477. nt!KeBugCheck2+0x62e:
  478. 80826a8c 6856648280      push    offset nt!KiDisplayBlueScreen+0x222 (80826456)
  479. 80826a91 e8e444ffff      call    nt!InbvDisplayString (8081af7a)

  480. nt!KeBugCheck2+0x638:
  481. 80826a96 648b3d20000000  mov     edi,dword ptr fs:[20h]
  482. 80826a9d bbb3000000      mov     ebx,0B3h
  483. 80826aa2 83c71c          add     edi,1Ch
  484. 80826aa5 8bcb            mov     ecx,ebx
  485. 80826aa7 8db5b0fcffff    lea     esi,[ebp-350h]
  486. 80826aad f3a5            rep movs dword ptr es:[edi],dword ptr [esi]
  487. 80826aaf e83078ffff      call    nt!IoIsTriageDumpEnabled (8081e2e4)
  488. 80826ab4 84c0            test    al,al
  489. 80826ab6 0f8424020000    je      nt!KeBugCheck2+0x882 (80826ce0)

  490. nt!KeBugCheck2+0x65e:
  491. 80826abc 83bda8fcffff00  cmp     dword ptr [ebp-358h],0
  492. 80826ac3 7423            je      nt!KeBugCheck2+0x68a (80826ae8)

  493. nt!KeBugCheck2+0x667:
  494. 80826ac5 8d85b0fcffff    lea     eax,[ebp-350h]
  495. 80826acb 50              push    eax
  496. 80826acc 6a00            push    0
  497. 80826ace ffb5a8fcffff    push    dword ptr [ebp-358h]
  498. 80826ad4 c785b0fcffff07000100 mov dword ptr [ebp-350h],10007h
  499. 80826ade e891450000      call    nt!KeContextFromKframes (8082b074)
  500. 80826ae3 e949010000      jmp     nt!KeBugCheck2+0x7d3 (80826c31)

  501. nt!KeBugCheck2+0x68a:
  502. 80826ae8 8b4508          mov     eax,dword ptr [ebp+8]
  503. 80826aeb 83e87e          sub     eax,7Eh
  504. 80826aee 0f8429010000    je      nt!KeBugCheck2+0x7bf (80826c1d)

  505. nt!KeBugCheck2+0x696:
  506. 80826af4 48              dec     eax
  507. 80826af5 7450            je      nt!KeBugCheck2+0x6e9 (80826b47)

  508. nt!KeBugCheck2+0x699:
  509. 80826af7 83e86b          sub     eax,6Bh
  510. 80826afa 0f8538010000    jne     nt!KeBugCheck2+0x7da (80826c38)

  511. nt!KeBugCheck2+0x6a2:
  512. 80826b00 8b8594fcffff    mov     eax,dword ptr [ebp-36Ch]
  513. 80826b06 80784c02        cmp     byte ptr [eax+4Ch],2
  514. 80826b0a 89858cfcffff    mov     dword ptr [ebp-374h],eax
  515. 80826b10 7513            jne     nt!KeBugCheck2+0x6c7 (80826b25)

  516. nt!KeBugCheck2+0x6b4:
  517. 80826b12 0fb64040        movzx   eax,byte ptr [eax+40h]
  518. 80826b16 8b348500f38980  mov     esi,dword ptr nt!KiProcessorBlock (8089f300)[eax*4]
  519. 80826b1d 83c61c          add     esi,1Ch
  520. 80826b20 e902010000      jmp     nt!KeBugCheck2+0x7c9 (80826c27)

  521. nt!KeBugCheck2+0x6c7:
  522. 80826b25 8b4020          mov     eax,dword ptr [eax+20h]
  523. 80826b28 8d480c          lea     ecx,[eax+0Ch]
  524. 80826b2b 898d74fdffff    mov     dword ptr [ebp-28Ch],ecx
  525. 80826b31 8b09            mov     ecx,dword ptr [ecx]
  526. 80826b33 898d64fdffff    mov     dword ptr [ebp-29Ch],ecx
  527. 80826b39 8b4008          mov     eax,dword ptr [eax+8]
  528. 80826b3c 898568fdffff    mov     dword ptr [ebp-298h],eax
  529. 80826b42 e9ea000000      jmp     nt!KeBugCheck2+0x7d3 (80826c31)

  530. nt!KeBugCheck2+0x6e9:
  531. 80826b47 83bd94fcffff08  cmp     dword ptr [ebp-36Ch],8
  532. 80826b4e 0f85e4000000    jne     nt!KeBugCheck2+0x7da (80826c38)

  533. nt!KeBugCheck2+0x6f6:
  534. 80826b54 8b8580fcffff    mov     eax,dword ptr [ebp-380h]
  535. 80826b5a 85c0            test    eax,eax
  536. 80826b5c 0f84cf000000    je      nt!KeBugCheck2+0x7d3 (80826c31)

  537. nt!KeBugCheck2+0x704:
  538. 80826b62 8b4824          mov     ecx,dword ptr [eax+24h]
  539. 80826b65 f7c100000200    test    ecx,20000h
  540. 80826b6b 740c            je      nt!KeBugCheck2+0x71b (80826b79)

  541. nt!KeBugCheck2+0x70f:
  542. 80826b6d 0fb75050        movzx   edx,word ptr [eax+50h]

  543. nt!KeBugCheck2+0x713:
  544. 80826b71 899578fdffff    mov     dword ptr [ebp-288h],edx
  545. 80826b77 eb19            jmp     nt!KeBugCheck2+0x734 (80826b92)

  546. nt!KeBugCheck2+0x71b:
  547. 80826b79 f6404c01        test    byte ptr [eax+4Ch],1
  548. 80826b7d 7409            je      nt!KeBugCheck2+0x72a (80826b88)

  549. nt!KeBugCheck2+0x721:
  550. 80826b7f 0fb75050        movzx   edx,word ptr [eax+50h]
  551. 80826b83 83ca03          or      edx,3
  552. 80826b86 ebe9            jmp     nt!KeBugCheck2+0x713 (80826b71)

  553. nt!KeBugCheck2+0x72a:
  554. 80826b88 c78578fdffff10000000 mov dword ptr [ebp-288h],10h

  555. nt!KeBugCheck2+0x734:
  556. 80826b92 0fb7505c        movzx   edx,word ptr [eax+5Ch]
  557. 80826b96 89953cfdffff    mov     dword ptr [ebp-2C4h],edx
  558. 80826b9c 0fb75058        movzx   edx,word ptr [eax+58h]
  559. 80826ba0 899540fdffff    mov     dword ptr [ebp-2C0h],edx
  560. 80826ba6 0fb75048        movzx   edx,word ptr [eax+48h]
  561. 80826baa 899544fdffff    mov     dword ptr [ebp-2BCh],edx
  562. 80826bb0 0fb75054        movzx   edx,word ptr [eax+54h]
  563. 80826bb4 899548fdffff    mov     dword ptr [ebp-2B8h],edx
  564. 80826bba 0fb7504c        movzx   edx,word ptr [eax+4Ch]
  565. 80826bbe 89956cfdffff    mov     dword ptr [ebp-294h],edx
  566. 80826bc4 8b5038          mov     edx,dword ptr [eax+38h]
  567. 80826bc7 899574fdffff    mov     dword ptr [ebp-28Ch],edx
  568. 80826bcd 8b5020          mov     edx,dword ptr [eax+20h]
  569. 80826bd0 899568fdffff    mov     dword ptr [ebp-298h],edx
  570. 80826bd6 8b503c          mov     edx,dword ptr [eax+3Ch]
  571. 80826bd9 899564fdffff    mov     dword ptr [ebp-29Ch],edx
  572. 80826bdf 8b5028          mov     edx,dword ptr [eax+28h]
  573. 80826be2 899560fdffff    mov     dword ptr [ebp-2A0h],edx
  574. 80826be8 8b5034          mov     edx,dword ptr [eax+34h]
  575. 80826beb 899554fdffff    mov     dword ptr [ebp-2ACh],edx
  576. 80826bf1 8b502c          mov     edx,dword ptr [eax+2Ch]
  577. 80826bf4 89955cfdffff    mov     dword ptr [ebp-2A4h],edx
  578. 80826bfa 8b5030          mov     edx,dword ptr [eax+30h]
  579. 80826bfd 899558fdffff    mov     dword ptr [ebp-2A8h],edx
  580. 80826c03 8b5044          mov     edx,dword ptr [eax+44h]
  581. 80826c06 8b4040          mov     eax,dword ptr [eax+40h]
  582. 80826c09 89954cfdffff    mov     dword ptr [ebp-2B4h],edx
  583. 80826c0f 898550fdffff    mov     dword ptr [ebp-2B0h],eax
  584. 80826c15 898d70fdffff    mov     dword ptr [ebp-290h],ecx
  585. 80826c1b eb14            jmp     nt!KeBugCheck2+0x7d3 (80826c31)

  586. nt!KeBugCheck2+0x7bf:
  587. 80826c1d 8bb584fcffff    mov     esi,dword ptr [ebp-37Ch]
  588. 80826c23 85f6            test    esi,esi
  589. 80826c25 7411            je      nt!KeBugCheck2+0x7da (80826c38)

  590. nt!KeBugCheck2+0x7c9:
  591. 80826c27 8dbdb0fcffff    lea     edi,[ebp-350h]
  592. 80826c2d 8bcb            mov     ecx,ebx
  593. 80826c2f f3a5            rep movs dword ptr es:[edi],dword ptr [esi]

  594. nt!KeBugCheck2+0x7d3:
  595. 80826c31 800d23f6898010  or      byte ptr [nt!KiBugCheckData+0x3 (8089f623)],10h

  596. nt!KeBugCheck2+0x7da:
  597. 80826c38 a124f68980      mov     eax,dword ptr [nt!KiBugCheckData+0x4 (8089f624)]
  598. 80826c3d bf00100000      mov     edi,1000h
  599. 80826c42 be00f0ffff      mov     esi,0FFFFF000h
  600. 80826c47 57              push    edi
  601. 80826c48 23c6            and     eax,esi
  602. 80826c4a 50              push    eax
  603. 80826c4b e8b475ffff      call    nt!IoAddTriageDumpDataBlock (8081e204)
  604. 80826c50 a128f68980      mov     eax,dword ptr [nt!KiBugCheckData+0x8 (8089f628)]
  605. 80826c55 57              push    edi
  606. 80826c56 23c6            and     eax,esi
  607. 80826c58 50              push    eax
  608. 80826c59 e8a675ffff      call    nt!IoAddTriageDumpDataBlock (8081e204)
  609. 80826c5e a12cf68980      mov     eax,dword ptr [nt!KiBugCheckData+0xc (8089f62c)]
  610. 80826c63 57              push    edi
  611. 80826c64 23c6            and     eax,esi
  612. 80826c66 50              push    eax
  613. 80826c67 e89875ffff      call    nt!IoAddTriageDumpDataBlock (8081e204)
  614. 80826c6c a130f68980      mov     eax,dword ptr [nt!KiBugCheckData+0x10 (8089f630)]
  615. 80826c71 57              push    edi
  616. 80826c72 23c6            and     eax,esi
  617. 80826c74 50              push    eax
  618. 80826c75 e88a75ffff      call    nt!IoAddTriageDumpDataBlock (8081e204)
  619. 80826c7a a120f68980      mov     eax,dword ptr [nt!KiBugCheckData (8089f620)]
  620. 80826c7f 25ffffffef      and     eax,0EFFFFFFFh
  621. 80826c84 3dcd000000      cmp     eax,0CDh
  622. 80826c89 741d            je      nt!KeBugCheck2+0x84a (80826ca8)

  623. nt!KeBugCheck2+0x82d:
  624. 80826c8b 3dd6000000      cmp     eax,0D6h
  625. 80826c90 7416            je      nt!KeBugCheck2+0x84a (80826ca8)

  626. nt!KeBugCheck2+0x834:
  627. 80826c92 3dd1000000      cmp     eax,0D1h
  628. 80826c97 7522            jne     nt!KeBugCheck2+0x85d (80826cbb)

  629. nt!KeBugCheck2+0x83b:
  630. 80826c99 ff3524f68980    push    dword ptr [nt!KiBugCheckData+0x4 (8089f624)]
  631. 80826c9f e8f22b0300      call    nt!MmIsSpecialPoolAddress (80859896)
  632. 80826ca4 85c0            test    eax,eax
  633. 80826ca6 7413            je      nt!KeBugCheck2+0x85d (80826cbb)

  634. nt!KeBugCheck2+0x84a:
  635. 80826ca8 a124f68980      mov     eax,dword ptr [nt!KiBugCheckData+0x4 (8089f624)]
  636. 80826cad 0500f0ffff      add     eax,0FFFFF000h
  637. 80826cb2 23c6            and     eax,esi
  638. 80826cb4 57              push    edi
  639. 80826cb5 50              push    eax
  640. 80826cb6 e84975ffff      call    nt!IoAddTriageDumpDataBlock (8081e204)

  641. nt!KeBugCheck2+0x85d:
  642. 80826cbb 64a120000000    mov     eax,dword ptr fs:[00000020h]
  643. 80826cc1 80b85a09000000  cmp     byte ptr [eax+95Ah],0
  644. 80826cc8 7416            je      nt!KeBugCheck2+0x882 (80826ce0)

  645. nt!KeBugCheck2+0x86c:
  646. 80826cca 64a120000000    mov     eax,dword ptr fs:[00000020h]
  647. 80826cd0 0fb6805a090000  movzx   eax,byte ptr [eax+95Ah]
  648. 80826cd7 57              push    edi
  649. 80826cd8 23c6            and     eax,esi
  650. 80826cda 50              push    eax
  651. 80826cdb e82475ffff      call    nt!IoAddTriageDumpDataBlock (8081e204)

  652. nt!KeBugCheck2+0x882:
  653. 80826ce0 8d85affcffff    lea     eax,[ebp-351h]
  654. 80826ce6 50              push    eax
  655. 80826ce7 ffb58cfcffff    push    dword ptr [ebp-374h]
  656. 80826ced 8d85b0fcffff    lea     eax,[ebp-350h]
  657. 80826cf3 50              push    eax
  658. 80826cf4 ff3530f68980    push    dword ptr [nt!KiBugCheckData+0x10 (8089f630)]
  659. 80826cfa ff352cf68980    push    dword ptr [nt!KiBugCheckData+0xc (8089f62c)]
  660. 80826d00 ff3528f68980    push    dword ptr [nt!KiBugCheckData+0x8 (8089f628)]
  661. 80826d06 ff3524f68980    push    dword ptr [nt!KiBugCheckData+0x4 (8089f624)]
  662. 80826d0c ff3520f68980    push    dword ptr [nt!KiBugCheckData (8089f620)]
  663. 80826d12 e87191ffff      call    nt!IoWriteCrashDump (8081fe88)
  664. 80826d17 eb1f            jmp     nt!KeBugCheck2+0x8da (80826d38)

  665. nt!KeBugCheck2+0x8bb:
  666. 80826d19 ff0534f68980    inc     dword ptr [nt!KeBugCheckOwnerRecursionCount (8089f634)]
  667. 80826d1f 833d34f6898001  cmp     dword ptr [nt!KeBugCheckOwnerRecursionCount (8089f634)],1
  668. 80826d26 7410            je      nt!KeBugCheck2+0x8da (80826d38)

  669. nt!KeBugCheck2+0x8ca:
  670. 80826d28 833d34f6898002  cmp     dword ptr [nt!KeBugCheckOwnerRecursionCount (8089f634)],2
  671. 80826d2f 7554            jne     nt!KeBugCheck2+0x927 (80826d85)

  672. nt!KeBugCheck2+0x8d3:
  673. 80826d31 6a04            push    4
  674. 80826d33 e8eaedffff      call    nt!KiBugCheckDebugBreak (80825b22)

  675. nt!KeBugCheck2+0x8da:
  676. 80826d38 e86ff0ffff      call    nt!KiScanBugCheckCallbackList (80825dac)
  677. 80826d3d a150cb8980      mov     eax,dword ptr [nt!ExpWdHandler (8089cb50)]
  678. 80826d42 33f6            xor     esi,esi
  679. 80826d44 3bc6            cmp     eax,esi
  680. 80826d46 740d            je      nt!KeBugCheck2+0x8f7 (80826d55)

  681. nt!KeBugCheck2+0x8ea:
  682. 80826d48 6a01            push    1
  683. 80826d4a 56              push    esi
  684. 80826d4b ff3554cb8980    push    dword ptr [nt!ExpWdHandlerContext (8089cb54)]
  685. 80826d51 6a04            push    4
  686. 80826d53 ffd0            call    eax

  687. nt!KeBugCheck2+0x8f7:
  688. 80826d55 80bdaffcffff00  cmp     byte ptr [ebp-351h],0
  689. 80826d5c 7411            je      nt!KeBugCheck2+0x911 (80826d6f)

  690. nt!KeBugCheck2+0x900:
  691. 80826d5e 56              push    esi
  692. 80826d5f 6aff            push    0FFFFFFFFh
  693. 80826d61 56              push    esi
  694. 80826d62 e877630400      call    nt!DbgUnLoadImageSymbols (8086d0de)
  695. 80826d67 6a03            push    3
  696. 80826d69 ff15f8108080    call    dword ptr [nt!_imp__HalReturnToFirmware (808010f8)]

  697. nt!KeBugCheck2+0x911:
  698. 80826d6f 6a04            push    4
  699. 80826d71 e8acedffff      call    nt!KiBugCheckDebugBreak (80825b22)
  700. 80826d76 8b4dfc          mov     ecx,dword ptr [ebp-4]
  701. 80826d79 5f              pop     edi
  702. 80826d7a 5e              pop     esi
  703. 80826d7b 5b              pop     ebx
  704. 80826d7c e8ef9d0500      call    nt!__security_check_cookie (80880b70)
  705. 80826d81 c9              leave
  706. 80826d82 c21800          ret     18h

  707. nt!KeBugCheck2+0x927:
  708. 80826d85 f390            pause
  709. 80826d87 ebfc            jmp     nt!KeBugCheck2+0x927 (80826d85)
复制代码

大家注意下开头的代码:
  1. nt!KeBugCheck2:
  2. 8082645e 8bff            mov     edi,edi
  3. 80826460 55              push    ebp
  4. 80826461 8bec            mov     ebp,esp
  5. 80826463 81ec80030000    sub     esp,380h
  6. 80826469 a124e18880      mov     eax,dword ptr [nt!__security_cookie (8088e124)]
  7. 8082646e 8945fc          mov     dword ptr [ebp-4],eax
  8. 80826471 8b450c          mov     eax,dword ptr [ebp+0Ch]
  9. 80826474 648b0d24010000  mov     ecx,dword ptr fs:[124h]
  10. 8082647b 898594fcffff    mov     dword ptr [ebp-36Ch],eax
  11. 80826481 8b4514          mov     eax,dword ptr [ebp+14h]
  12. 80826484 8985a4fcffff    mov     dword ptr [ebp-35Ch],eax
  13. 8082648a 8b4518          mov     eax,dword ptr [ebp+18h]
  14. 8082648d 898584fcffff    mov     dword ptr [ebp-37Ch],eax
  15. 80826493 8b451c          mov     eax,dword ptr [ebp+1Ch]
  16. 80826496 53              push    ebx
  17. 80826497 8b5d10          mov     ebx,dword ptr [ebp+10h]
  18. 8082649a 8985a8fcffff    mov     dword ptr [ebp-358h],eax
  19. 808264a0 33c0            xor     eax,eax
  20. 808264a2 817d08e5000000  cmp     dword ptr [ebp+8],0E5h
  21. 808264a9 56              push    esi
  22. 808264aa 57              push    edi
  23. 808264ab 899d80fcffff    mov     dword ptr [ebp-380h],ebx
  24. 808264b1 888588fcffff    mov     byte ptr [ebp-378h],al
  25. 808264b7 8885adfcffff    mov     byte ptr [ebp-353h],al
  26. 808264bd 898598fcffff    mov     dword ptr [ebp-368h],eax
  27. 808264c3 898590fcffff    mov     dword ptr [ebp-370h],eax
  28. 808264c9 8985a0fcffff    mov     dword ptr [ebp-360h],eax
  29. 808264cf 898d8cfcffff    mov     dword ptr [ebp-374h],ecx
  30. 808264d5 8885affcffff    mov     byte ptr [ebp-351h],al
  31. 808264db a310f68980      mov     dword ptr [nt!KiBugCheckDriver (8089f610)],eax
  32. 808264e0 c605c86d898001  mov     byte ptr [nt!KeBugCheckActive (80896dc8)],1
  33. 808264e7 750d            jne     nt!KeBugCheck2+0x98 (808264f6)

  34. nt!KeBugCheck2+0x8b:
  35. 808264e9 e8bef8ffff      call    nt!KiScanBugCheckCallbackList (80825dac)
  36. 808264ee 6a03            push    3
  37. 808264f0 ff15f8108080    call    dword ptr [nt!_imp__HalReturnToFirmware (808010f8)]
复制代码

808264a2的这句cmp     dword ptr [ebp+8],0E5h,意思是确认第一个参数是不是0xE5,而翻了WDK中的bugcodes.h后发现这么一句:
  1. #define POWER_FAILURE_SIMULATE  0xE5
复制代码

那么就说明了当BugCheckCode=0xE5的时候,系统就会执行KeBugCheck2+0x8B的内容。
首先先执行了KiScanBugCheckCallbackList,我也不知道有什么用,然后将3压进堆栈,并执行了导入表函数nt!_imp__HalReturnToFirmware函数。这句是重点!
而根据网上对HalReturnToFirmware的描述,这个函数是调用了BIOS例程实现断电重启。这个应该算是相当暴力的手法了吧,首先先看看其原型:
  1. NTKERNELAPI void HalReturnToFirmware(IN FIRMWARE_REENTRY FirmwareReentry);
复制代码

其中FIRMWARE_REENTRY是一个枚举类型:
  1. typedef enum _FIRMWARE_REENTRY
  2. {
  3.         HalHaltRoutine,
  4.         HalPowerDownRoutine,
  5.         HalRestartRoutine,
  6.         HalRebootRoutine,
  7.         HalInteractiveModeRoutine,
  8.         HalMaximumRoutine
  9. }FIRMWARE_REENTRY, *PFIRMWARE_REENTRY;
复制代码

我们只要选择HalRebootRoutine就能实现重启,所以重启只需要一句代码就行了:
  1. HalReturnToFirmware(HalRebootRoutine);
复制代码

经测试,通用于任何Windows操作系统。无论是32位还是64位的操作系统。
超级暴力重启者源码(x86&x64).zip (213.33 KB, 下载次数: 9, 售价: 3 个宅币)
回复

使用道具 举报

发表于 2015-8-27 02:39:15 | 显示全部楼层
厉害额,学了个习的
回复 赞! 靠!

使用道具 举报

发表于 2017-10-11 23:03:59 | 显示全部楼层
牛逼
回复

使用道具 举报

发表于 2017-11-5 18:28:33 | 显示全部楼层
牛逼得不得了。破坏性爆表。
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-22 09:28 , Processed in 0.033892 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表