!running -i -t … 어찌 분석해야하지 …

머리가 예전 같지 않아 잘 안돌아 가는거 같습니다. 한 2달 쉬었더니 완전 굳어버린거 같다는 생각이 ..
간혼 !running -i -t를 통해서 강제 덤프를 열어 보면 실제 CPU를 선점하고 있는 놈을 찾을 때가 있습니다. 꽤나 유용하죠 . ( 보통은 idle이 선점을 하고 있다는 .. ^^ ) 근데 2개의 CPU 모두를 선점하는 process가 나오는 경우도 있군요.대략 희귀한 경우라 올려보니다.

근데 이넘은 어떻게 분석해야할까요 ??
제약 사항
 1. 심볼 없음
 2. Pack 되어 있는 부분( Virtualize )이 있어서 리버싱이 오래걸림

이럴때는 그냥 웃지요 …ㅎㅎㅎ

낼은 덤프를 여러개 떠서 좀더 다양하게 확인해 봐야겠내요 ..

1: kd> !running -i -t

System Processors 3 (affinity mask)
  Idle Processors 0

Prcbs  Current   Next   
  0    ffdff120  88a2c4e8            …………….

ChildEBP RetAddr 
WARNING: Stack unwind information not available. Following frames may be wrong.
b4845478 b34a05a9 xxxx+0×1214d
b4845494 b34a0731 xxxx+0×15a9
b48454c8 b34a3aab xxxx+0×1731
b48454fc b34a3bcc xxxx+0×4aab
b4845590 b466df70 xxxx+0×4bcc

b48455ac 804e33eb UDSecDrvXP+0×1f70
b48455bc b468d22e nt!IopfCallDriver+0×31
b4845608 b468f6f1 mfehidk+0×522e
b484569c b469d367 mfehidk+0×76f1
b48456ac b469d3b7 mfehidk+0×15367
b48456d4 804e33eb mfehidk!DEVICEDISPATCH::DispatchPassThrough+0×48
b48456e4 8057dbed nt!IopfCallDriver+0×31
b48457c4 8056f03b nt!IopParseDevice+0xa12
b484583c 80572358 nt!ObpLookupObjectName+0×53c
b4845890 8057e246 nt!ObOpenObjectByName+0xea
b484590c 80586cc8 nt!IopCreateFile+0×407
b4845954 b4692e3a nt!IoCreateFileSpecifyDeviceObjectHint+0×52
b48459f0 b4692a72 mfehidk+0xae3a
b4845a48 b4637046 mfehidk+0xaa72
b4845a98 b463785e mfeavfk+0×4046

  1    f771f120  88aebda8            …………….

ChildEBP RetAddr 
b4941334 ba7127fb nt!KeBugCheckEx+0×1b
b4941350 ba712033 i8042prt!I8xProcessCrashDump+0×237
b4941398 804dd90f i8042prt!I8042KeyboardInterruptService+0×21c
b4941398 b34b1154 nt!KiInterruptDispatch+0×45
WARNING: Stack unwind information not available. Following frames may be wrong.
b4941478 b34a05a9 xxxx+0×12154
b4941494 b34a0731 xxxx+0×15a9
b49414c8 b34a3aab xxxx+0×1731
b49414fc b34a3bcc xxxx+0×4aab
b4941590 b466df70 xxxx+0×4bcc

b49415ac 804e33eb UDSecDrvXP+0×1f70
b49415bc b468d22e nt!IopfCallDriver+0×31
b4941608 b468f6f1 mfehidk+0×522e
b494169c b469d367 mfehidk+0×76f1
b49416ac b469d3b7 mfehidk+0×15367
b49416d4 804e33eb mfehidk!DEVICEDISPATCH::DispatchPassThrough+0×48
b49416e4 8057dbed nt!IopfCallDriver+0×31
b49417c4 8056f03b nt!IopParseDevice+0xa12
b494183c 80572358 nt!ObpLookupObjectName+0×53c
b4941890 8057e246 nt!ObOpenObjectByName+0xea
b494190c 80586cc8 nt!IopCreateFile+0×407

1: kd> u iofcalldriver
nt!IofCallDriver:
804e33b9 ff2580d75580    jmp     dword ptr [nt!pIofCallDriver (8055d780)]
804e33bf 90              nop
804e33c0 90              nop
804e33c1 90              nop
804e33c2 90              nop
804e33c3 90              nop
nt!IopfCallDriver:
804e33c4 fe4a23          dec     byte ptr [edx+23h]
804e33c7 8a4223          mov     al,byte ptr [edx+23h]
1: kd> dd 8055d780
8055d780  b34a3bc0 804e37da 804ecd58 804eceb1
8055d790  00000000 00000000 00000000 00000000
8055d7a0  00000000 00000000 00000000 00000000
8055d7b0  00000000 00000000 00000000 00000000
8055d7c0  00000000 00000000 00000000 00000000
8055d7d0  00000000 00000000 00000000 00000000
8055d7e0  00000000 00000000 00000000 00000000
8055d7f0  00000000 00000000 00000000 00000000
1: kd> u b34a3bc0
xxxx+0×4bc0:

b34a3bc0 8bc4            mov     eax,esp
b34a3bc2 60              pushad
b34a3bc3 52              push    edx
b34a3bc4 51              push    ecx
b34a3bc5 ff30            push    dword ptr [eax]
b34a3bc7 e80efeffff      call    xxxx+0×49da (b34a39da)
b34a3bcc 83f800          cmp     eax,0
b34a3bcf 7407            je      xxxx+0×4bd8 (b34a3bd8)

Share and Enjoy:
  • Digg
  • Google
  • TwitThis

0 Responses to “!running -i -t … 어찌 분석해야하지 …”


  1. No Comments