shar123
驱动牛犊
驱动牛犊
  • 注册日期2009-05-12
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望461点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1464回复:5

透明加密技术

楼主#
更多 发布于:2009-07-01 18:16
我在IRP_MJ_WRITE中处理了一下加密数据
if (DeviceObject->Flags & DO_BUFFERED_IO)
   {
       pBuffer = Irp->AssociatedIrp.SystemBuffer;
   }
   else
   {
       if (Irp->MdlAddress)
       {
           pBuffer = MmGetSystemAddressForMdl(Irp->MdlAddress);
       }
       else
       {
           if (Irp->UserBuffer != NULL)
           pBuffer = Irp->UserBuffer;
       }
   }
    
   Length =  CurrentIrpStack->Parameters.Write.Length;
   offset = &CurrentIrpStack->Parameters.Write.ByteOffset;
     if(pBuffer!=NULL)
   {
        for(i=FSECT_FILE_HEADER_SIZE;i<Length;i++)
     pBuffer^= 0x77;
   }
下面尝试了一下直接下发IRP 和 写一个完成例程来处理 可是我发现我的硬盘中的文件数据依然是明文 把文件从系统中拷贝出来后打开依然是明文

不知道哪位高手能指教一二
mchwzhw
驱动牛犊
驱动牛犊
  • 注册日期2004-10-28
  • 最后登录2014-07-07
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望176点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-07-03 09:19
看下toolflat源码
mchwzhw
驱动牛犊
驱动牛犊
  • 注册日期2004-10-28
  • 最后登录2014-07-07
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望176点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-07-03 09:21
刚才敲错了 是tooflat
shar123
驱动牛犊
驱动牛犊
  • 注册日期2009-05-12
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望461点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-07-03 12:01
我详细看了一下我的代码 好像在我从虚拟机中将文件复制出来的时候 文件发生了读操作 可能这个过程吧文件又解密了 请问有什么好办法可以禁止这些文件或内容复制 从而把文件明文取走
shar123
驱动牛犊
驱动牛犊
  • 注册日期2009-05-12
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望461点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-07-03 15:53
针对大文件的加解密处理 采取流加密速度较慢 不知道大家有什么好的建议
XiangXiangRen
总版主
总版主
  • 注册日期2003-02-22
  • 最后登录2015-09-01
  • 粉丝13
  • 关注0
  • 积分1042分
  • 威望472点
  • 贡献值1点
  • 好评度145点
  • 原创分13分
  • 专家分1分
5楼#
发布于:2009-07-11 06:18
你用的是寒江独钓的代码
如果你直接运行寒江独钓的例子,拖出来肯定是密文。
肯定是你做了自己的修改才变成这样的。
既然如此,何必提问呢?
游客

返回顶部