msn1900
驱动牛犊
驱动牛犊
  • 注册日期2008-09-22
  • 最后登录2010-10-06
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望85点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1587回复:2

加密U盘

楼主#
更多 发布于:2009-04-12 02:43
本人近期闲来无事,从老师那得到一加密U盘,对其很好奇,于是开始研究之。

   该U盘号称加密U盘,插入后分区在我的电脑上显示的盘符为H ,大小为1M,写保护。 双击进入后只有一个exe程序,要求输入密码。 在简单的跟踪分析后得到了该程序的密码,输入正确的密码后,经过一阵忙碌的计算,这时候U盘的名称变了,并没有加载其他的驱动。图标被刷新,用的是一个叫什么Notify的函数。这时U盘大小变为3.7G,本人没用过其他的4GU盘,对这个的4G有点怀疑,在我的电脑上该U盘的大小为4017577504byte 不知道市面上其他4GU盘是否也是这个容量。这个分区大小从1M变为4G,并且可读可写。这个"突变"过程很快。
   分析他的解密程序后得知:该程序用CreateFileA直接获得H的句柄,之后是通过DeviceIoControl 实现与U盘之间的通讯。用Winhex分析它的扇区,发现解码前后扇区的前512byte完全不一样。 这个U盘之前明明是有写保护的,为什么用他的登录程序就没了写保护,并且在任何时候无论用什么暴力的办法,只要U盘重新插上,windows就显示为1m,必须经由他的程序解码后才能看到加密的那个U盘。
  我的猜测是第二次刷新后看到的U盘0磁道0扇区 是相对的0,并不是U盘真正的0 。如果猜测真确,那么这是什么技术? 如果猜测错误请指正。

   对USB设备了解不多,让大伙见笑了,从USB被加电那一瞬间,一直到用户看到windows提示可以使用那个设备,这之间发生了些什么? 因为始终没看到该解密程序是否加载驱动,因此有点点怀疑,设备被加电后就加载了驱动。 本人是个纯粹的驱动ABCer
   该设备被取出后H编号一直被占用,我插入其他U盘不能再显示H编号,但是通过手工修改盘符能够让windows xp sp2 显示H盘符。  
  
   对这项技术很是好奇,上天无路,于是到驱网撒野,希望各位大大能够解释小弟心中之疑惑,不胜感激。
pilixuanke
驱动中牛
驱动中牛
  • 注册日期2005-10-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分1018分
  • 威望626点
  • 贡献值0点
  • 好评度512点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-04-12 15:41
这种加密U盘是不是必须要特定的硬件?比如说拿一普通U盘能不能做成一个这样的加密U盘呢?如果不行的话,肯定是在硬件的驱动层(或者是fireware层,具体在哪层我也不太清楚)做了手脚,特定的硬件+特定的驱动要实现这些功能应该不难的。
向底层开发进军!!!
msn1900
驱动牛犊
驱动牛犊
  • 注册日期2008-09-22
  • 最后登录2010-10-06
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望85点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-04-12 19:32
这种加密U盘是特殊的硬件,解密程序对平凡U盘不起作用。
  
游客

返回顶部