sfilter动态加解密吐血总结

原创 2004年09月14日 18:24:00
晕了好几天,总算把Ifs的动态加解密给闹明白了。
为了后来者不再晕,总结如下:

1.加密在SfWrite(IRP_MJ_WRITE)中,而不是完成例程,
解密在SfRead(IRP_MJ_READ)中,而不是完成例程,

3.只要处理IRP_NOCACHE|IRP_PAGING_IO|IRP_SYNCHRONOUS_PAGING_IO

2.加密简单过程:
a.得到Windows传下来的Buffer Address,
if (Irp->MdlAddress)
{
SysDataBuf = MmGetSystemAddressForMdlSafe(Irp->MdlAddress, NormalPagePriority);
}
else
{
SysDataBuf = Irp->UserBuffer;
}
b.保存明文SysDataBuf 在SysDataBufFirst

c.用你强大的算法加密SysDataBuf -->> MyBuf

d.把MyBuf Copy到 SysDataBuf,

e.IoCallDriver 把密文向下传,写入HardDisk。

f.恢复内存的明文 RtlCopyMemory(SysDataBuf,SysDataBufFirst, ulWriteLen);.

3.解密的大致过程:
a.IoCallDriver 读到密文
b,解密
c。IoCompleteRequest 搞定

我的开发环境:
IFS2600,SFilter的代码却是for XP SP1的

Java多线程学习(吐血超详细总结)

本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。...
  • Evankaka
  • Evankaka
  • 2015年03月14日 13:13
  • 68352

转加解密算法的一些概述总结

http://blog.chinaunix.net/uid-11582448-id-3058813.html 一、单向散列算法 也称为Hash(哈希)算法。是一种将任意长度的消息压缩到某一固定长度...
  • wujiewujiang
  • wujiewujiang
  • 2015年06月11日 17:18
  • 590

加密解密总结

BASE64  Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。  常见于邮件、http加密,截取http信息,你就会发现登录操作的用户名、密码字段通过BA...
  • Elender
  • Elender
  • 2014年09月03日 11:46
  • 390

Java 加解密技术系列之 总结

序 上一篇文章中简单的介绍了第二种非对称加密算法 — — DH,这种算法也经常被叫做密钥交换协议,它主要是针对密钥的保护。同时,由于水平的限制,打算这个系列就到此为止了,这篇文章就算是一个总结吧,...
  • happylee6688
  • happylee6688
  • 2015年04月27日 11:52
  • 2892

SFilter框架理解

控制设备(接受我们自己的客服端)----过滤设备(接受别的进程的IRP) IRP栈每层对应的设备不同   绑定后返回的:最顶层的设备 看图 为什么返回最顶层,当我们的设备处理好后要发给下面的 而下面的...
  • zhuhuibeishadiao
  • zhuhuibeishadiao
  • 2016年04月18日 13:27
  • 3317

动态规划总结与思考

这是一篇关于动态规划的思考文章,主要讲了我对动态规划的一些思考与总结。...
  • qiuzhijieluojianping
  • qiuzhijieluojianping
  • 2015年01月01日 10:57
  • 742

JAVA动态加密方法其一

JAVA动态加密解密 第一次加密结果:3E24D795C1E8BAC38986E4D1B4DDB2B4C081E485334532334532 第一次解密结果:这里是要加密的内容123456 第二次加...
  • u010399398
  • u010399398
  • 2015年01月13日 10:56
  • 387

素数算法吐血总结

扯淡相信很多童鞋在OJ都遇到过关于素数的问题,对于素数相关问题,一般都会给出答案,但是相信并不是所有人能给出最优解,包括本菜鸟,故吐血整理一波,以供学习回顾。素数定义既然都说素数、质数什么的,那么什么...
  • u011221820
  • u011221820
  • 2017年12月17日 22:07
  • 11

Drawable 吐血总结

一.Drawable简介 Drawable是对可绘制物件的一般抽象,表示一种图像的概念,在实际开发中常被当做View的背景或者ImageView的图像,一般用xml来构建。(与View不同,没有事件和...
  • lvwenbo0107
  • lvwenbo0107
  • 2016年01月20日 10:17
  • 413

caffe安装吐血总结

这周安装了caffe的windows版本和linux版本,依赖关系太多,如果系统选对了,安装起来很easy,选错了,就会遇见各种坑。 1.操作系统最好使用ubuntu desktop 14.04 64...
  • caozhantao
  • caozhantao
  • 2016年05月23日 09:30
  • 11414
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sfilter动态加解密吐血总结
举报原因:
原因补充:

(最多只允许输入30个字)