AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2005-02-08 11:38
估计它最多在各种操作系统的各个部分做些检测,除非不让进ring0,否则,再多的检测也没用。我如果对付,它总不能让调试器无法工作吧,我hook系统,设置硬件断点,它能耐我何?

这样做理论上问题不打,实际还要测试了才知道
不知兄弟可否这样实验过?
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2005-02-11 17:21
[quote]估计它最多在各种操作系统的各个部分做些检测,除非不让进ring0,否则,再多的检测也没用。我如果对付,它总不能让调试器无法工作吧,我hook系统,设置硬件断点,它能耐我何?

这样做理论上问题不打,实际还要测试了才知道
不知兄弟可否这样实验过? [/quote]
softice的bpm就是这样实做的
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2005-02-14 17:11
[quote]光听微软胡咧咧,那还是高手吗?

不知道你有什么好办法???
我虽然把INTEL EM64T和AMD64的手册都看了一遍,还是没想通MS是如何在CPU硬件级别上实现的.....
请指点...... [/quote]
我也看了一下AMD64的手册,发现它推荐驱动辅助的函数lib工作在ring 1和2,这样便限制了特权指令的使用,也许这便是MS的硬件级的实现。
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2005-02-16 10:21
wowocock和AllenZh在吗?我觉得驱动可以在ring 1,2实现,类似ntdll.dll仅仅是一个包装,只能调用ring0中特定的例程实现,这样限制了特权指令的使用。你们觉得目前的驱动中有哪些通过这样方法不能实现呢?
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
24楼#
发布于:2005-02-16 10:30
wowocock和AllenZh在吗?我觉得驱动可以在ring 1,2实现,类似ntdll.dll仅仅是一个包装,只能调用ring0中特定的例程实现,这样限制了特权指令的使用。你们觉得目前的驱动中有哪些通过这样方法不能实现呢?

你这是比较理想的方法,不过现在看来不现实.
按照INTEL的建议本来是那么做最好,这样普通驱动程序无法修改系统核心的数据结构,也不用担心什么核心级别的ROOTKIT了.
但是当初为了兼容其他CPU,所以现在的WINDOWS和LINUX都只用了RING0和RING3,而应用层调用核心服务或者通过中断门,或者通过X86-32下的SYSENTER,SYSEXIT或者X86-64下的SYSCALL,SYSRET来实现.
由于通过门切换,需要进行特权检查等步骤,所以在XP以后就采用了后面的方法.但是他们只能在0,3之间进行切换,如果位于1,2就无法使用.只能通过门的方法,但你认为要通过那么多门来调用系统服务方便吗????
所以现在只能一条道跑到黑而已.....
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2005-02-16 11:50
[quote]wowocock和AllenZh在吗?我觉得驱动可以在ring 1,2实现,类似ntdll.dll仅仅是一个包装,只能调用ring0中特定的例程实现,这样限制了特权指令的使用。你们觉得目前的驱动中有哪些通过这样方法不能实现呢?

你这是比较理想的方法,不过现在看来不现实.
按照INTEL的建议本来是那么做最好,这样普通驱动程序无法修改系统核心的数据结构,也不用担心什么核心级别的ROOTKIT了.
但是当初为了兼容其他CPU,所以现在的WINDOWS和LINUX都只用了RING0和RING3,而应用层调用核心服务或者通过中断门,或者通过X86-32下的SYSENTER,SYSEXIT或者X86-64下的SYSCALL,SYSRET来实现.
由于通过门切换,需要进行特权检查等步骤,所以在XP以后就采用了后面的方法.但是他们只能在0,3之间进行切换,如果位于1,2就无法使用.只能通过门的方法,但你认为要通过那么多门来调用系统服务方便吗????
所以现在只能一条道跑到黑而已..... [/quote]
AMD64中手册就是这么说的,这么说你认为MS不会在用这种方法实现Patching policy for x64-based systems
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
上一页 下一页
游客

返回顶部