Step to UEFI (154)反编译一个 EFI

之前介绍过,可以通过生成的 .cod 文件来查看生成的汇编代码,今天偶然在 https://blog.csdn.net/robinsongsog/article/details/77164704 看到 uefi_artisan 提供的更简单方法。
dumpbin.exe 是 VS 提供的一个工具,使用下面的方法可以将一个 EFI 直接反汇编:
dumpbin /disasm 文件名.efi
例子:反编译之前的 shorts.efi

得到的结果如下:

Microsoft (R) COFF/PE Dumper Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file showrts.efi
File Type: DLL
00000000000002C0: 4C 8B DC mov r11,rsp
00000000000002C3: 49 89 5B 18 mov qword ptr [r11+18h],rbx
00000000000002C7: 49 89 73 20 mov qword ptr [r11+20h],rsi
00000000000002CB: 57 push rdi
00000000000002CC: 48 83 EC 30 sub rsp,30h
00000000000002D0: 4C 8B 52 60 mov r10,qword ptr [rdx+60h]
00000000000002D4: 48 8B 42 58 mov rax,qword ptr [rdx+58h]
00000000000002D8: 49 83 63 08 00 and qword ptr [r11+8],0
00000000000002DD: 49 83 63 10 00 and qword ptr [r11+10h],0
00000000000002E2: 48 8B F2 mov rsi,rdx
00000000000002E5: 48 89 15 5C 1E 00 mov qword ptr [00002148h],rdx

可以看到这样的方法可以让我们很容易得到结果。
关于 dumpbin 的更详细解释可以参考下面2篇文章:

https://blog.csdn.net/jamestaosh/article/details/4237756
https://blog.csdn.net/fengbingchun/article/details/43956673

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注