阅读:1581回复:5
透明加密技术
我在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 和 写一个完成例程来处理 可是我发现我的硬盘中的文件数据依然是明文 把文件从系统中拷贝出来后打开依然是明文 不知道哪位高手能指教一二 |
|
沙发#
发布于:2009-07-03 09:19
看下toolflat源码
|
|
板凳#
发布于:2009-07-03 09:21
刚才敲错了 是tooflat
|
|
地板#
发布于:2009-07-03 12:01
我详细看了一下我的代码 好像在我从虚拟机中将文件复制出来的时候 文件发生了读操作 可能这个过程吧文件又解密了 请问有什么好办法可以禁止这些文件或内容复制 从而把文件明文取走
|
|
地下室#
发布于:2009-07-03 15:53
针对大文件的加解密处理 采取流加密速度较慢 不知道大家有什么好的建议
|
|
总版主
![]() |
5楼#
发布于:2009-07-11 06:18
你用的是寒江独钓的代码
如果你直接运行寒江独钓的例子,拖出来肯定是密文。 肯定是你做了自己的修改才变成这样的。 既然如此,何必提问呢? |