首页
社区
课程
招聘
[原创]用windbg调试uefi在hyper-v
2024-2-20 12:58 3044

[原创]用windbg调试uefi在hyper-v

2024-2-20 12:58
3044
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
添加环境变量
CLANG_BIN=C:\Program Files\NASM\
NASM_PREFIX=C:\Program Files\NASM\
添加path
C:\Program Files (x86)\Windows Kits\10\Tools\x64\ACPIVerify
修改edk2-master\Conf\target.txt
TARGET_ARCH           = X64
编译这两个包
#ACTIVE_PLATFORM       = EmulatorPkg/EmulatorPkg.dsc
ACTIVE_PLATFORM       = SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
加上/WX-
修改edk2-master\SourceLevelDebugPkg\SourceLevelDebugPkg.dsc
[BuildOptions]
  *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES /WX-
edksetup.bat  Rebuild
build
DiskGenius新建虚拟硬盘文件.img
自定义256mb
快速分区guid模式
自定义1个分区建立esp分区建立msr分区esp大小200mb
esp分区添加
制作iso文件shell.efi放到esp分区这个位置
\EFI\BOOT\bootx64.efi
转换.img vhdx
UltraISO.exe
启动加载引导文件
选择.img保存iso
fs0:
load DebugAgentDxe.efi
新建第二代虚拟机添加iso启动,关闭安全引导
powershell
Set-VMComPort -VMName dbguefiisov2 -Path \\.\pipe\windbg -Number 1
修改
C:\Program Files (x86)\Intel\Intel(R) UEFI Development Kit Debugger Tool\SoftDebugger.ini
[Debug Port]
Channel = Pipe
Port = windbg
FlowControl = 1
BaudRate = 115200
Server = .
Intel(R) UEFI Development Kit Debugger Tool启动以管理员


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2024-2-20 13:03 被王cb编辑 ,原因: iso
上传的附件:
收藏
点赞4
打赏
分享
最新回复 (16)
雪    币: 8219
活跃值: (5904)
能力值: ( LV12,RANK:430 )
在线值:
发帖
回帖
粉丝
王cb 8 2024-2-20 13:06
2
0
全套资源下载
https://download.csdn.net/download/oShuangYue12/88854268?spm=1001.2014.3001.5501
雪    币: 8219
活跃值: (5904)
能力值: ( LV12,RANK:430 )
在线值:
发帖
回帖
粉丝
王cb 8 2024-2-20 13:09
3
0
独创方法欢迎大神交流
雪    币: 2576
活跃值: (437)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
wyfe 2024-2-20 18:05
4
0
牛牛牛
雪    币: 227
活跃值: (388)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
hatling 3 2024-2-26 18:07
5
0

很不错,我一般用vs+gdb+qemu

雪    币: 8219
活跃值: (5904)
能力值: ( LV12,RANK:430 )
在线值:
发帖
回帖
粉丝
王cb 8 2024-2-28 08:55
6
0
hatling 很不错,我一般用vs+gdb+qemu
我hyper-v和vmware模式调试都没有模块符号加载信息,lm 没有模块,你知道怎么弄出来吗?
雪    币: 789
活跃值: (1494)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
のばら 2024-2-28 09:32
7
0
王cb 我hyper-v和vmware模式调试都没有模块符号加载信息,lm 没有模块,你知道怎么弄出来吗?
你又不是ovmf,固件代码当然不会有符号
雪    币: 789
活跃值: (1494)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
のばら 2024-2-28 09:36
8
0
hatling 很不错,我一般用vs+gdb+qemu

雪    币: 8219
活跃值: (5904)
能力值: ( LV12,RANK:430 )
在线值:
发帖
回帖
粉丝
王cb 8 2024-3-2 10:32
9
0
你vmware获取模块符号源码调试是怎么实现的,我用vmware的gdb stub可以但是没有模块加载信息,你的有模块也是ovmf吗?
雪    币: 8219
活跃值: (5904)
能力值: ( LV12,RANK:430 )
在线值:
发帖
回帖
粉丝
王cb 8 2024-3-2 10:43
10
0
还是一定要用mingwin编译器
雪    币: 789
活跃值: (1494)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
のばら 2024-3-2 12:00
11
0
https://kanren3.github.io/posts/uefi-source-level-debug/
雪    币: 8219
活跃值: (5904)
能力值: ( LV12,RANK:430 )
在线值:
发帖
回帖
粉丝
王cb 8 2024-3-2 13:39
12
0
雪    币: 8219
活跃值: (5904)
能力值: ( LV12,RANK:430 )
在线值:
发帖
回帖
粉丝
王cb 8 2024-3-3 13:35
13
0
のばら

我使用你你的方法https://github.com/kanren3/SampleSourceLevelDebugPkg/blob/master/DebuggerScript.py发现在VMware的gdb stub上还是看不到模块加载信息,使用gdb的add-symbol-file在windbg也有类似命令 .imgscan可以实现这个功能支持pdb调试格式,或者用windbg插件gdb转exdi详见https://github.com/microsoft/WinDbg-Samples/blob/master/Exdi/exdigdbsrv/doc/ExdiGdbSrv_readme.md,自己写个api插件AddSyntheticSymbol添加人造符号信息,可以加载msvc编译器符号文件

雪    币: 789
活跃值: (1494)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
のばら 2024-3-3 13:42
14
0
王cb 我使用你你的方法https://github.com/kanren3/SampleSourceLevelDebugPkg/blob/master/DebuggerScript.py发现在VMware的 ...
看得出来,你不会用gdb
雪    币: 8219
活跃值: (5904)
能力值: ( LV12,RANK:430 )
在线值:
发帖
回帖
粉丝
王cb 8 2024-3-3 14:05
15
0
确实我只会windbg
雪    币: 108
活跃值: (873)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yangya 2024-3-5 22:05
16
0
hatling 很不错,我一般用vs+gdb+qemu
这个怎么操作?
雪    币: 8219
活跃值: (5904)
能力值: ( LV12,RANK:430 )
在线值:
发帖
回帖
粉丝
王cb 8 2024-3-6 09:05
17
0
同上楼,请提供gdb模式vmware,出现模块信息的方法,或者配置教程
游客
登录 | 注册 方可回帖
返回