분석시 유용한 명령어 추가 정리.




# uf    //  함수 디스어셈블, 함수 한번에 전체 디스어셈블, 분기문 보기좋게 보여줌


0:014> uf mshtml!CUndoPropChange::~CUndoPropChange

mshtml!CUndoUnit::~CUndoUnit:

678dc2fd 8b4008          mov     eax,dword ptr [eax+8]

678dc300 85c0            test    eax,eax

678dc302 0f8580a92300    jne     mshtml!CUndoUnit::~CUndoUnit+0x7 (67b16c88)


mshtml!CUndoUnit::~CUndoUnit+0x16:

678dc308 c3              ret


mshtml!CUndoUnit::~CUndoUnit+0x7:

67b16c88 50              push    eax

67b16c89 6a00            push    0

67b16c8b ff351884dc67    push    dword ptr [mshtml!g_hProcessHeap (67dc8418)]

67b16c91 ff15fc128967    call    dword ptr [mshtml!_imp__HeapFree (678912fc)]

67b16c97 e96c56dcff      jmp     mshtml!CUndoUnit::~CUndoUnit+0x16 (678dc308)


mshtml!CUndoPropChange::~CUndoPropChange:

67c03c81 8bff            mov     edi,edi

67c03c83 56              push    esi

67c03c84 8bf0            mov     esi,eax

67c03c86 57              push    edi





# uf /c     //  함수 호출 관계만 보여줌

0:014> uf /c mshtml!CUndoPropChange::~CUndoPropChange

mshtml!CUndoPropChange::~CUndoPropChange (67c03c81)

  mshtml!CUndoUnit::~CUndoUnit+0x10 (67b16c91):

    call to mshtml!_imp__HeapFree (678912fc)

  mshtml!CUndoPropChange::~CUndoPropChange+0x14 (67c03c95):

    unresolvable call: call    dword ptr [ecx+8]

  mshtml!CUndoPropChange::~CUndoPropChange+0x1a (67c03c9b):

    call to mshtml!VariantClear (67a4b90d)



# x      //  * 등을 사용하여 심볼 정보 확인, 클래스 정보 확인 등에 유용함


0:014> x mshtml!CUndoPropChange::~CUndoProp*    //  뒷부분을 정확히 모를때

67c03c81          mshtml!CUndoPropChange::~CUndoPropChange (<no parameter info>)


0:014> x mshtml!CUndoPropChange::*          // 해당 클래스 메소드 확인

67a5156c          mshtml!CUndoPropChange::`vftable' = <no type information>

67c03c81          mshtml!CUndoPropChange::~CUndoPropChange (<no parameter info>)

67c03c22          mshtml!CUndoPropChange::CUndoPropChange (<no parameter info>)

67c03c51          mshtml!CUndoPropChange::`vector deleting destructor' (<no parameter info>)

67c03cdf          mshtml!CUndoPropChange::PrivateDo (<no parameter info>)

67c03cae          mshtml!CUndoPropChange::Init (<no parameter info>)

67c03c51          mshtml!CUndoPropChange::`scalar deleting destructor' (<no parameter info>)



# dds      //  4바이트씩 정리해서 심볼정보를 보여줌(문자열 포함) // 스택정보 파악 시 유용함


0:014> dds esp

05afd530  05774e50

05afd534  00477e58

05afd538  0048cb80

05afd53c  67c03c60 mshtml!CUndoAttrValueSimpleChange::`scalar deleting destructor'+0xf

05afd540  05afd57c

05afd544  05afd550

05afd548  678dc23d mshtml!CUndoUnitBase::Release+0x1e

05afd54c  00000001

05afd550  05afd58c

05afd554  67a6cfab mshtml!CImplPtrAry::ReleaseAll+0x21

05afd558  0048cb80

05afd55c  0048cb80

05afd560  06f3d030

05afd564  00000000

05afd568  678dc296 mshtml!CParentUnitBase::GetUnitType+0x82

05afd56c  06f3d030

05afd570  06f3d02c

05afd574  00000000

05afd578  05afd594

05afd57c  6789a594 mshtml!CStyleSheet::CAryFontFaces::`vftable'

05afd580  00000004




 



+ Recent posts