首页
社区
课程
招聘
[求助]内核驱动中不能内联汇编吗?
发表于: 2008-8-3 16:27 4534

[求助]内核驱动中不能内联汇编吗?

2008-8-3 16:27
4534
为什么内核驱动中我一用
__asm{
        mov eax,fs:[30h]
        }
之类的内联汇编语句就挂
另外,我知道有很多方法取PEB,但我就想是想测试下这种

ring3下没问题,ring0        一用就像上面一样BSOD。。。。

高手指点下。。。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
2
R0下你用
__asm{
  mov eax,fs:[30h]
  }


你很强大。。。
2008-8-3 17:20
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
我记得r0 r3下面fs段基址是不一样的。
2008-8-3 17:26
0
雪    币: 147
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=sudami;491123]R0下你用
__asm{
  mov eax,fs:[30h]
  }


你很强大。。。
[/QUOTE]

大米,解释下原因先,是不是与汇编无关
2008-8-3 17:26
0
雪    币: 147
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
应该是mov eax,fs:[30h]这条语句的问题,但我不知道ring0下FS发生了什么变化,知道的帮我补一下吧
2008-8-3 17:33
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
6
R0下取PEB:
fs:124 --> CurrentThread --> +0x20(TEB)
                          |
                          |
                  EPROCESS --> +0x1b0(PEB)

所以你弄个 mov eax,fs:[30h],我觉得你很强大。。。
2008-8-3 18:33
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
7
R0下FS指向的是KPCR……
其他的见楼上。
2008-8-4 20:58
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
8
也没什么奇怪的,用r3的fs selector那个segment base..limit就可以。
2008-8-5 00:13
0
游客
登录 | 注册 方可回帖
返回
//