📄 透明加密驱动开发心得 - laoka - 51cto技术博客-领先的it技术博客.htm
字号:
href="http://bbs.51cto.com/" target=_blank>技术论坛</A> | <A
onclick="pmwin('open','1')" href="javascript:void(0)">短消息</A></DIV>
<DIV class=wd_r><IMG onclick="dis_menu();return false" height=14
src="透明加密驱动开发心得 - LaoKa - 51CTO技术博客-领先的IT技术博客.files/wd_gb.gif" width=15
border=0></DIV></DIV>
<DIV class=wd_list>
<DIV class=wd_list_l>
<DIV class=wd_list_t><A href="http://blog.51cto.com/" target=_blank>博
客</A></DIV>
<DIV class=wd_list_li>
<UL>
<LI><A href="http://.blog.51cto.com/" target=_blank>我的博客</A>
<LI><A href="http://.blog.51cto.com/addblog.php" target=_blank>发表文章</A>
<LI><A href="http://blog.51cto.com/user_index.php" target=_blank>管理博客</A>
</LI></UL></DIV></DIV>
<DIV class=wd_list_m>
<DIV class=wd_list_t1><A href="http://g.51cto.com/" target=_blank>技术圈</A></DIV>
<DIV class=wd_list_li>
<UL>
<LI><A href="http://blog.51cto.com/user_index.php?action=creategroup"
target=_blank>创建圈子</A>
<LI><A href="http://.blog.51cto.com/mygroup.php" target=_blank>我的圈子</A>
<LI><A href="http://g.51cto.com/grouptag.php" target=_blank>寻找圈子</A>
</LI></UL></DIV></DIV>
<DIV class=wd_list_r>
<DIV class=wd_list_t><A href="http://.blog.51cto.com/pic" target=_blank>相
册</A></DIV>
<DIV class=wd_list_li>
<UL>
<LI><A href="http://.blog.51cto.com/pic" target=_blank>我的相册</A>
<LI><A href="http://.blog.51cto.com/pic/uploadphoto.php"
target=_blank>上传图片</A>
<LI><A href="http://.blog.51cto.com/pic/manage_album.php?uid=368606"
target=_blank>管理相册</A> </LI></UL></DIV></DIV></DIV></DIV></DIV><!-- add end -->
<DIV id=navBar>
<DIV id=innerNavBar>
<DIV class=userdir><A href="http://laokaddk.blog.51cto.com/">首页</A> | <A
href="http://laokaddk.blog.51cto.com/368606/d-14">NDIS</A> </DIV></DIV></DIV>
<DIV id=mainWrapper>
<DIV id=innerMainWrapper>
<DIV id=append_parent></DIV>
<DIV id=add_sys_type_div
style="BORDER-RIGHT: #58b0dd 1px solid; BORDER-TOP: #58b0dd 1px solid; DISPLAY: none; LEFT: 20%; BORDER-LEFT: #58b0dd 1px solid; WIDTH: 600px; BORDER-BOTTOM: #58b0dd 1px solid; POSITION: absolute; BACKGROUND-COLOR: #fff"></DIV>
<DIV id=add_sys_type_divs
style="BORDER-RIGHT: #58b0dd 1px solid; BORDER-TOP: #58b0dd 1px solid; DISPLAY: none; LEFT: 20%; BORDER-LEFT: #58b0dd 1px solid; WIDTH: 550px; BORDER-BOTTOM: #58b0dd 1px solid; POSITION: absolute; BACKGROUND-COLOR: #fff"></DIV>
<SCRIPT language=JavaScript
src="透明加密驱动开发心得 - LaoKa - 51CTO技术博客-领先的IT技术博客.files/alert.js"></SCRIPT>
<SCRIPT language=JavaScript
src="透明加密驱动开发心得 - LaoKa - 51CTO技术博客-领先的IT技术博客.files/group.js"
type=text/javascript></SCRIPT>
<DIV class=mod id=layout_1 style="FLOAT: right; WIDTH: 74%">
<DIV class=nouse id=face>
<DIV class=t>
<DIV class=rt></DIV>
<DIV class=lt></DIV>
<DIV class=modHeader>
<TABLE cellSpacing=0 cellPadding=0 width="96%" border=0>
<TBODY>
<TR>
<TD><A style="COLOR: red; TEXT-DECORATION: underline"
href="http://bbs.51cto.com/special/itdoctor/"
target=_blank>【专家门诊百期盛典】如何应对IT行业危机 </A> <A
style="COLOR: red; TEXT-DECORATION: underline"
href="http://51ctoblog.blog.51cto.com/26414/131202"
target=_blank>“我的2009,梦想照进现实”获奖名单 </A></TD>
<TD align=right><A href="http://laokaddk.blog.51cto.com/all/368606"
target=_blank>博主的更多文章>></A></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV class=l>
<DIV class=r>
<DIV class=c>
<DIV class=article id=article align=left>
<H1 class=subject style="WORD-WRAP: break-word"><B><IMG
src="透明加密驱动开发心得 - LaoKa - 51CTO技术博客-领先的IT技术博客.files/orig_1.gif" border=0>
透明加密驱动开发心得 </B></H1>
<HR
style="BORDER-RIGHT: #eeeeee 1px solid; BORDER-TOP: #eeeeee 1px solid; BORDER-LEFT: #eeeeee 1px solid; BORDER-BOTTOM: #eeeeee 1px solid"
align=center width="94%" SIZE=1>
<DIV>
<DIV class=posttime><SMALL>2009-01-13 17:42:59</SMALL></DIV>
<DIV style="PADDING-LEFT: 20px; WIDTH: 94%"> 标签:<SPAN style="COLOR: #aaaaaa"><A
class=operlink
href="http://blog.51cto.com/tagindex.php?keyword=%CD%B8%C3%F7%BC%D3%C3%DC"
target=_blank>透明加密</A></SPAN> [<A class=operlink
onclick="javascript:dfanologin();return false;"
href="http://laokaddk.blog.51cto.com/#">推送到技术圈</A>] <BR><BR></DIV></DIV>
<DIV>
<TABLE id=content style="TABLE-LAYOUT: fixed; WIDTH: 650px" cellSpacing=10
cellPadding=0 width=650 border=0>
<TBODY>
<TR>
<TD>
<DIV
style="FONT-SIZE: 10pt; WORD-BREAK: break-all; POSITION: relative; WORD-WRAP: break-word">
<DIV>最近研究文件透明加密驱动的开发,基于MiniFilter</DIV>
<DIV>具体实现方式是在一文件尾加一块我自己的数据,</DIV>
<DIV>在</DIV>
<DIV>IRP_CREATE时中通过<STRONG>FltSetInformationFile</STRONG> ()</DIV>
<DIV>去掉这个数据块</DIV>
<DIV>在CleanUp中再写上去,</DIV>
<DIV>在研究中发现,</DIV>
<DIV>若自己管理计数Ref则</DIV>
<DIV>在Create时Ref++</DIV>
<DIV>在CleanUp中Ref--</DIV>
<DIV>最后Ref为0,</DIV>
<DIV> </DIV>
<DIV>同样也可以在Close中Ref--</DIV>
<DIV> </DIV>
<DIV>区别在于CleanUp中Ref为0的时间要先于Close.</DIV>
<DIV> </DIV>
<DIV>还发现在CleanUp中,</DIV>
<DIV>若FltWriteFile以NOCACHE的方式进行,则不能成功</DIV>
<DIV>返回STATUS_NO_IMPLEMENT.</DIV>
<DIV>奇怪,原因没有弄清楚.</DIV>
<DIV> </DIV>
<DIV>原因弄清楚了,因为参数不对,</DIV>
<DIV>对于NONCACHE方式,</DIV>
<DIV>WriteBuf</DIV>
<DIV>Length</DIV>
<DIV>ByteOffset</DIV>
<DIV>都必须是SectorSize(一般为512)对齐的.</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>还有一问题是文件要对齐才好操作</DIV>
<DIV>若一个文件是300个字节的.</DIV>
<DIV> </DIV>
<DIV>|0
300|-------------Pad------------512|--------------------------Encrypt
Tail-----------1024|</DIV>
<DIV>这样处理才好,</DIV>
<DIV>方法有很多种的,</DIV>
<DIV>这只是我一家之言.</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>HaHaH...</DIV><A class=hidden
href="http://laokaddk.blog.51cto.com/368606/126328">本文出自
51CTO.COM技术博客</A></DIV></TD></TR></TBODY></TABLE></DIV></DIV><BR><BR>
<DIV align=center>上一篇 <A class=operlink title=Minifiler开发心得
href="http://laokaddk.blog.51cto.com/368606/126118">Minifiler开发心得</A> 下一篇 <A
class=operlink title=用C++进行驱动开发
href="http://laokaddk.blog.51cto.com/368606/126410">用C++进行驱动开发</A>
<BR><BR></DIV>
<DIV align=right>类别:未分类 ┆ <A class=operlink
onclick="javascript:joingroups(126328,'laokaddk');return false;"
href="http://laokaddk.blog.51cto.com/#">技术圈(
<SCRIPT
src="透明加密驱动开发心得 - LaoKa - 51CTO技术博客-领先的IT技术博客.files/joingroup.htm"></SCRIPT>
)</A> ┆ <A class=operlink href="http://laokaddk.blog.51cto.com/368606/126328"
alt="透明加密驱动开发心得">阅读(
<SCRIPT
src="透明加密驱动开发心得 - LaoKa - 51CTO技术博客-领先的IT技术博客.files/header.htm"></SCRIPT>
)</A> ┆ <A class=operlink href="http://laokaddk.blog.51cto.com/368606/126328"
alt="透明加密驱动开发心得">评论(
<SCRIPT>document.write(replies)</SCRIPT>
)</A> ┆<A class=operlink onclick="javascript:dfanologin();return false;"
href="http://laokaddk.blog.51cto.com/#">推送到技术圈</A> ┆<A class=operlink
href="http://laokaddk.blog.51cto.com/">返回首页</A> </DIV>
<DIV class=clear></DIV><BR><BR></DIV></DIV></DIV></DIV>
<DIV class=nouse>
<DIV class=t>
<DIV class=rt></DIV>
<DIV class=lt></DIV>
<DIV class=modHeader>
<DIV class=commenttitle> <B>相关文章</B></DIV></DIV></DIV>
<DIV class=l>
<DIV class=r>
<DIV class=c>
<DIV class=side_sinfo>
<DIV class=related><A title=SEFS安全透明加密内核V1.03
href="http://175247.blog.51cto.com/165247/27834"
target=_blank>SEFS安全透明加密内核V1.03</A></DIV>
<DIV class=related><A title=SEFS安全透明加密内核V1.02
href="http://175247.blog.51cto.com/165247/26804"
target=_blank>SEFS安全透明加密内核V1.02</A></DIV></DIV></DIV></DIV></DIV>
<DIV class=modFrame>
<DIV class=modTable></DIV></DIV></DIV>
<DIV class=nouse>
<DIV class=t>
<DIV class=rt></DIV>
<DIV class=lt></DIV>
<DIV class=modHeader>
<DIV class=commenttitle> <B>文章评论</B></DIV></DIV></DIV>
<DIV class=l>
<DIV class=r>
<DIV class=c id=artcomment>
<DIV> </DIV>
<DIV class=itcomment id=itcommentid0
style="TABLE-LAYOUT: fixed; WORD-WRAP: break-word">
<DIV>
<DIV style="WIDTH: 100%; BORDER-BOTTOM: #a0a0a0 1px solid; HEIGHT: 20px"><LABEL
style="FLOAT: left">[1楼] <IMG
src="透明加密驱动开发心得 - LaoKa - 51CTO技术博客-领先的IT技术博客.files/reply.gif"> <A
class=operlink href="http://ericsong.blog.51cto.com/"
target=_blank><B>小松</B></A></LABEL><LABEL
style="FLOAT: right"></LABEL></DIV></DIV>
<DIV align=right>2009-01-13 22:47:13</DIV>
<DIV class=commentcontent>好,期待你的总结哦~</DIV>
<DIV id=recommentid0 style="DISPLAY: none"><TEXTAREA id=recommentcontentid0 name=content rows=6 cols=68></TEXTAREA>
<DIV style="FLOAT: left"><INPUT onclick='recommentsubmit("recommentid0","156160","recommentcontentid0","recomment_resultid0","bozhumessageid0","1")' type=button value="回 复"><INPUT onclick='display_recomment("recommentid0",0)' type=button value="取 消"><INPUT
id=bozhumessageid0 type=checkbox CHECKED value=on
name=bozhumessage>短消息通知评论者</DIV></DIV>
<DIV class=commentcontent id=recomment_resultid0></DIV></DIV><BR>
<DIV> </DIV></DIV><A id=com_top_top
href="http://laokaddk.blog.51cto.com/"></A></DIV></DIV>
<DIV class=modFrame>
<DIV class=modTable></DIV></DIV></DIV>
<DIV class=nouse>
<DIV class=t>
<DIV class=rt></DIV>
<DIV class=lt></DIV></DIV>
<DIV class=l>
<DIV class=r>
<DIV class=c><BR><A name=comment></A>
<FORM id=form1 name=form1 onsubmit='return commentSubmit(this,"");'
action=/comment.php? method=post><INPUT type=hidden value=comment name=action>
<INPUT id=commenttid type=hidden value=126328 name=tid> <INPUT id=com_count_ajax
type=hidden value=1 name=com_count_ajax>
<FIELDSET id=reply_box><LEGEND class=legend><B>发表评论</B></LEGEND>
<DIV class=sddd><A id=feedback name=feedback></A><BR>
<CENTER>
<TABLE cellSpacing=1 cellPadding=3 width="100%" align=center border=0>
<TBODY>
<TR>
<TD class=commenttable width="12%">昵 称:</TD>
<TD align=left colSpan=2>
<SCRIPT
src="透明加密驱动开发心得 - LaoKa - 51CTO技术博客-领先的IT技术博客.files/user_com.htm"></SCRIPT>
</TD>
<TR id=commentyanzheng>
<TD class=commenttable>验证码:</TD>
<TD vAlign=bottom align=left width="20%"><INPUT id=commentauthnum
style="PADDING-BOTTOM: 2px; HEIGHT: 18px" name=authnum></TD>
<SCRIPT> function refimg(){ var randval = Math.random(); document.getElementById("secunum").src="/seccode.php?rnum="+randval; } </SCRIPT>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -