uefi bios debug 终级方案 反汇编

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64>dumpbin.exe /di

sasm D:\DEBUG_VS2013x86\X64\VariableSmm.efi


C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64>dumpbin.exe /di
sasm D:\****.efi

通过反汇编,得到函数调用关系。

得到的结果是这个样子的:

Microsoft (R) COFF/PE Dumper Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file XXX

File Type: DLL

_ModuleEntryPoint:
  00000000000002C0: 40 53              push        rbx
  00000000000002C2: 48 83 EC 20        sub         rsp,20h
  00000000000002C6: 48 8B DA           mov         rbx,rdx
  00000000000002C9: E8 3E 00 00 00     call        ProcessLibraryConstructorList
  00000000000002CE: 48 8B D3           mov         rdx,rbx
  00000000000002D1: E8 E6 05 00 00     call        ProcessModuleEntryPointList
  00000000000002D6: 48 8B D8           mov         rbx,rax
  00000000000002D9: 48 85 C0           test        rax,rax
  00000000000002DC: 79 24              jns         0000000000000302
  00000000000002DE: 48 8B 0D 2B D0 00  mov         rcx,qword ptr [mSmmMemLibInternalSmramRanges]
                    00
  00000000000002E5: E8 32 61 00 00     call        FreePool
  00000000000002EA: 8A 0D F3 C4 00 00  mov         cl,byte ptr [_gPcd_BinaryPatch_PcdDebugPropertyMask]
  00000000000002F0: 48 8B 0D 31 D0 00  mov         rcx,qword ptr [mSmramRanges]
                    00
  00000000000002F7: E8 20 61 00 00     call        FreePool
  00000000000002FC: 8A 0D E1 C4 00 00  mov         cl,byte ptr [_gPcd_BinaryPatch_PcdDebugPropertyMask]
  0000000000000302: 48 8B C3           mov         rax,rbx
  0000000000000305: 48 83 C4 20        add         rsp,20h
  0000000000000309: 5B                 pop         rbx
  000000000000030A: C3                 ret
  000000000000030B: CC                                               Ì
ProcessLibraryConstructorList:
  000000000000030C: 48 89 5C 24 20     mov         qword ptr [rsp+20h],rbx
  0000000000000311: 55                 push        rbp
  0000000000000312: 56                 push        rsi
  0000000000000313: 57                 push        rdi
  0000000000000314: 41 54              push        r12
  0000000000000316: 41 55              push        r13
  0000000000000318: 41 56              push        r14
  000000000000031A: 41 57              push        r15
  000000000000031C: 48 8B EC           mov         rbp,rsp
  000000000000031F: 48 83 EC 20        sub         rsp,20h
  0000000000000323: 48 8B F2           mov         rsi,rdx
  0000000000000326: 48 8B F9           mov         rdi,rcx
  0000000000000329: E8 82 78 00 00     call        SerialPortInitialize
  000000000000032E: 44 8A 05 AE C4 00  mov         r8b,byte ptr [_gPcd_BinaryPatch_PcdDebugPropertyMask]
                    00
  0000000000000335: 41 B6 01           mov         r14b,1
  0000000000000338: 33 DB              xor         ebx,ebx
  000000000000033A: 4C 8D 3D 37 92 00  lea         r15,[??_C@_0CB@DMEJJJHA@?6ASSERT_EFI_ERROR?5?$CIStatus?5?$DN?5?$CFr?$CJ?6@]


阅读更多

更多精彩内容