首页
社区
课程
招聘
[求助]内核模式下fs寄存器里的值到底是多少?
发表于: 2010-9-6 14:55 7373

[求助]内核模式下fs寄存器里的值到底是多少?

2010-9-6 14:55
7373
我看到有篇文章说,fs寄存器在ring3和ring0下的内容是不一样的,但是 fs:[0x18] 下却是一样的,指向当前线程的TEB。按照这个思路我在驱动里写下了如下的汇编代码,想获得当前进程的路径,但是却失败了。

__asm
{
        push eax
        mov eax , fs:[ 0x18 ]
        mov eax , [eax + 0x30 ]
        mov eax , [eax + 0x10 ]
        mov eax , [eax + 0x38 ]
        mov pImagePath , eax
        pop eax
}

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 284
活跃值: (106)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
2
内核态下是 KPCR,用户态下是PEB……
2010-9-6 15:02
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
KPCR 如何获得当前进程的路径呀
2010-9-6 15:26
0
雪    币: 7992
活跃值: (2566)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
从fs:[0x124]取当前线程EHREAD.
然后调用IoThreadToProcess取得当前此线程所属进程的EPROCESS(就是你所谓的当前进程).
从EPROCESS取得进程路径的办法网上文章貌似不少..

大致方法有[详情百度]

1.调用NtQueryInfomationProcess.取得

2.通过EPROCESS--->PEB 取得.

3.通过SectionPointer取得..
2010-9-6 15:46
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢楼上的回复,但是ring3级下面我可以直接通过fs获得,而不需要再调用函数,ring0下不行吗?
2010-9-6 16:19
0
游客
登录 | 注册 方可回帖
返回
//