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

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

王cb 活跃值
11
2024-2-20 12:58
4380
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启动以管理员


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2024-2-20 13:03 被王cb编辑 ,原因: iso
上传的附件:
收藏
免费 4
支持
分享
最新回复 (16)
雪    币: 11684
活跃值: (7169)
能力值: ( LV13,RANK:550 )
在线值:
发帖
回帖
粉丝
2
全套资源下载
https://download.csdn.net/download/oShuangYue12/88854268?spm=1001.2014.3001.5501
2024-2-20 13:06
0
雪    币: 11684
活跃值: (7169)
能力值: ( LV13,RANK:550 )
在线值:
发帖
回帖
粉丝
3
独创方法欢迎大神交流
2024-2-20 13:09
0
雪    币: 2575
活跃值: (502)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
4
牛牛牛
2024-2-20 18:05
0
雪    币: 229
活跃值: (503)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
5

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

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

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

我使用你你的方法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编译器符号文件

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