首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
经典问答
发新帖
0
0
内核编程如何使用未导出的数据结构
发表于: 2013-5-9 23:30
4440
内核编程如何使用未导出的数据结构
egodcore
2013-5-9 23:30
4440
最近练习内核编程,想做一个线程相关的驱动。发现 PKTHREAD 这个结构体未导出,在网上查到的定义都是嵌套定义的,难道都要复制下来吗? 有没有什么别的方法呀
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
6
)
流逝时光
雪 币:
70
活跃值:
(25)
能力值:
( LV2,RANK:10 )
在线值:
发帖
15
回帖
96
粉丝
1
关注
私信
流逝时光
2
楼
wrk不是有吗,拿来直接用呗
2013-5-9 23:38
0
phpskycn
雪 币:
110
活跃值:
(34)
能力值:
(RANK:50 )
在线值:
发帖
29
回帖
395
粉丝
0
关注
私信
phpskycn
1
3
楼
1.解析微软公共调试符号服务上的.pdb,得到。
2.很多未导出的结构随Windows NT内核版本变化而变化,甚至Vista和Win7上都会有差异,
想要直接使用完整的结构体比较麻烦,通常的情况下是事先记录下不同版本的系统中要使用的几个成员的偏移,然后用指针+偏移访问要用到的几个成员。
3.很多结构体未导出,但它么的指针在wdm.h之类的头文件中有定义。
4.WRK中的结构体可以作为参考,但只适用于Windows NT 5.2,XP的都有差异。
5.或许哪天微软推出WRK2了能得到NT 6下的情况
2013-5-10 00:02
0
egodcore
雪 币:
168
活跃值:
(11)
能力值:
( LV2,RANK:10 )
在线值:
发帖
5
回帖
18
粉丝
0
关注
私信
egodcore
4
楼
噢 就是说我要引用某个成员变量的话要用硬编码来实现?
再麻烦问下您,2楼帖子用说的,wrk中的头文件怎么引用呀,我直接引用后build出错了。
是不是要用wrk下的工具编译呀
谢谢您
2013-5-10 00:12
0
phpskycn
雪 币:
110
活跃值:
(34)
能力值:
(RANK:50 )
在线值:
发帖
29
回帖
395
粉丝
0
关注
私信
phpskycn
1
5
楼
是的这种方法比较常用,但是得密切注意不同版本系统之间的差异,最好加上一些校验措施。
WRK是Windows Reaserch Kernel的源码啦,直接引用头文件当然步行很多地方会和WDK/DDK的头文件重复。如果您要自己用WRK写个内核例外~
2L应该是建议参考WRK中的代码……
2013-5-10 00:46
0
危险走红
雪 币:
220
活跃值:
(16)
能力值:
( LV2,RANK:10 )
在线值:
发帖
2
回帖
6
粉丝
0
关注
私信
危险走红
6
楼
我要学习,来看看的
2013-5-10 00:49
0
phpskycn
雪 币:
110
活跃值:
(34)
能力值:
(RANK:50 )
在线值:
发帖
29
回帖
395
粉丝
0
关注
私信
phpskycn
1
7
楼
再给出个例子,获取KPROCESS.ThreadListHead
PKPROCESS PTragetProcess;//PKPROCESS 指针
ULONG KPDelta_ThreadListHead;//ThreadListHead成员的偏移
LIST_ENTRY ThreadList = *(PLIST_ENTRY)((PUCHAR)PTragetProcess + KPDelta_ThreadListHead);
注意其中指针得当心使用……最好对关键部分进行汇编代码检查,编译器经常编译出一些诡异的结果导致BSOD
2013-5-10 00:54
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
egodcore
5
发帖
18
回帖
10
RANK
关注
私信
他的文章
[求助]一段shellcode的汇编执行错误
5299
[求助]调试shellcode的问题
4355
shellcode被截断的问题
5093
内核编程如何使用未导出的数据结构
4441
[求助]windows驱动安装,启动,停止,卸载代表什么呀
6057
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部