2024.04.30
NDB的lm命令很棒,很想知道它是如何实现的,念念不忘。
Target: machine aa64, kernel base 0x0, dbgdata 0x0, modhead 0x3ec555f0 orig 0x0, printk buffer 0x0 length 0x0
Target: machine aa64, kernel base 0x0, dbgdata 0x0, modhead 0x3ec555f0 orig 0x0, printk buffer 0x0 length 0x0
Loading unloaded module list
Kernel base < system range start
ZOS Kernel Version 0 SMP (1 procs) free ARMv8 64-bit
Kernel base = 0x0000000000000000 kernel module list = 0x00000000
3ec555f0
System uptime: not available
观察下内存,明显是个数据结构:
查下此地址,是否有符号:
ln 0`3ec555f0
(00000000`3ec555f0) DxeCore!mDebugInfoTableHeader
中奖,那容易多了,搜索此全局变量的数据类型:
看起来此处应该是EFI_DEBUG_IMAGE_INFO_NORMAL
应该就是了。
Hooray,找到第一个Module DxeCore:
检查0x63项及抽测:
dqs 0`efdea018 l63
00000000`efdea018 00000000`efdfef98
00000000`efdea020 00000000`ef358698
00000000`efdea028 00000000`ef358318
00000000`efdea030 00000000`ef326718
00000000`efdea038 00000000`ef321a98
00000000`efdea040 00000000`ef2efe18
00000000`efdea048 00000000`ef2ef818
00000000`efdea050 00000000`ef320998
00000000`efdea058 00000000`ef2fed18
00000000`efdea060 00000000`ef31fd98
00000000`efdea068 00000000`ef31f798
00000000`efdea070 00000000`ef31e698
00000000`efdea078 00000000`ef31da98
00000000`efdea080 00000000`ef31ce18
00000000`efdea088 00000000`ef311018
00000000`efdea090 00000000`ef311818
00000000`efdea098 00000000`ef319e98
00000000`efdea0a0 00000000`ef319718
00000000`efdea0a8 00000000`ef318118
00000000`efdea0b0 00000000`ef318518
00000000`efdea0b8 00000000`ef317118
00000000`efdea0c0 00000000`ef317798
00000000`efdea0c8 00000000`ef316118
00000000`efdea0d0 00000000`ef316518
00000000`efdea0d8 00000000`ef315e98
00000000`efdea0e0 00000000`ef315718
00000000`efdea0e8 00000000`ef314a18
00000000`efdea0f0 00000000`ef314718
00000000`efdea0f8 00000000`ef313a98
00000000`efdea100 00000000`ef312018
00000000`efdea108 00000000`ef31c598
00000000`efdea110 00000000`ef31dc18
00000000`efdea118 00000000`ef301c18
00000000`efdea120 00000000`ef307f98
00000000`efdea128 00000000`ef307418
00000000`efdea130 00000000`ef306618
00000000`efdea138 00000000`ef306818
00000000`efdea140 00000000`ef304898
00000000`efdea148 00000000`ef303118
00000000`efdea150 00000000`ef302d98
00000000`efdea158 00000000`ef2ffe98
00000000`efdea160 00000000`ef2ff518
00000000`efdea168 00000000`ef2faa98
00000000`efdea170 00000000`ef2f7c98
00000000`efdea178 00000000`ef2f4d18
00000000`efdea180 00000000`ef2f4c98
00000000`efdea188 00000000`ef22d418
00000000`efdea190 00000000`ef22d218
00000000`efdea198 00000000`ef224498
00000000`efdea1a0 00000000`ef225b98
00000000`efdea1a8 00000000`ef22c118
00000000`efdea1b0 00000000`ef22b018
00000000`efdea1b8 00000000`ef22b118
00000000`efdea1c0 00000000`ef228c18
00000000`efdea1c8 00000000`ef227118
00000000`efdea1d0 00000000`ef227318
00000000`efdea1d8 00000000`ef1fa998
00000000`efdea1e0 00000000`ef1f9e98
00000000`efdea1e8 00000000`ef1f9798
00000000`efdea1f0 00000000`ef1f8118
00000000`efdea1f8 00000000`ef1f8598
00000000`efdea200 00000000`ef1f7118
00000000`efdea208 00000000`ef1f7598
00000000`efdea210 00000000`ef1eb118
00000000`efdea218 00000000`ef1eb598
00000000`efdea220 00000000`ef1ea118
00000000`efdea228 00000000`ef1ea598
00000000`efdea230 00000000`ef1f4118
00000000`efdea238 00000000`ef1f4598
00000000`efdea240 00000000`ef1f3118
00000000`efdea248 00000000`ef1f3598
00000000`efdea250 00000000`ef1f2118
00000000`efdea258 00000000`ef1f2318
00000000`efdea260 00000000`ef1f1c18
00000000`efdea268 00000000`ef1f1918
00000000`efdea270 00000000`ef1f0a18
00000000`efdea278 00000000`ef1f0798
00000000`efdea280 00000000`ef1efa18
00000000`efdea288 00000000`ef1efd18
00000000`efdea290 00000000`ef1eec98
00000000`efdea298 00000000`ef1ee418
00000000`efdea2a0 00000000`efdedc98
00000000`efdea2a8 00000000`efded418
00000000`efdea2b0 00000000`efdefb18
00000000`efdea2b8 00000000`efdef718
00000000`efdea2c0 00000000`efdfcc18
00000000`efdea2c8 00000000`efdfbf18
00000000`efdea2d0 00000000`efdfb298
00000000`efdea2d8 00000000`ef171918
00000000`efdea2e0 00000000`ef181a98
00000000`efdea2e8 00000000`ef181918
00000000`efdea2f0 00000000`ef180318
00000000`efdea2f8 00000000`ef17df18
00000000`efdea300 00000000`ef17d798
00000000`efdea308 00000000`ef191d18
00000000`efdea310 00000000`ef19bf18
00000000`efdea318 00000000`ef19bc98
00000000`efdea320 00000000`eebfe318
00000000`efdea328 00000000`eeb77198
dt -b EFI_DEBUG_IMAGE_INFO_NORMAL 0`ef358698
+0x000 ImageInfoType : 1
+0x008 LoadedImageProtocolInstance : (null)
+0x010 ImageHandle : 0x00000000`ef358818
dqs 0`ef358698 l3
00000000`ef358698 00000000`00000001
00000000`ef3586a0 00000000`ef3588c0
00000000`ef3586a8 00000000`ef358818
dt -b EFI_LOADED_IMAGE_PROTOCOL 0`ef3588c0
+0x000 Revision : 0x1000
+0x008 ParentHandle : 0x00000000`efdfff98
+0x010 SystemTable : (null)
+0x018 DeviceHandle : 0x00000000`efde8998
+0x020 FilePath : (null)
+0x028 Reserved : (null)
+0x030 LoadOptionsSize : 0
+0x038 LoadOptions : (null)
+0x040 ImageBase : 0x00000000`eff8b000
+0x048 ImageSize : 0x5000
+0x050 ImageCodeType : 3 ( EfiBootServicesCode )
+0x054 ImageDataType : 4 ( EfiBootServicesData )
+0x058 Unload : (null)
[ndb]!echo "00000000`eff8b000 00000000`eff90000 StatusLedDxe (deferred)"
00000000`eff8b000 00000000`eff90000 StatusLedDxe (deferred)
慢、细、笨,应该想办法测试全部项,NDB调试命令的脚本支持暂时还有待完善,那先用Excel笨办法:
dqs 0`efdfef98 l3; dqs 0`ef358698 l3; dqs 0`ef358318 l3; dqs 0`ef326718 l3; dqs 0`ef321a98 l3; dqs 0`ef2efe18 l3; dqs 0`ef2ef818 l3; dqs 0`ef320998 l3; dqs 0`ef2fed18 l3; dqs 0`ef31fd98 l3; dqs 0`ef31f798 l3; dqs 0`ef31e698 l3; dqs 0`ef31da98 l3; dqs 0`ef31ce18 l3; dqs 0`ef311018 l3; dqs 0`ef311818 l3; dqs 0`ef319e98 l3; dqs 0`ef319718 l3; dqs 0`ef318118 l3; dqs 0`ef318518 l3; dqs 0`ef317118 l3; dqs 0`ef317798 l3; dqs 0`ef316118 l3; dqs 0`ef316518 l3; dqs 0`ef315e98 l3; dqs 0`ef315718 l3; dqs 0`ef314a18 l3; dqs 0`ef314718 l3; dqs 0`ef313a98 l3; dqs 0`ef312018 l3; dqs 0`ef31c598 l3; dqs 0`ef31dc18 l3; dqs 0`ef301c18 l3; dqs 0`ef307f98 l3; dqs 0`ef307418 l3; dqs 0`ef306618 l3; dqs 0`ef306818 l3; dqs 0`ef304898 l3; dqs 0`ef303118 l3; dqs 0`ef302d98 l3; dqs 0`ef2ffe98 l3; dqs 0`ef2ff518 l3; dqs 0`ef2faa98 l3; dqs 0`ef2f7c98 l3; dqs 0`ef2f4d18 l3; dqs 0`ef2f4c98 l3; dqs 0`ef22d418 l3; dqs 0`ef22d218 l3; dqs 0`ef224498 l3; dqs 0`ef225b98 l3; dqs 0`ef22c118 l3; dqs 0`ef22b018 l3; dqs 0`ef22b118 l3; dqs 0`ef228c18 l3; dqs 0`ef227118 l3; dqs 0`ef227318 l3; dqs 0`ef1fa998 l3; dqs 0`ef1f9e98 l3; dqs 0`ef1f9798 l3; dqs 0`ef1f8118 l3; dqs 0`ef1f8598 l3; dqs 0`ef1f7118 l3; dqs 0`ef1f7598 l3; dqs 0`ef1eb118 l3; dqs 0`ef1eb598 l3; dqs 0`ef1ea118 l3; dqs 0`ef1ea598 l3; dqs 0`ef1f4118 l3; dqs 0`ef1f4598 l3; dqs 0`ef1f3118 l3; dqs 0`ef1f3598 l3; dqs 0`ef1f2118 l3; dqs 0`ef1f2318 l3; dqs 0`ef1f1c18 l3; dqs 0`ef1f1918 l3; dqs 0`ef1f0a18 l3; dqs 0`ef1f0798 l3; dqs 0`ef1efa18 l3; dqs 0`ef1efd18 l3; dqs 0`ef1eec98 l3; dqs 0`ef1ee418 l3; dqs 0`efdedc98 l3; dqs 0`efded418 l3; dqs 0`efdefb18 l3; dqs 0`efdef718 l3; dqs 0`efdfcc18 l3; dqs 0`efdfbf18 l3; dqs 0`efdfb298 l3; dqs 0`ef171918 l3; dqs 0`ef181a98 l3; dqs 0`ef181918 l3; dqs 0`ef180318 l3; dqs 0`ef17df18 l3; dqs 0`ef17d798 l3; dqs 0`ef191d18 l3; dqs 0`ef19bf18 l3; dqs 0`ef19bc98 l3; dqs 0`eebfe318 l3; dqs 0`eeb77198 l3;
00000000`efdfef98 00000000`00000001
00000000`efdfefa0 00000000`3ec53900 DxeCore!mCorePrivateImage+0x28
00000000`efdfefa8 00000000`efdfff98
00000000`ef358698 00000000`00000001
00000000`ef3586a0 00000000`ef3588c0
00000000`ef3586a8 00000000`ef358818
00000000`ef358318 00000000`00000001
00000000`ef358320 00000000`ef326cc0
00000000`ef358328 00000000`ef358618
00000000`ef326718 00000000`00000001
00000000`ef326720 00000000`ef3261c0
00000000`ef326728 00000000`ef325c18
00000000`ef321a98 00000000`00000001
00000000`ef321aa0 00000000`ef321140
00000000`ef321aa8 00000000`ef321a18
00000000`ef2efe18 00000000`00000001
00000000`ef2efe20 00000000`ef2ef040
00000000`ef2efe28 00000000`ef2efd18
00000000`ef2ef818 00000000`00000001
00000000`ef2ef820 00000000`ef2ef340
00000000`ef2ef828 00000000`ef2ef898
00000000`ef320998 00000000`00000001
00000000`ef3209a0 00000000`ef3201c0
00000000`ef3209a8 00000000`ef320918
00000000`ef2fed18 00000000`00000001
00000000`ef2fed20 00000000`ef2fe040
00000000`ef2fed28 00000000`ef320518
00000000`ef31fd98 00000000`00000001
00000000`ef31fda0 00000000`ef31f040
00000000`ef31fda8 00000000`ef2fe318
00000000`ef31f798 00000000`00000001
00000000`ef31f7a0 00000000`ef31f3c0
00000000`ef31f7a8 00000000`ef31f618
00000000`ef31e698 00000000`00000001
00000000`ef31e6a0 00000000`ef31e7c0
00000000`ef31e6a8 00000000`ef31e718
00000000`ef31da98 00000000`00000001
00000000`ef31daa0 00000000`ef31d240
00000000`ef31daa8 00000000`ef31da18
00000000`ef31ce18 00000000`00000001
00000000`ef31ce20 00000000`ef31cb40
00000000`ef31ce28 00000000`ef31cd98
00000000`ef311018 00000000`00000001
00000000`ef311020 00000000`ef31c2c0
00000000`ef311028 00000000`ef31c818
00000000`ef311818 00000000`00000001
00000000`ef311820 00000000`ef311140
00000000`ef311828 00000000`ef311e98
00000000`ef319e98 00000000`00000001
00000000`ef319ea0 00000000`ef319b40
00000000`ef319ea8 00000000`ef319e18
00000000`ef319718 00000000`00000001
00000000`ef319720 00000000`ef319140
00000000`ef319728 00000000`ef319698
00000000`ef318118 00000000`00000001
00000000`ef318120 00000000`ef318c40
00000000`ef318128 00000000`ef318f18
00000000`ef318518 00000000`00000001
00000000`ef318520 00000000`ef318240
00000000`ef318528 00000000`ef318498
00000000`ef317118 00000000`00000001
00000000`ef317120 00000000`ef317c40
00000000`ef317128 00000000`ef317f18
00000000`ef317798 00000000`00000001
00000000`ef3177a0 00000000`ef3171c0
00000000`ef3177a8 00000000`ef317718
00000000`ef316118 00000000`00000001
00000000`ef316120 00000000`ef316c40
00000000`ef316128 00000000`ef316f18
00000000`ef316518 00000000`00000001
00000000`ef316520 00000000`ef3162c0
00000000`ef316528 00000000`ef316918
00000000`ef315e98 00000000`00000001
00000000`ef315ea0 00000000`ef315b40
00000000`ef315ea8 00000000`ef315e18
00000000`ef315718 00000000`00000001
00000000`ef315720 00000000`ef315140
00000000`ef315728 00000000`ef315698
00000000`ef314a18 00000000`00000001
00000000`ef314a20 00000000`ef3140c0
00000000`ef314a28 00000000`ef314998
00000000`ef314718 00000000`00000001
00000000`ef314720 00000000`ef314440
00000000`ef314728 00000000`ef314698
00000000`ef313a98 00000000`00000001
00000000`ef313aa0 00000000`ef313c40
00000000`ef313aa8 00000000`ef313b98
00000000`ef312018 00000000`00000001
00000000`ef312020 00000000`ef3132c0
00000000`ef312028 00000000`ef313598
00000000`ef31c598 00000000`00000001
00000000`ef31c5a0 00000000`ef30a540
00000000`ef31c5a8 00000000`ef312e98
00000000`ef31dc18 00000000`00000001
00000000`ef31dc20 00000000`ef301040
00000000`ef31dc28 00000000`ef30ac18
00000000`ef301c18 00000000`00000001
00000000`ef301c20 00000000`ef3012c0
00000000`ef301c28 00000000`ef301b98
00000000`ef307f98 00000000`00000001
00000000`ef307fa0 00000000`ef307b40
00000000`ef307fa8 00000000`ef307f18
00000000`ef307418 00000000`00000001
00000000`ef307420 00000000`ef306040
00000000`ef307428 00000000`ef307398
00000000`ef306618 00000000`00000001
00000000`ef306620 00000000`ef3063c0
00000000`ef306628 00000000`ef306c18
00000000`ef306818 00000000`00000001
00000000`ef306820 00000000`ef304040
00000000`ef306828 00000000`ef306798
00000000`ef304898 00000000`00000001
00000000`ef3048a0 00000000`ef304440
00000000`ef3048a8 00000000`ef304718
00000000`ef303118 00000000`00000001
00000000`ef303120 00000000`ef3037c0
00000000`ef303128 00000000`ef303a98
00000000`ef302d98 00000000`00000001
00000000`ef302da0 00000000`ef302040
00000000`ef302da8 00000000`ef303518
00000000`ef2ffe98 00000000`00000001
00000000`ef2ffea0 00000000`ef2ffbc0
00000000`ef2ffea8 00000000`ef2ffe18
00000000`ef2ff518 00000000`00000001
00000000`ef2ff520 00000000`ef2ff240
00000000`ef2ff528 00000000`ef2ff498
00000000`ef2faa98 00000000`00000001
00000000`ef2faaa0 00000000`ef2fabc0
00000000`ef2faaa8 00000000`ef2faa18
00000000`ef2f7c98 00000000`00000001
00000000`ef2f7ca0 00000000`ef2f76c0
00000000`ef2f7ca8 00000000`ef2f7c18
00000000`ef2f4d18 00000000`00000001
00000000`ef2f4d20 00000000`ef2f4040
00000000`ef2f4d28 00000000`ef2f5a18
00000000`ef2f4c98 00000000`00000001
00000000`ef2f4ca0 00000000`ef2f01c0
00000000`ef2f4ca8 00000000`ef2f4c18
00000000`ef22d418 00000000`00000001
00000000`ef22d420 00000000`ef224040
00000000`ef22d428 00000000`ef2f0498
00000000`ef22d218 00000000`00000001
00000000`ef22d220 00000000`ef224a40
00000000`ef22d228 00000000`ef224318
00000000`ef224498 00000000`00000001
00000000`ef2244a0 00000000`ef225040
00000000`ef2244a8 00000000`ef224418
00000000`ef225b98 00000000`00000001
00000000`ef225ba0 00000000`ef2253c0
00000000`ef225ba8 00000000`ef225b18
00000000`ef22c118 00000000`00000001
00000000`ef22c120 00000000`ef22cbc0
00000000`ef22c128 00000000`ef22ce18
00000000`ef22b018 00000000`00000001
00000000`ef22b020 00000000`ef22c3c0
00000000`ef22b028 00000000`ef22c918
00000000`ef22b118 00000000`00000001
00000000`ef22b120 00000000`ef22b7c0
00000000`ef22b128 00000000`ef22bc18
00000000`ef228c18 00000000`00000001
00000000`ef228c20 00000000`ef228740
00000000`ef228c28 00000000`ef22b518
00000000`ef227118 00000000`00000001
00000000`ef227120 00000000`ef2277c0
00000000`ef227128 00000000`ef227b98
00000000`ef227318 00000000`00000001
00000000`ef227320 00000000`ef1fa040
00000000`ef227328 00000000`ef227298
00000000`ef1fa998 00000000`00000001
00000000`ef1fa9a0 00000000`ef1fa440
00000000`ef1fa9a8 00000000`ef1fa318
00000000`ef1f9e98 00000000`00000001
00000000`ef1f9ea0 00000000`ef1f9140
00000000`ef1f9ea8 00000000`ef1f9c98
00000000`ef1f9798 00000000`00000001
00000000`ef1f97a0 00000000`ef1f94c0
00000000`ef1f97a8 00000000`ef1f9718
00000000`ef1f8118 00000000`00000001
00000000`ef1f8120 00000000`ef1f8cc0
00000000`ef1f8128 00000000`ef1f8c18
00000000`ef1f8598 00000000`00000001
00000000`ef1f85a0 00000000`ef1f82c0
00000000`ef1f85a8 00000000`ef1f8518
00000000`ef1f7118 00000000`00000001
00000000`ef1f7120 00000000`ef1f7cc0
00000000`ef1f7128 00000000`ef1f7c18
00000000`ef1f7598 00000000`00000001
00000000`ef1f75a0 00000000`ef1f72c0
00000000`ef1f75a8 00000000`ef1f7518
00000000`ef1eb118 00000000`00000001
00000000`ef1eb120 00000000`ef1ebcc0
00000000`ef1eb128 00000000`ef1ebc18
00000000`ef1eb598 00000000`00000001
00000000`ef1eb5a0 00000000`ef1eb2c0
00000000`ef1eb5a8 00000000`ef1eb518
00000000`ef1ea118 00000000`00000001
00000000`ef1ea120 00000000`ef1eacc0
00000000`ef1ea128 00000000`ef1eac18
00000000`ef1ea598 00000000`00000001
00000000`ef1ea5a0 00000000`ef1ea2c0
00000000`ef1ea5a8 00000000`ef1ea518
00000000`ef1f4118 00000000`00000001
00000000`ef1f4120 00000000`ef1f4cc0
00000000`ef1f4128 00000000`ef1f4c18
00000000`ef1f4598 00000000`00000001
00000000`ef1f45a0 00000000`ef1f42c0
00000000`ef1f45a8 00000000`ef1f4518
00000000`ef1f3118 00000000`00000001
00000000`ef1f3120 00000000`ef1f3cc0
00000000`ef1f3128 00000000`ef1f3c18
00000000`ef1f3598 00000000`00000001
00000000`ef1f35a0 00000000`ef1f32c0
00000000`ef1f35a8 00000000`ef1f3518
00000000`ef1f2118 00000000`00000001
00000000`ef1f2120 00000000`ef1f2cc0
00000000`ef1f2128 00000000`ef1f2c18
00000000`ef1f2318 00000000`00000001
00000000`ef1f2320 00000000`ef1f1040
00000000`ef1f2328 00000000`ef1f2218
00000000`ef1f1c18 00000000`00000001
00000000`ef1f1c20 00000000`ef1f12c0
00000000`ef1f1c28 00000000`ef1f1b98
00000000`ef1f1918 00000000`00000001
00000000`ef1f1920 00000000`ef1f1640
00000000`ef1f1928 00000000`ef1f1898
00000000`ef1f0a18 00000000`00000001
00000000`ef1f0a20 00000000`ef1f00c0
00000000`ef1f0a28 00000000`ef1f0998
00000000`ef1f0798 00000000`00000001
00000000`ef1f07a0 00000000`ef1f04c0
00000000`ef1f07a8 00000000`ef1f0718
00000000`ef1efa18 00000000`00000001
00000000`ef1efa20 00000000`ef1ef0c0
00000000`ef1efa28 00000000`ef1ef998
00000000`ef1efd18 00000000`00000001
00000000`ef1efd20 00000000`ef1ee040
00000000`ef1efd28 00000000`ef1efc98
00000000`ef1eec98 00000000`00000001
00000000`ef1eeca0 00000000`ef1ee9c0
00000000`ef1eeca8 00000000`ef1eec18
00000000`ef1ee418 00000000`00000001
00000000`ef1ee420 00000000`efded040
00000000`ef1ee428 00000000`ef1ee398
00000000`efdedc98 00000000`00000001
00000000`efdedca0 00000000`efded9c0
00000000`efdedca8 00000000`efdedc18
00000000`efded418 00000000`00000001
00000000`efded420 00000000`efdef040
00000000`efded428 00000000`efded398
00000000`efdefb18 00000000`00000001
00000000`efdefb20 00000000`efdef440
00000000`efdefb28 00000000`efdefe18
00000000`efdef718 00000000`00000001
00000000`efdef720 00000000`efdfc040
00000000`efdef728 00000000`efdef698
00000000`efdfcc18 00000000`00000001
00000000`efdfcc20 00000000`efdfc740
00000000`efdfcc28 00000000`efdfcb98
00000000`efdfbf18 00000000`00000001
00000000`efdfbf20 00000000`efdfb940
00000000`efdfbf28 00000000`efdfbe98
00000000`efdfb298 00000000`00000001
00000000`efdfb2a0 00000000`ef171040
00000000`efdfb2a8 00000000`ef183d98
00000000`ef171918 00000000`00000001
00000000`ef171920 00000000`ef1715c0
00000000`ef171928 00000000`ef171898
00000000`ef181a98 00000000`00000001
00000000`ef181aa0 00000000`ef1810c0
00000000`ef181aa8 00000000`ef181a18
00000000`ef181918 00000000`00000001
00000000`ef181920 00000000`ef180040
00000000`ef181928 00000000`ef181898
00000000`ef180318 00000000`00000001
00000000`ef180320 00000000`ef1809c0
00000000`ef180328 00000000`ef181618
00000000`ef17df18 00000000`00000001
00000000`ef17df20 00000000`ef1803c0
00000000`ef17df28 00000000`ef17dd18
00000000`ef17d798 00000000`00000001
00000000`ef17d7a0 00000000`ef17d2c0
00000000`ef17d7a8 00000000`ef17d618
00000000`ef191d18 00000000`00000001
00000000`ef191d20 00000000`ef1912c0
00000000`ef191d28 00000000`ef191c98
00000000`ef19bf18 00000000`00000001
00000000`ef19bf20 00000000`ef191540
00000000`ef19bf28 00000000`ef19b018
00000000`ef19bc98 00000000`00000001
00000000`ef19bca0 00000000`ef19b340
00000000`ef19bca8 00000000`ef19bc18
00000000`eebfe318 00000000`00000001
00000000`eebfe320 00000000`eebaa040
00000000`eebfe328 00000000`eebfe998
00000000`eeb77198 00000000`00000001
00000000`eeb771a0 00000000`eeb4dac0
00000000`eeb771a8 00000000`eeb43918
再次用上Excel公式:
保存成NDB脚本文件(去掉结尾分号):
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`3ec53900
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3588c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef326cc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3261c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef321140
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2ef040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2ef340
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3201c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2fe040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31f040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31f3c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31e7c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31d240
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31cb40
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31c2c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef311140
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef319b40
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef319140
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef318c40
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef318240
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef317c40
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3171c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef316c40
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3162c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef315b40
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef315140
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3140c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef314440
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef313c40
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3132c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef30a540
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef301040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3012c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef307b40
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef306040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3063c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef304040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef304440
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3037c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef302040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2ffbc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2ff240
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2fabc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2f76c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2f4040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2f01c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef224040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef224a40
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef225040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2253c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef22cbc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef22c3c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef22b7c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef228740
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2277c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1fa040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1fa440
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f9140
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f94c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f8cc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f82c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f7cc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f72c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ebcc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1eb2c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1eacc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ea2c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f4cc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f42c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f3cc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f32c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f2cc0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f1040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f12c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f1640
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f00c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f04c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ef0c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ee040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ee9c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efded040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efded9c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdef040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdef440
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdfc040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdfc740
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdfb940
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef171040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1715c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1810c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef180040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1809c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1803c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef17d2c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1912c0
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef191540
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef19b340
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`eebaa040
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`eeb4dac0
执行结果:
$<d:\lm.txt
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`3ec53900
+0x040 ImageBase : 0x00000000`3ec27000
+0x048 ImageSize : 0x4a000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3588c0
+0x040 ImageBase : 0x00000000`eff8b000
+0x048 ImageSize : 0x5000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef326cc0
+0x040 ImageBase : 0x00000000`eff81000
+0x048 ImageSize : 0xa000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3261c0
+0x040 ImageBase : 0x00000000`eaf70000
+0x048 ImageSize : 0x40000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef321140
+0x040 ImageBase : 0x00000000`eff77000
+0x048 ImageSize : 0xa000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2ef040
+0x040 ImageBase : 0x00000000`eaee0000
+0x048 ImageSize : 0x30000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2ef340
+0x040 ImageBase : 0x00000000`eae90000
+0x048 ImageSize : 0x40000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3201c0
+0x040 ImageBase : 0x00000000`eff72000
+0x048 ImageSize : 0x5000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2fe040
+0x040 ImageBase : 0x00000000`eff52000
+0x048 ImageSize : 0x20000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31f040
+0x040 ImageBase : 0x00000000`eadf0000
+0x048 ImageSize : 0x40000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31f3c0
+0x040 ImageBase : 0x00000000`ead50000
+0x048 ImageSize : 0x40000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31e7c0
+0x040 ImageBase : 0x00000000`eacb0000
+0x048 ImageSize : 0x40000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31d240
+0x040 ImageBase : 0x00000000`eff4d000
+0x048 ImageSize : 0x5000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31cb40
+0x040 ImageBase : 0x00000000`eff46000
+0x048 ImageSize : 0x7000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef31c2c0
+0x040 ImageBase : 0x00000000`eff3f000
+0x048 ImageSize : 0x7000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef311140
+0x040 ImageBase : 0x00000000`eff34000
+0x048 ImageSize : 0xb000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef319b40
+0x040 ImageBase : 0x00000000`eff2b000
+0x048 ImageSize : 0x9000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef319140
+0x040 ImageBase : 0x00000000`eff25000
+0x048 ImageSize : 0x6000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef318c40
+0x040 ImageBase : 0x00000000`eff14000
+0x048 ImageSize : 0x11000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef318240
+0x040 ImageBase : 0x00000000`eff0b000
+0x048 ImageSize : 0x9000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef317c40
+0x040 ImageBase : 0x00000000`eff04000
+0x048 ImageSize : 0x7000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3171c0
+0x040 ImageBase : 0x00000000`efefc000
+0x048 ImageSize : 0x8000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef316c40
+0x040 ImageBase : 0x00000000`efef5000
+0x048 ImageSize : 0x7000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3162c0
+0x040 ImageBase : 0x00000000`efeef000
+0x048 ImageSize : 0x6000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef315b40
+0x040 ImageBase : 0x00000000`efee8000
+0x048 ImageSize : 0x7000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef315140
+0x040 ImageBase : 0x00000000`efed9000
+0x048 ImageSize : 0xf000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3140c0
+0x040 ImageBase : 0x00000000`efed3000
+0x048 ImageSize : 0x6000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef314440
+0x040 ImageBase : 0x00000000`efecf000
+0x048 ImageSize : 0x4000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef313c40
+0x040 ImageBase : 0x00000000`eabf0000
+0x048 ImageSize : 0x30000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3132c0
+0x040 ImageBase : 0x00000000`efec2000
+0x048 ImageSize : 0xd000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef30a540
+0x040 ImageBase : 0x00000000`efeb9000
+0x048 ImageSize : 0x9000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef301040
+0x040 ImageBase : 0x00000000`efeb3000
+0x048 ImageSize : 0x6000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3012c0
+0x040 ImageBase : 0x00000000`efeab000
+0x048 ImageSize : 0x8000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef307b40
+0x040 ImageBase : 0x00000000`efe8f000
+0x048 ImageSize : 0x1c000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef306040
+0x040 ImageBase : 0x00000000`efe73000
+0x048 ImageSize : 0x1c000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3063c0
+0x040 ImageBase : 0x00000000`efe5e000
+0x048 ImageSize : 0x15000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef304040
+0x040 ImageBase : 0x00000000`eaafd000
+0x048 ImageSize : 0xb3000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef304440
+0x040 ImageBase : 0x00000000`eaab0000
+0x048 ImageSize : 0x30000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef3037c0
+0x040 ImageBase : 0x00000000`efe59000
+0x048 ImageSize : 0x5000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef302040
+0x040 ImageBase : 0x00000000`eaa70000
+0x048 ImageSize : 0x30000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2ffbc0
+0x040 ImageBase : 0x00000000`efe51000
+0x048 ImageSize : 0x8000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2ff240
+0x040 ImageBase : 0x00000000`efe45000
+0x048 ImageSize : 0xc000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2fabc0
+0x040 ImageBase : 0x00000000`efe36000
+0x048 ImageSize : 0xf000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2f76c0
+0x040 ImageBase : 0x00000000`efe25000
+0x048 ImageSize : 0x11000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2f4040
+0x040 ImageBase : 0x00000000`efe0e000
+0x048 ImageSize : 0x17000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2f01c0
+0x040 ImageBase : 0x00000000`eaa5f000
+0x048 ImageSize : 0x11000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef224040
+0x040 ImageBase : 0x00000000`efe07000
+0x048 ImageSize : 0x7000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef224a40
+0x040 ImageBase : 0x00000000`efe00000
+0x048 ImageSize : 0x7000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef225040
+0x040 ImageBase : 0x00000000`eafc6000
+0x048 ImageSize : 0x6000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2253c0
+0x040 ImageBase : 0x00000000`eaaf2000
+0x048 ImageSize : 0xb000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef22cbc0
+0x040 ImageBase : 0x00000000`eaa10000
+0x048 ImageSize : 0x30000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef22c3c0
+0x040 ImageBase : 0x00000000`eaa57000
+0x048 ImageSize : 0x8000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef22b7c0
+0x040 ImageBase : 0x00000000`eaa05000
+0x048 ImageSize : 0xb000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef228740
+0x040 ImageBase : 0x00000000`ea9fc000
+0x048 ImageSize : 0x9000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef2277c0
+0x040 ImageBase : 0x00000000`ea9f0000
+0x048 ImageSize : 0xc000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1fa040
+0x040 ImageBase : 0x00000000`eafc0000
+0x048 ImageSize : 0x6000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1fa440
+0x040 ImageBase : 0x00000000`ea9e7000
+0x048 ImageSize : 0x9000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f9140
+0x040 ImageBase : 0x00000000`ea9db000
+0x048 ImageSize : 0xc000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f94c0
+0x040 ImageBase : 0x00000000`ea9ca000
+0x048 ImageSize : 0x11000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f8cc0
+0x040 ImageBase : 0x00000000`ea9bd000
+0x048 ImageSize : 0xd000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f82c0
+0x040 ImageBase : 0x00000000`ea9b3000
+0x048 ImageSize : 0xa000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f7cc0
+0x040 ImageBase : 0x00000000`ea9a9000
+0x048 ImageSize : 0xa000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f72c0
+0x040 ImageBase : 0x00000000`ea9a1000
+0x048 ImageSize : 0x8000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ebcc0
+0x040 ImageBase : 0x00000000`ea999000
+0x048 ImageSize : 0x8000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1eb2c0
+0x040 ImageBase : 0x00000000`ea991000
+0x048 ImageSize : 0x8000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1eacc0
+0x040 ImageBase : 0x00000000`eaa50000
+0x048 ImageSize : 0x7000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ea2c0
+0x040 ImageBase : 0x00000000`ea982000
+0x048 ImageSize : 0xf000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f4cc0
+0x040 ImageBase : 0x00000000`ea978000
+0x048 ImageSize : 0xa000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f42c0
+0x040 ImageBase : 0x00000000`ea970000
+0x048 ImageSize : 0x8000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f3cc0
+0x040 ImageBase : 0x00000000`ea966000
+0x048 ImageSize : 0xa000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f32c0
+0x040 ImageBase : 0x00000000`ea958000
+0x048 ImageSize : 0xe000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f2cc0
+0x040 ImageBase : 0x00000000`ea953000
+0x048 ImageSize : 0x5000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f1040
+0x040 ImageBase : 0x00000000`ea948000
+0x048 ImageSize : 0xb000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f12c0
+0x040 ImageBase : 0x00000000`ea93e000
+0x048 ImageSize : 0xa000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f1640
+0x040 ImageBase : 0x00000000`ea930000
+0x048 ImageSize : 0xe000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f00c0
+0x040 ImageBase : 0x00000000`ea926000
+0x048 ImageSize : 0xa000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1f04c0
+0x040 ImageBase : 0x00000000`ea919000
+0x048 ImageSize : 0xd000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ef0c0
+0x040 ImageBase : 0x00000000`ea902000
+0x048 ImageSize : 0x17000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ee040
+0x040 ImageBase : 0x00000000`ea8f6000
+0x048 ImageSize : 0xc000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1ee9c0
+0x040 ImageBase : 0x00000000`ea8e9000
+0x048 ImageSize : 0xd000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efded040
+0x040 ImageBase : 0x00000000`ea8db000
+0x048 ImageSize : 0xe000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efded9c0
+0x040 ImageBase : 0x00000000`ea8bc000
+0x048 ImageSize : 0x1f000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdef040
+0x040 ImageBase : 0x00000000`ea8b0000
+0x048 ImageSize : 0xc000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdef440
+0x040 ImageBase : 0x00000000`ea8a3000
+0x048 ImageSize : 0xd000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdfc040
+0x040 ImageBase : 0x00000000`ea88d000
+0x048 ImageSize : 0x16000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdfc740
+0x040 ImageBase : 0x00000000`ea878000
+0x048 ImageSize : 0x15000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`efdfb940
+0x040 ImageBase : 0x00000000`ea78e000
+0x048 ImageSize : 0xea000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef171040
+0x040 ImageBase : 0x00000000`ea77f000
+0x048 ImageSize : 0xf000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1715c0
+0x040 ImageBase : 0x00000000`ea76e000
+0x048 ImageSize : 0x11000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1810c0
+0x040 ImageBase : 0x00000000`ea759000
+0x048 ImageSize : 0x15000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef180040
+0x040 ImageBase : 0x00000001`80000000
+0x048 ImageSize : 0x23000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1809c0
+0x040 ImageBase : 0x00000000`ea740000
+0x048 ImageSize : 0x19000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1803c0
+0x040 ImageBase : 0x00000000`ea737000
+0x048 ImageSize : 0x9000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef17d2c0
+0x040 ImageBase : 0x00000000`ea721000
+0x048 ImageSize : 0x16000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef1912c0
+0x040 ImageBase : 0x00000000`ea713000
+0x048 ImageSize : 0xe000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef191540
+0x040 ImageBase : 0x00000000`ea707000
+0x048 ImageSize : 0xc000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`ef19b340
+0x040 ImageBase : 0x00000000`ea6ff000
+0x048 ImageSize : 0x8000
kd> dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`eebaa040
+0x040 ImageBase : 0x00000000`e9e74000
+0x048 ImageSize : 0x2c000
kd>
dt -b EFI_LOADED_IMAGE_PROTOCOL ImageBase ImageSize 0`eeb4dac0
+0x040 ImageBase : 0x00000000`e9c62000
+0x048 ImageSize : 0x10e000
Module 是列出来了,可是还缺少Module Name,记得log中是有输出的,下断点跟到关键位置:
PeCoffLoaderGetPdbPointer (DebugTable->NormalImage->LoadedImageProtocolInstance->ImageBase);
没想到,在UEFI的环境下,用NDB跟踪了PE文件的加载,在调试器下观察了详细的数据结构。
至此,自己写lm需要的细节已经有了。
一边读PE文件解释的源代码,一边用NDB的调试命令执行源代码中的逻辑,最后看到Module Name字符串了:
da 0`e9c62000
00000000`e9c62000 "MZ"
dt -b EFI_IMAGE_DOS_HEADER 0`e9c62000
+0x000 e_magic : 0x5a4d
+0x002 e_cblp : 0
+0x004 e_cp : 0
+0x006 e_crlc : 0
+0x008 e_cparhdr : 0
+0x00a e_minalloc : 0
+0x00c e_maxalloc : 0
+0x00e e_ss : 0
+0x010 e_sp : 0
+0x012 e_csum : 0
+0x014 e_ip : 0
+0x016 e_cs : 0
+0x018 e_lfarlc : 0
+0x01a e_ovno : 0
+0x01c e_res :
[00] 0
[01] 0
[02] 0
[03] 0
+0x024 e_oemid : 0
+0x026 e_oeminfo : 0
+0x028 e_res2 :
[00] 0
[01] 0
[02] 0
[03] 0
[04] 0
[05] 0
[06] 0
[07] 0
[08] 0
[09] 0
+0x03c e_lfanew : 0xe58
dt -b EFI_IMAGE_NT_HEADERS64 0`e9c62000+0`e58
+0x000 Signature : 0x4550
+0x004 FileHeader :
+0x000 Machine : 0xaa64
+0x002 NumberOfSections : 3
+0x004 TimeDateStamp : 0
+0x008 PointerToSymbolTable : 0
+0x00c NumberOfSymbols : 0
+0x010 SizeOfOptionalHeader : 0xf0
+0x012 Characteristics : 0x2e
+0x018 OptionalHeader :
+0x000 Magic : 0x20b
+0x002 MajorLinkerVersion : 0 ''
+0x003 MinorLinkerVersion : 0 ''
+0x004 SizeOfCode : 0xa2000
+0x008 SizeOfInitializedData : 0x68000
+0x00c SizeOfUninitializedData : 0
+0x010 AddressOfEntryPoint : 0x70b0
+0x014 BaseOfCode : 0x1000
+0x018 ImageBase : 0xe9c62000
+0x020 SectionAlignment : 0x1000
+0x024 FileAlignment : 0x1000
+0x028 MajorOperatingSystemVersion : 0
+0x02a MinorOperatingSystemVersion : 0
+0x02c MajorImageVersion : 0
+0x02e MinorImageVersion : 0
+0x030
MajorSubsystemVersion : 0
+0x032 MinorSubsystemVersion : 0
+0x034 Win32VersionValue : 0
+0x038 SizeOfImage : 0x10e000
+0x03c SizeOfHeaders : 0x1000
+0x040 CheckSum : 0
+0x044 Subsystem : 0xa
+0x046 DllCharacteristics : 0
+0x048 SizeOfStackReserve : 0
+0x050 SizeOfStackCommit : 0
+0x058 SizeOfHeapReserve : 0
+0x060 SizeOfHeapCommit : 0
+0x068 LoaderFlags : 0
+0x06c NumberOfRvaAndSizes : 0x10
+0x070 DataDirectory :
[00]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[01]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[02]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[03]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[04]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[05]
+0x000 VirtualAddress :
0x10b000
+0x004 Size : 0x3000
[06]
+0x000 VirtualAddress : 0x10a0f8
+0x004 Size : 0x1c
[07]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[08]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[09]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[10]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[11]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[12]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[13]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[14]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[15]
+0x000 VirtualAddress : 0
+0x004 Size : 0
db 0`e9c62000+0x10a0f8+1c l100
00000000`e9d6c114 4e 42 31 30 00 00 00 00-00 00 00 00 00 00 00 00 NB10............
00000000`e9d6c124 2f 68 6f 6d 65 2f 67 65-64 75 65 72 2f 55 45 46 /home/geduer/UEF
00000000`e9d6c134 49 2f 65 64 6b 32 2d 79-6f 75 72 6c 61 6e 64 32 I/edk2-yourland2
00000000`e9d6c144 30 32 34 2f 77 6f 72 6b-73 70 61 63 65 2f 42 75 024/workspace/Bu
00000000`e9d6c154 69 6c 64 2f 59 6f 75 72-4c 61 6e 64 2f 44 45 42 ild/YourLand/DEB
00000000`e9d6c164 55 47 5f 47 43 43 2f 41-41 52 43 48 36 34 2f 53 UG_GCC/AARCH64/S
00000000`e9d6c174 68 65 6c 6c 50 6b 67 2f-41 70 70 6c 69 63 61 74 hellPkg/Applicat
00000000`e9d6c184 69 6f 6e 2f 53 68 65 6c-6c 2f 53 68 65 6c 6c 2f ion/Shell/Shell/
00000000`e9d6c194 44 45 42 55 47 2f 53 68-65 6c 6c 2e 64 6c 6c 00 DEBUG/Shell.dll.
00000000`e9d6c1a4 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`e9d6c1b4 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`e9d6c1c4 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`e9d6c1d4 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`e9d6c1e4 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`e9d6c1f4 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`e9d6c204 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
kd>
微信群里发给张老师的感受
@格蠹-张银奎 张老师,这些天,在NDB下,读UEFI源代码,然后用NDB的DT等命令来脚本执行自己对源代码的翻译,直接观察内存的鲜活的数据,相当于用脚本语言重新写一遍自己理解的C代码,立即交叉校验自己的理解,相对于之前的一条条跟进汇编指令,大大地提高了效率(有时单步跟汇编也是有好处的,因其已到最细的步骤)。目前对UEFI下面的内存管理、协议、Dxe管理等,通过直观情景下的观察,有了些微熟悉的感觉。
期待NDB的dt .list .foreach .if 等语句全部能正常执行,那就更赞了。
总之,用NDB调试命令脚本,重写自己理解的代码,交叉校验,有助于学习理解,效率不错。
张老师点了个赞。
额外的收获:
NDB 命令lm少列出以下几项:
一个Module没有找到NB10相应的Module Name字符串
dt -b EFI_IMAGE_DOS_HEADER 00000000`ea740000
+0x000 e_magic : 0x5a4d
+0x002 e_cblp : 0
+0x004 e_cp : 0
+0x006 e_crlc : 0
+0x008 e_cparhdr : 0
+0x00a e_minalloc : 0
+0x00c e_maxalloc : 0
+0x00e e_ss : 0
+0x010 e_sp : 0
+0x012 e_csum : 0
+0x014 e_ip : 0
+0x016 e_cs : 0
+0x018 e_lfarlc : 0
+0x01a e_ovno : 0
+0x01c e_res :
[00] 0
[01] 0
[02] 0
[03] 0
+0x024 e_oemid : 0
+0x026 e_oeminfo : 0
+0x028 e_res2 :
[00] 0
[01] 0
[02] 0
[03] 0
[04] 0
[05] 0
[06] 0
[07] 0
[08] 0
[09] 0
+0x03c e_lfanew : 0xb8
dt -b EFI_IMAGE_NT_HEADERS64 00000000`ea740000+0`b8
+0x000 Signature : 0x4550
+0x004 FileHeader :
+0x000 Machine : 0xaa64
+0x002 NumberOfSections : 6
+0x004 TimeDateStamp : 0
+0x008 PointerToSymbolTable : 0
+0x00c NumberOfSymbols : 0
+0x010 SizeOfOptionalHeader : 0xf0
+0x012 Characteristics : 0x2022
+0x018 OptionalHeader :
+0x000 Magic : 0x20b
+0x002 MajorLinkerVersion : 0xe ''
+0x003 MinorLinkerVersion : 0x10 ''
+0x004 SizeOfCode : 0xe600
+0x008 SizeOfInitializedData : 0x5000
+0x00c SizeOfUninitializedData : 0
+0x010 AddressOfEntryPoint : 0x2008
+0x014 BaseOfCode : 0x1000
+0x018 ImageBase : 0xea740000
+0x020 SectionAlignment : 0x1000
+0x024 FileAlignment : 0x200
+0x028 MajorOperatingSystemVersion : 0
+0x02a MinorOperatingSystemVersion : 0
+0x02c MajorImageVersion : 0
+0x02e MinorImageVersion : 0
+0x030 MajorSubsystemVersion : 0
+0x032 MinorSubsystemVersion : 0
+0x034 Win32VersionValue : 0
+0x038 SizeOfImage : 0x19000
+0x03c SizeOfHeaders : 0x400
+0x040 CheckSum : 0x18054
+0x044 Subsystem : 0xb
+0x046 DllCharacteristics : 0
+0x048 SizeOfStackReserve : 0
+0x050 SizeOfStackCommit : 0
+0x058 SizeOfHeapReserve : 0
+0x060 SizeOfHeapCommit : 0
+0x068 LoaderFlags : 0
+0x06c NumberOfRvaAndSizes : 0x10
+0x070 DataDirectory :
[00]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[01]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[02]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[03]
+0x000 VirtualAddress : 0x16000
+0x004 Size : 0x380
[04]
+0x000 VirtualAddress : 0x13a00
+0x004 Size : 0x2230
[05]
+0x000 VirtualAddress : 0x18000
+0x004 Size : 0x104
[06]
+0x000 VirtualAddress : 0x15040
+0x004 Size : 0x1c
[07]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[08]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[09]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[10]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[11]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[12]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[13]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[14]
+0x000 VirtualAddress : 0
+0x004 Size : 0
[15]
+0x000 VirtualAddress : 0
+0x004 Size : 0
da 00000000`ea740000+15040+1c+10
00000000`ea75506c ""
db 00000000`ea740000+15040
00000000`ea755040 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`ea755050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`ea755060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`ea755070 18 00 fd ef 00 00 00 00-d8 31 c5 3e 00 00 00 00 .........1.>....
00000000`ea755080 18 16 18 ef 00 00 00 00-18 ff fd ef 00 00 00 00 ................
00000000`ea755090 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`ea7550a0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000000`ea7550b0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
遇到一项疑似是RtkUsbUndiDxe(转储出来二进制分析,但又不同,奇怪)
.writemem D:\Gedu\ea740000.bin 0`ea740000 L?0`19000
哦,原来是没有源码的驱动:
通过与符号文件列表对比,发现这些模块是还没有加载的
最后编辑:朱博渊 更新时间:2024-12-20 17:01