2014-01-23 47 views
2

我有一个USB海量存储设备,我用TrueCrypt加密。当我将它连接到Windows时,它会要求格式化。如预期的那样,使用TrueCrypt显示其内容。读取一个USB海量存储设备的字节

enter image description here

我如何可以读取前100个字节该设备的?

我知道这些字节没有意义,因为它们是加密的,但我想读取它们以创建校验和。

+0

谷歌为“DD窗户” –

+0

检查:http://www.developerfusion.com/article/84338/making -usb-c-friendly/ – JleruOHeP

回答

2

这是我的头顶。但是应该工作。

public static long getBytes(string letter) 
    { 
     ManagementObject disk = new ManagementObject(String.Format("win32_logicaldisk.deviceid=\"{0}:\"", letter)); 
     disk.Get(); 
     return long.Parse(disk["Size"].ToString()); 
    } 

编辑:测试它并将int更改为long。有用。

+1

+1帮助谢谢! 。所有的usb都是相同的大小,虽然:(。它们都有不同的内容,这就是为什么我要创建一个字节的哈希值 –

+1

哦,我的坏,我一定错过了你的问题,如果你打算使用一个用于识别每个驱动器的校验和,我会使用一个HWID来代替。这样的东西可能会工作:http://stackoverflow.com/questions/4084402/get-hard-disk-serial-number – AaronDancer

+0

我虽然没有这样做,并没有不知道硬盘上有一个串口,我想这就是要走的路,即将尝试! –

1

到目前为止您考虑过哪些解决方案? USB设备插入或拔出时,您的应用程序是否会发现?

据我所知,在.Net中没有原生支持来直接访问USB设备。我不得不使用LibUsbDotNet(http://sourceforge.net/projects/libusbdotnet/)或SharpUSBLib(http://www.icsharpcode.net/OpenSource/SharpUSBLib/)这样的库。在样本,文档等方面都有优点和缺点。我相信您将能够找到最适合您的方案。

在一种情况下,我可以使用WMDC连接到设备,一旦连接建立,我使用OpenNETCF RAPI库读取/写入设备。

这是另一个很好的资源,当我编写需要与USB设备(条形码扫描仪)交互的应用程序时,我发现它很有用。 http://www.developerfusion.com/article/84338/making-usb-c-friendly/

有一个类似的问题在这里#2的好足智多谋的讨论:Working with USB devices in .NET

相关问题