首页
社区
课程
招聘
[原创]starforce的VFS文件系统研究
发表于: 2006-4-29 13:48 7919

[原创]starforce的VFS文件系统研究

2006-4-29 13:48
7919

Starforce的文章不多,最近研究了一下starforce的那个vfs驱动,写了点东西。
starforce由4个驱动组成,驱动之间由内核事件互相联系,通讯,同时还监控几个驱动之间的内存区域是否被改写(希望改写sf的朋友要失望了,除非你能同时改写这四个驱动还要修改事件),形成一种所谓“铁锁连舟,环环相扣”的模型。

对于光驱检测部分是由sfvsd02.sys来实现的,他在boot时运行,分别挂钩在所有系统形成的光驱设备之上(他比文件系统还要早挂载!所以自己实现文件系统来躲过sf是徒劳的),他自动区分第一光驱第二光驱等等,自动将请求传输到第一个光驱设备。在windows的启动架构中,第一光驱始终是IDE设备的光驱,假如没有IDE光驱设备才把scsi设备映射成第一光驱,所以大多数情况下不得不把掉光驱来进入游戏。由于daemon tool 4.0使用了极为具有创意的sptd驱动,所以部分情况下,IDE光驱的读取直接走的是sptd.sys而不是atapi.sys,所以能够躲过starforce的检测。同样sata光驱的原理也是一样,sata使用的是虚拟scsi总线因为它是位于daemon tool保护之下的。至今未发现starforce自己实现过ide总线的枚举和无视atapi.sys的直接ata指令发送。

综上所述,starforce是一个无耻至极的流氓软件,为了能够运行游戏,必须要配合starforce的天时地利人和才能运行,而且再不运行游戏时你必须要忍受starforce驱动加载在你的cdrom驱动和内核空间中。

本文是本人即兴之作,若有疏漏,请各位指正


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (3)
雪    币: 219
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
也许通过硬件驱动可以躲过starforce的检测,但那样可能会带来不稳定因素。
2006-5-19 13:20
0
雪    币: 47147
活跃值: (20405)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
想了解更多些starforce方面的知识,希望ffsj再来次即兴之作 ;)
2006-5-20 21:36
0
雪    币: 228
活跃值: (119)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
看了楼主的文章,感觉StarForce 玩的已不是技术。而是流氓。偶认同楼主的观点,像StarForcez这样的软件在fs层做处理应该是不够的。因为fs太靠近stack 顶了。像sptd 那样实现一个scsi-passthourgh 确实是对付它的一个方法。但这始终是道高魔高。starforce在 passthourgh玩过了(听说新版已经无视它了,Dt会做一个sptd,SF也自己做一个sptd),bus driver 也玩过了,偶估计它们会继续向下玩,接下来会是port driver ? sata MSACHI 1.0? ACPI ? BIOS ?StarFOrce 自己把Fs Stack + Storage Stack +HAL 都做完把?,可能它会修改NT Executive(ObjectManager?VMM?) 、 NT Kernel (中断?时钟?原始信号量?)、或者最后starforce 自己实现一个OS?走着瞧把。哈哈
2006-11-11 08:55
0
游客
登录 | 注册 方可回帖
返回
//