-
-
Windows内核私有符号结构转储
-
2021-9-3 17:24
7800
-
相当一部分windows内核结构体并不会出现在公有符号中
列如_DEBUG_OBJECT结构 该结构在windows公有符号中无法搜索
而实际上 该结构在win7 7600中为
typedef struct _DEBUG_OBJECT
{
/* 0x0000 */ struct _KEVENT EventsPresent;
/* 0x0018 */ struct _FAST_MUTEX Mutex;
/* 0x0050 */ struct _LIST_ENTRY EventList;
/* 0x0060 */ unsigned long Flags;
/* 0x0064 */ long __PADDING__[1];
} DEBUG_OBJECT, *PDEBUG_OBJECT; /* size: 0x0068 */
使用windbg加载私有符号进行验证
同理还有更多结构体被隐藏 他们均不会出现在公共符号中
如果用IDA加载私有符号 则情况如下(IDA伪代码未做任何修改 只是单纯的加载私有NT内核符号)
转储项目来源于pdbex (该项目转储自带部分BUG 对私有符号兼容性有一定问题 所以部分结构可能出现小差错)
如需其他内核驱动模块转储请留言 (github issuse或者此贴当中均可)
该项目github地址:https://github.com/DragonQuestHero/WindowsKernelPrivateSymbolsDump
考虑到可能会有更新的情况 帖子当中就不提供下载了 最终均以github最新版本为准
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课