邪恶八进制信息安全团队技术讨论组's Archiver

pub!1c 2006-9-9 10:10

[转载]用 crossmeta 实现在 Win 中无缝访问本地 ext2/3 xfs reiserfs 分区

<p>信息来源: CU 文章作者: <u>VirusCamp</u></p><p>[color=Red]VirusCamp原创,转载请注明作者,原始出处。[/color] <br /><br />在Linux下访问Win分区,不管是fat还是ntfs已经比较完善了,而且方法统一,文档丰富,驱动也很容易找。 <br /><br />但在Win下访问Linux各种分区就很不容易,只读然后导出文件的工具还好,无缝访问工具更难找。 <br /><br />所谓“无缝访问”,seamlessaccess,就是挂载到本地文件系统,不需要导出后才能读或写。以iso为例,比较用winiso导出文件再读,用daemon挂载成虚拟光驱就能直接读了,这就是“无缝访问”。 <br /><br />Win实现无缝访问本地ext2/3xfsreiserfs分区,一般是通过win的IFSKIT对各种文件系统分别实现驱动来实现的。一般是把一个分区映射成一个比如J:K:等的盘符。 <br />这有一个很严重的问题,许可证问题,MS的IFSKIT是商业软件,不能和Linux下GPL的ext2/3reiserfsxfsjfs驱动代码编译到一起的。要法律上没有瑕疵,只有两种方案,重新发明和IFS同功能的接口,或者重新发明linux文件驱动。法律上,只能用“净室方法”在完全没有接触过替代代码的情况下,通过反向工程作出。 <br />开源的同志们已经作出了afreeversionntifs.h。许多开源驱动都是用这个的,所以不叫IFS叫FSD。只要用GPL,就可以直接用Linuxkernel里的文件驱动代码。 <br />但许多不开源的,不管是商业还是免费,我觉得里面用的文件系统驱动代码很可疑。 <br />还有一些驱动,不合法的用了MS的东西。 <br /><br />各种文件系统的支持程度大不一样,ext2/3只读访问比较完善,驱动较多,reiserfs较少,xfs只有一个不能工作的雏形,ufs有两个驱动,jfs根本就没听说过有。 <br /><br />ext2的驱动有Ext2IFS,FSDExt2,Ext2FSD,ext2fsnt等等。 <br />ext2/3可以用ltools,explorer2fs导出ext2/3中的文件,不能无缝访问。 <br />paragon-software.com就是partitionmanager的公司,有个PartitionExplorer可以导入,我记得以前好像有驱动的。 <br /><br />reiserfs驱动只有rfsd,导入工具可以用ltools+GUI和rfstool+GUI。 <br />TotalCommanderPlugins支持ext2/3和reiserfs,据说就是两个开源驱动的组合,所以还是GPL的。 <br /><br />xfs在win下有个xfs32,只是雏形,连导入都不能工作。 <br /><br />usf驱动有ffsdrv和ufs2tools。 <br /><br />这些软件肯定是要能独得,至于能不能写,我认为任何宣称可写的都值得怀疑,我是不会测试写的,就像Linux下我也不会写ntfs。至于fat,那不是现代的文件系统,结构很简单,我相信linux里的实现。 <br /><br />而crossmeta虽然用了MSIFS和GPL文件系统代码,却用一种巧妙的方式避开了法律问题,而且更具扩展性。 <br /><br />首先,crossmeta用MSIFS实现了一个商业的核心程序,挂载了一个V:盘符的核心文件系统,布局类似*nix系统。在这个系统之上,提供另一个文件系统接口,把其他文件系统挂载到V:\mnt\xxx里。 <br />支持NTFS,FATandCDFS,还有Win不支持的NFSversion2and3overUDP。 <br />而BSDLicense的UFS/FFS代码也已经集成。 <br />这个核心是不开源,但免费的。 <br /><br />然后,用自己的文件系统接口,加上Linuxkernel里的文件驱动代码,作出EXT2,XFS和Reiserfs的驱动,这是GPL的。 <br /><br />Win的文件系统接口跟Linux的是大不一样的,而crossmeta的文件系统接口可以更接近Linux,移植Linux文件系统会比较方便。加上jfs支持也不会太难。 <br /><br />但是,crossmeta这样比较接近*nix,配置比较复杂。下面说一下: <br /><br />从 <br />[url]http://www.crossmeta.com/crossmeta.html[/url] <br />下载 <br />[url]http://www.crossmeta.com/downloads/crossmeta-nfs-1_0_1.zip[/url] <br />[url]http://www.crossmeta.com/downloads/crossmeta-add-1_0.zip[/url] <br />[url]http://www.crossmeta.com/downloads/crossmeta_jumpstart.pdf[/url] <br />前两个是安装程序,都有setup.exe,按顺序安装,没有什么难处,后一个是文档,不读文档,你根本没法挂上任何一个文件系统。 <br /><br />把下面的存为startvfs.cmd,在系统启动后运行。 <br />[color=red]crossmeta的服务有bug,千万不要让这些服务“自动”,一定要“手动”,然后用此文件启动。 <br />还有,关机之前不要忘了先stopvfs.cmd,同样是因为这个bug。 <br />否则,蓝屏BSOD的几率极大。 <br />手工启动停止,一般不会出错。[/color] <br />请按你的需要修改下面两个脚本,挂某类型分区之前,先启动对应的服务xfsext2fsreiserfs。 <br />不要忘了先mkdirV:\mnt\hda9这样。还有,它的分区设备名称不是Linux样式的,da0到da<n>是物理硬盘,分区从da0s1到da0s<n>直接对应逻辑分区的顺序,不管扩展分区。就像我下面挂载的。 <br />[CODE]netstartcxvfs <br />netstartcxnfs <br />netstartcxvfsmgr <br />V:\bin\mount-a <br />netstartxfs <br />V:\bin\mount-txfs/dev/da0s6/mnt/hda9 <br />V:\bin\mount-txfs/dev/da0s7/mnt/hda10[/CODE] <br /><br />有问题,可以用vfsadmin图形界面或V:\bin\dmesg查看。 <br /><br />很可能你正确启动后,explorer里看不见V:,也不能在explorer里输入V:进入。 <br />但此时,确实已经挂载,其他程序都能正常浏览,打开V:,cmd可以V:进入,notepad可以打开V:里的文件。 <br />重启explorer就能在explorer里看见了。Ctrl-alt-del杀掉explorer,等他自动重启或你手动启动后,就能正常看见V:了。 <br /><br />停止,存为stopvfs.cmd一定要在关机前手动执行。 <br />[CODE]netstopcxvfsmgr <br />D:\Program\crossmeta\umountall <br />netstopcxnfs <br />netstopcxvfs[/CODE] <br /><br />附录,提到的网址 <br /><br />收集此类程序和文档的网址 <br />[url]http://ext2fsd.sourceforge.net/resources/resources.htm[/url] <br />[url]http://www.acc.umu.se/~bosse/[/url] <br />[url]http://www.sjhf.net/Article/sjhfdoc/200608/164.html[/url] <br />[url]http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=76764[/url] <br />[url]http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=6779[/url] <br /><br />WinNT的文件系统接口SDK <br />IFSKit商业的微软的[url]http://www.microsoft.com/whdc/devtools/ifskit/default.mspx[/url] <br />Ntifs.h自由的[url]http://www.acc.umu.se/~bosse/[/url] <br /><br />ext2/3不能无缝访问的 <br />explore2fs[url]http://www.chrysocome.net/explore2fs[/url] <br />ltools[url]http://www.it.fht-esslingen.de/~zimmerma/software/ltools.html[/url] <br />命令行,有Java和.net的GUI。 <br />PartitionExplorer[url]http://www.paragon-software.com/hdm/index.htm[/url] <br />TotalCommanderPlugins[url]http://www.ghisler.com/plugins.htm[/url] <br /><br />ext2/3可以挂为盘符,无缝访问的 <br />Ext2IFS[url]http://www.fs-driver.org/[/url] <br />fsdext2[url]http://www.yipton.demon.co.uk/[/url] <br />ext2fsd[url]http://ext2fsd.sourceforge.net[/url] <br />ext2IFS[url]http://uranus.it.swin.edu.au/~jn/[/url] <br />ext2fsnt[url]http://ashedel.chat.ru/ext2fsnt/[/url] <br />winext2fsd[url]http://winext2fsd.sourceforge.net[/url] <br /><br />reiserfs不能无缝访问的 <br />ltools[url]http://www.it.fht-esslingen.de/~zimmerma/software/ltools.html[/url] <br />命令行,有Java和.net的GUI。 <br />rfstool[url]http://p-nand-q.com/download/rfstool.html[/url] <br />rfsgui好像native的GUI[url]http://www.wolfsheep.com/map/rfsgui/[/url] <br />YAReG.net的GUI[url]http://yareg.akucom.de/[/url] <br />TotalCommanderPlugins[url]http://www.ghisler.com/plugins.htm[/url] <br /> <br />reiserfs只有这个驱动 <br />rfsd[url]http://rfsd.sf.net[/url] <br /><br />xfs的 <br />xfs32根本不能用[url]http://blitz.phpwebhosting.com/content/XFS32[/url] <br />crossmeta[url]http://www.crossmeta.com/crossmeta.html[/url] <br /><br />ffs/ufs的 <br />ffsdrv驱动[url]http://ffsdrv.sourceforge.net/[/url] <br />ufs2tools命令行不好用[url]http://ufs2tools.sourceforge.net/[/url]<br /></p>

pub!1c 2006-9-9 10:10

[color=red]crossmeta的下列有bug,千万不要让这些服务“自动”,一定要“手动”,然后用此文件启动。 <br />还有,关机之前不要忘了先stopvfs.cmd,同样是因为这个bug。 <br />否则,蓝屏BSOD的几率极大。 <br />手工启动停止,一般不会出错。[/color] <br />请按你的需要修改下面两个脚本,挂某类型分区之前,先启动对应的服务xfsext2fsreiserfs。 <br /><br /><br />很可能你正确启动后,explorer里看不见V:,也不能在explorer里输入V:进入。 <br />但此时,确实已经挂载,其他程序都能正常浏览,打开V:,cmd可以V:进入,notepad可以打开V:里的文件。 <br />重启explorer就能在explorer里看见了。Ctrl-alt-del杀掉explorer,等他自动重启或你手动启动后,就能正常看见V:了。<br />

页: [1]
© 1999-2008 EvilOctal Security Team