jjl
jjl
驱动牛犊
驱动牛犊
  • 注册日期2001-07-21
  • 最后登录2002-01-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1653回复:5

看luo主页中的疑问:51.不可能同步的RING0->RING3调用 经典之作 2001.6.29

楼主#
更多 发布于:2002-01-07 14:09
看了陆麟的(51.不可能同步的RING0->RING3调用 经典之作 2001.6.29 :http://www.chinawolf.com/~lu0/sys/20010629.html),有几个问题不明白了:
1。driver中有没有类似ring3中的sleep()函数?如果有就应该可以做到。
2。如果确实没有,那么很多杀毒软件是如何做到暂时禁止对某一个文件的访问?我经常遇到文件备感染病毒,norton报告有病毒,问我怎么处理?这个时候文件是不可以访问的了,其他进程也不能用,应该是从驱动中租塞了整个系统,经过选择后才放开的,这个时候是不是做到了RING0->RING3调用的同步啊?

最新喜欢:

flyfoxflyfox
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-01-14 12:56
请学习写了以后才发出这类质疑问题.
1.DRIVERA中有SLEEP的功能. 但是你知道调度器是怎么配合运行的么?
2.NORTON没有9X下RING0~RING3的调用同步. 当RING0发现病毒, 他POST一个信号给RING3 UI. 立即将当前ACCESS DENY调. UI负责显示. 如果用户一定要选择是否继续当前操作, 那个选项是\"使用BIOS提示用户\". 全世界没有一家公司愿意为提示一下用户区HACK整个VMM的调度器.
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
jjl
jjl
驱动牛犊
驱动牛犊
  • 注册日期2001-07-21
  • 最后登录2002-01-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-01-16 11:13
to:luo斑竹
POST一个信号给RING3 UI,那么这里是用什么信号的呢?就是说通过什么函数实现的啦?:)98里面可以用callapc的,但是nt中好像没有看见呢。再说了,如果有这样函数,底层用类似的sleep函数阻塞,上层处理不就可以做到同步了?这个时候虽然阻塞的是整个vmm,但是毕竟功能实现了 ;)
iamaf~1
驱动小牛
驱动小牛
  • 注册日期2001-09-23
  • 最后登录2003-06-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-01-17 09:00
to:luo斑竹
POST一个信号给RING3 UI,那么这里是用什么信号的呢?就是说通过什么函数实现的啦?:)98里面可以用callapc的,但是nt中好像没有看见呢。再说了,如果有这样函数,底层用类似的sleep函数阻塞,上层处理不就可以做到同步了?这个时候虽然阻塞的是整个vmm,但是毕竟功能实现了 ;)



只要不等待, filter 随便用什么方法向上面发个信号就可以了。


即使底层 sleep 了, 可是,接受信号的ring3的程序往往需要这个sleep了的thread所把持的资源,所以ring3的程序也可能会等。。

于是, 大家一起sleep, 咿呀咿呀呕.........

用户也就可以去sleep了, 用户sleep可以醒, 可是咱们的ring3 程序在 reset 之前还在 Sleep 呢。
这个论坛不支持长用户名,害得我iamafraid 只好叫iamaf~1了...
jjl
jjl
驱动牛犊
驱动牛犊
  • 注册日期2001-07-21
  • 最后登录2002-01-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-01-17 11:45
那我就简单的问一句:如果不是做到了同步阻塞,怎么才能保证正在执行的程序不执行起来? 我就是想判断某一个程序,如果是这个程序,我就不让他执行。
我的想法就是判断文件名字,如果是这个程序,需要输入密码(在上层),这个时候需要阻塞的,然后判断密码了再决定是否要他执行下去,请问怎么处理?
帮帮忙了!!!高手们
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-01-20 09:53
to jjl, iamafr~1:
请先DISASM一下Kernel32.dll的文件操作类函数后再继续讨论巴.
否则继续此话题是无意义的. 如果没有能力DISASM, 我主页上有一篇
文件读写INTERNAL. 你们现看着. 所有的文件操作类代码都有类似的流程.
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
游客

返回顶部