|
发表于 2021-1-8 22:58:49
|
显示全部楼层
本帖最后由 CodeHz 于 2021-1-8 22:59 编辑
你看楼主在用我的程序时的输出,可以看出这里并没有对应关系
我使用的方法是读取Nt内核对象\ArcName\multi... 就是把这串东西附加到\ArcName后面,然后通过
NtOpenSymbolicLinkObject打开,并通过 NtQuerySymbolicLinkObject 解析符号链接的目标,拿到真正的设备名字
(看图就很清楚了,我这里对应,但是在其他设备上不一定,已知楼主就是属于这个情况)
当然我现在发现了另外一种方法,但是还没测试成功,已知bcdedit就是这样做的:
调用 NtQuerySystemInformation, 第一个参数设置为 SystemSystemPartitionInformation, 后续就是缓冲区和对应的长度,就应该能直接拿到解析好的路径(但是是一个结构体,我还没弄清楚结构),头文件参考 https://github.com/processhacker ... t/include/ntexapi.h
修复了32位支持的源码(附带编译好的):
boot.zip
(29.69 KB, 下载次数: 10)
|
|