阅读:3485回复:30
驱动程序中如何得到线程/进程的拥有者?
我想在驱动程序中得到线程或进程的拥有者(owner),即用户名,怎么实现?
比如说,在一个文件系统驱动程序中,我想判断来自LAN内正在试图访问本机的远端用户名,能做到吗?如何做? 谢谢! |
|
最新喜欢:![]()
|
沙发#
发布于:2002-06-17 16:16
我是不太懂驱动的啦
不过我想你应该能比较容易得到对方的IP,但得到别的机器的用户名?就是它的网络名?那应该和IP是对应的。 |
|
|
板凳#
发布于:2002-06-17 16:18
调用Ring3可以实现,不过,可能不安全。
如果需要Call Ring3的代码,我这里有 |
|
|
地板#
发布于:2002-06-17 16:20
调用Ring3可以实现,不过,可能不安全。 兄弟,直接贴上来不就行了 :( |
|
|
地下室#
发布于:2002-06-17 16:43
调用Ring3可以实现,不过,可能不安全。 给我来一份吧,先谢谢! |
|
|
5楼#
发布于:2002-06-17 16:45
对了,ring0 call ring3能否用一个IDT或者GDT实现? :(
|
|
|
6楼#
发布于:2002-06-17 16:53
IDT? GDT ?
|
|
|
7楼#
发布于:2002-06-17 16:57
IDT? GDT ? 你地,不懂地干活? CIH地,就是用IDT进入ring0地干活 我想地,在ring0能否反过来地干活 :( |
|
|
8楼#
发布于:2002-06-17 16:57
9x有办法ring0 -> ring3,但不安全
2k下面基本不可能,2k严格区别内核用户级 就算可以,也是不安全的. 你在驱动里面得到相关信息后, 用事件通知应用级不就行了吗 ring0->ring3用idt和gdt明显不成立 因为idt等的响应程序都是工作在ring0级的 |
|
|
9楼#
发布于:2002-06-17 17:00
9x有办法ring0 -> ring3,但不安全 但没有任务门能从ring0到ring3地干活? 好像可以从ring0返回到ring3,但似乎只能从ring3跳入ring0。 我自己推翻自己地干活 保护模式看了也没实际应用地干活:( |
|
|
10楼#
发布于:2002-06-17 17:03
当调用中断时
cpu会把所有的东西都保存下来 然后进入ring0 而中断程序最后调用iretd cpu就会恢复保存的东西 |
|
|
11楼#
发布于:2002-06-17 17:06
当调用中断时 这些的干活我知道 但IDT其实也是任务门,可以进行级别切换的。 兄弟不要告诉我这些太基本好不好的干活?我倒是想知道可否用任务门从ring0切换到ring3 :( |
|
|
12楼#
发布于:2002-06-17 17:11
我没有研究过
估计可以从0->3 |
|
|
13楼#
发布于:2002-06-17 17:12
我没有研究过 那你还说我说的不行的干活,5555555555 :( 如果用任务门可以的话,那用IDT和GDT当然也可以。 |
|
|
14楼#
发布于:2002-06-17 17:51
NT一样有让你在Ring0 call Ring3的服务,只是2000似乎不再支持。
其实所谓的Ring0 Call Ring3只是造一个系统服务返回的假象,运行Ring3代码后再用门机制恢复到安全状态。有点像V86监控机与V86程序相互切换的原理。 |
|
15楼#
发布于:2002-06-17 20:38
什么地干活?。。。。。。。。。。。 |
|
|
16楼#
发布于:2002-06-17 21:42
use apc you can call ring3 from ring0.
any way, it\'a asyn, not syn call. |
|
17楼#
发布于:2002-06-18 08:25
以上各位兄弟发表了不少高见,但我还对怎样在内核态得到线程/进程的拥者还是没有思路。
|
|
|
18楼#
发布于:2002-06-18 08:56
zdhe说得对,这只能是异步的,不是同步的,基本结构如下(9x):
Ring3: 创建一个Event,并得到该Event的Ring0句柄,通过DeviceIO,将该句柄传入Ring0,Ring3创建一个Thread,该Thread等待这个Event,当这个Event signaled以后,Ring3处理。 Ring0: 当需要调用Ring3时,设置那个Event为signaled,然后等待Ring3结束。 这里还涉及到数据传送问题,如果有问题,再和我联系 |
|
|
19楼#
发布于:2002-06-18 09:08
和得到线程的拥有者有什么关系?
|
|
上一页
下一页