[资源发布]文件隐身衣(基于NTFS文件数据流读写类)VB.NET2003

jamesjia 2007-02-17 10:11:25
摘要:NTFS是Microsoft公司开发的一种有着良好安全性和稳定性的高性能文件系统,NTFS的文件或文件夹中附加多个额外的数据流,但是其访问一直没有很好的解决办法,本文使用VB2003实现NTFS文件附加数据流的读写类,提供.Net框架下NTFS文件附加数据流的完整解决方案。
关键词:VB.Net NTFS 数据流 类
导言
NTFS(New Technology File System)是Microsoft公司开发的一种有着良好安全性和稳定性的高性能文件系统,广泛用于WindowsNT、Windows2000、WindowsXP、Windows2003等操作系统中。为了使NTFS能访问Macintosh文件服务器的HFS(Hierarchical File System),Microsoft在NTFS中引入了交换数据流ADS(Alternate Data Streams),并提供了访问ADS的命令方式和编程API(Application Programming Interface)。这种机制允许在一个基于NTFS的文件或文件夹中附加多个额外的数据流,但其中只有一个是主数据流(Main Data Stream),其余为附加数据流,每个数据流都可以看作一个独立的文件,其内容可以是任何数据或程序代码,并能通过相应的接口访问,这种访问包括读写和执行。

MSDN中已经演示了一种使用C++的MFC访问NTFS文件附加数据流的方法,由于对数据流的访问需要借助API函数,因此到目前为止,尚未有VB.Net程序能够完整地解决操作数据流的问题,为了跨越API与VB.Net的鸿沟,特写了此类访问NTFS文件附加数据流,提供.Net框架下文件附加数据流的完整解决方案。
资源名称:文件隐身衣(NTFS文件数据流读写)
下载地址:http://download.csdn.net/source/161510

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
类的使用方法
在项目中选择添加引用->浏览->选择“JWBStreamOP.dll”文件->确定,即可成功引用。
4.1 类的声明:
Dim myStreamOP As New ClassJWBStreamOP(“NTFS文件完整路径”)
4.2 属性:
该类共有3个只读属性
属性名 返回值类型 备注
FileName String 只读,在成功声明后使用
Ready Boolean 只读,该类可操作时为True
Ver String 只读,类版本、版权信息
4.3 方法
该类共有6个方法:
4.3.1 OpenNTFSStream(ByVal sStreamName As String) As System.IO.FileStream 打开指定文件(声明时指定)的指定数据流,返回值为指定数据流的FileStream接口。
参数列表 类型 传递方式 参数说明
sStreamName String Byval 流文件名
4.3.2 GetNTFSStreamSize(ByVal sStreamName As String) As Long 获取指定数据流的大小,返回实际大小,执行失败返回-1
参数列表 类型 传递方式 参数说明
sStreamName String Byval 流文件名
4.3.3 AddNTFSStream(ByVal toHidName As String, ByRef percentDone As Double) As Boolean 添加附加数据流,返回执行结果。
参数列表 类型 传递方式 参数说明
toHidName String ByVal 待添加的文件路径
percentDone Double ByRef 传递一个完成百分比的参数
4.3.4 SaveNTFSStream(ByVal sStreamName As String, ByVal outFileName As String, ByRef percentDone As Double) As Boolean将指定的数据流保存为文件,返回执行结果。
参数列表 类型 传递方式 参数说明
sStreamName String ByVal 流文件名
outFileName String ByVal 保存文件路径
percentDone Double ByRef 传递一个完成百分比的参数
4.3.5 ReadNTFSStreamsName() As String() 获取文件的所有附加数据流名称,返回名称数组。
4.3.6 DeleteNTFSStream(ByVal sStreamName As String) As Boolean 删除指定数据流,返回执行结果。
参数列表 类型 传递方式 参数说明
sStreamName String Byval 流文件名
...全文
292 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Red_angelX 2007-02-27
  • 打赏
  • 举报
回复
先顶一个 记得是2 3年前兴起用NTFS来达到某些目的的...
jamesjia 2007-02-27
  • 打赏
  • 举报
回复
使用VB.Net实现该方法并能在.Net下引用使用应该还没有人,CSDN我是翻遍了没有相关的文章,因为访问要涉及API,VB的资料更少,因此要搞明白API的实际用途还真废了不少劲儿,算是我在此抛砖引玉吧,希望.NET后来者能用该类实现更全面的功能,VB程序员永远不要灰心丧气,VB功能还是很强大的,随着CPU的处理速度越来越高,VB的路也会越来越宽
jamesjia 2007-02-17
  • 打赏
  • 举报
回复
提供例程

资源名称:文件隐身衣(NTFS文件数据流读写)附VB源代码!
下载地址:http://download.csdn.net/source/161510

屏蔽了.EXE,.COM,.VBS文件作为附加数据流的导入,防止用于非法目的。
限于本人水平有限,关于文件夹的附加数据流本人没有找到很好的解决办法(不能枚举流名称),请各位同仁不吝赐教!
本人QQ:84686
E-mail:Jamesjia@tom.com
supercpu123 2007-02-17
  • 打赏
  • 举报
回复
貌似4年前见过相似文章,但还是帮你顶下

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧