找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 12218|回复: 20

我还想问个问题

 火... [复制链接]

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-8-9 22:21:23 | 显示全部楼层 |阅读模式
创建内核线程

创建了这个线程有什么用?

麻烦高手介绍一下

谢谢

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-9 22:58:50 | 显示全部楼层
“合法”方式调用Nt**函数

90

主题

473

回帖

2

精华

钻石会员

积分
3261
 楼主| 发表于 2010-8-9 23:02:17 | 显示全部楼层
麻烦斑竹举个例子
以便于理解

3q

90

主题

473

回帖

2

精华

钻石会员

积分
3261
 楼主| 发表于 2010-8-9 23:04:24 | 显示全部楼层
另外,创建的内核线程在哪个进程?
这个进程是固定的吗?

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-9 23:27:24 | 显示全部楼层
举例子?我不是发过一个例子吗(不是这个ID)?
内核线程创建在System进程内。

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2010-8-10 09:42:33 | 显示全部楼层
这个内核线程是不是可以理解为"内核代码运行时的基本单元"?
我就是嗷嗷叫的老马了......

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-10 10:52:56 | 显示全部楼层
这个内核线程是不是可以理解为"内核代码运行时的基本单元"?
马大哈 发表于 2010-8-10 09:42


不可以。
内核线程是运行在System进程内的线程。

1

主题

11

回帖

0

精华

铜牌会员

积分
123
发表于 2010-8-10 16:20:41 | 显示全部楼层
回复 7# Tesla.Angela
难道我用my.exe打开一个驱动,系统和驱动处于my.exe上下文中,在驱动中建立一个内核线程,难道处在system上下文中?

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-10 17:10:51 | 显示全部楼层
自己在内核线程中调用一下PsGetCurrentProcessId不就知道了吗!

1

主题

11

回帖

0

精华

铜牌会员

积分
123
发表于 2010-8-10 17:26:33 | 显示全部楼层
回复 9# Tesla.Angela


    牛牛说说嘛,我电脑没装IDE

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-10 17:31:07 | 显示全部楼层
回复  Tesla.Angela


    牛牛说说嘛,我电脑没装IDE
cttnbcj 发表于 2010-8-10 17:26

回复 7# Tesla.Angela
难道我用my.exe打开一个驱动,系统和驱动处于my.exe上下文中,在驱动中建立一个内核线程,难道处在system上下文中?

我现在慎言慎行,只敢说应该是。

6

主题

196

回帖

0

精华

铜牌会员

菜鸟

积分
52
发表于 2010-8-10 18:24:48 | 显示全部楼层
排除法:运行在你进程上下文里的线程统统都是用户线程.
你见过在Ring3进程里运行的内核线程吗?
----------------我是杯具的分割线----------------
修改TcbPreviousMode为KernelMode,貌似也能实现像TA神牛一样合法的调用Nt系函数.
----------------我是杯具的分割线----------------

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-10 18:38:37 | 显示全部楼层
排除法:运行在你进程上下文里的线程统统都是用户线程.
你见过在Ring3进程里运行的内核线程吗?
---------- ...
xiaoly99 发表于 2010-8-10 18:24



我觉得这样“不合法”。

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2010-8-10 19:59:48 | 显示全部楼层
有些晕..........

驱动主要是难调试,没VB这么方便.

要是好调试,好单步,自己慢慢像摸VB一样摸出来也是可以的,可惜这太需要耐心了,而我正好没有- -!
我就是嗷嗷叫的老马了......

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-10 22:55:57 | 显示全部楼层
有些晕..........

驱动主要是难调试,没VB这么方便.

要是好调试,好单步,自己慢慢像摸VB一样摸出来也是 ...
马大哈 发表于 2010-8-10 19:59



驱动可以用WinDBG调试

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2010-8-11 08:18:47 | 显示全部楼层
回复 15# Tesla.Angela


    所以这个不方便啊....只能以这种方式编译后调试,很磨人的耐心的......

当时被陈辉逼着学了快一个月的驱动,让这种方式给折磨傻了,于是就全丢了

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-11 09:21:13 | 显示全部楼层
回复  Tesla.Angela


    所以这个不方便啊....只能以这种方式编译后调试,很磨人的耐心的......

当 ...
马大哈 发表于 2010-8-11 08:18



编译后调试倒没有什么,主要是如果蓝屏了,要等待好一段时间。

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2010-8-11 09:31:41 | 显示全部楼层
就是烦这个!

折腾几次后耐心全磨完了.
我就是嗷嗷叫的老马了......

90

主题

473

回帖

2

精华

钻石会员

积分
3261
 楼主| 发表于 2010-8-11 10:09:15 | 显示全部楼层
老马,麻烦你问问陈辉,
这几个参数的用法及含义

Private Sub botton1_Click()
    Dim pid As Long
    pid = Val(Text1.Text)
    c_drv.IoControl &H420C027, VarPtr(pid), 4, 0, 0   
End Sub

1

主题

11

回帖

0

精华

铜牌会员

积分
123
发表于 2010-8-11 10:12:39 | 显示全部楼层
回复 11# Tesla.Angela


   我是真的没搞清楚,很奇怪如何运行的? 看ARK工具确实是ring3进程无ring0线程,假如ring3进程上下文建立ring0线程,登记到system进程的线程中,那不是ring3进程关闭的话,建立的ring0线程没有关闭,还是会得到调度。。。。。。

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-11 13:16:35 | 显示全部楼层
回复  Tesla.Angela


   我是真的没搞清楚,很奇怪如何运行的? 看ARK工具确实是ring3进程无ring0线程 ...
cttnbcj 发表于 2010-8-11 10:12



可以把【系统线程】当做:由【用户进程】创建在【system进程】中的【远程线程】。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表