zjg1979
驱动牛犊
驱动牛犊
  • 注册日期2006-09-21
  • 最后登录2012-05-18
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望100点
  • 贡献值0点
  • 好评度49点
  • 原创分2分
  • 专家分0分
阅读:2237回复:10

在文件头加入加密标志之后...请各位关注

楼主#
更多 发布于:2007-03-15 09:38
  我在文件头加入了自己的加密标志,长度为512,在irp_mj_read中通过改变IrpSp->Parameters.Read.ByteOffset.QuadPart +=512; 可以隐藏文件头,但是这时却读出了512字节的
 00 ;通过softeice追踪 IrpSp->Parameters.Read.Length为4096,改变他起不到什么效果仍然返回
512字节 00;
我通过拦截 IRP_MJ_DIRECTORY_CONTROL,IRP_MJ_QUERY_INFORMATION,从资源管理器中查看大小为0字节,占用1k

请高手指教!!!!

最新喜欢:

rayyang2000rayyan...
我最老实
驱动小牛
驱动小牛
  • 注册日期2005-09-11
  • 最后登录2010-01-27
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望253点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-03-15 10:00
引用第0楼zjg19792007-03-15 09:38发表的“在文件头加入加密标志之后...请各位关注”:
  我在文件头加入了自己的加密标志,长度为512,在irp_mj_read中通过改变IrpSp->Parameters.Read.ByteOffset.QuadPart +=512; 可以隐藏文件头,但是这时却读出了512字节的
 00 ;通过softeice追踪 IrpSp->Parameters.Read.Length为4096,改变他起不到什么效果仍然返回
512字节 00;
我通过拦截 IRP_MJ_DIRECTORY_CONTROL,IRP_MJ_QUERY_INFORMATION,从资源管理器中查看大小为0字节,占用1k

.......


IRP_MJ_QUERY_Information拦截的不彻底。 AllInformation和StandarInformation都要拦。
养牛专业户
zjg1979
驱动牛犊
驱动牛犊
  • 注册日期2006-09-21
  • 最后登录2012-05-18
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望100点
  • 贡献值0点
  • 好评度49点
  • 原创分2分
  • 专家分0分
板凳#
发布于:2007-03-16 10:05
多谢指导,我用记事本打开后可以拦截到irp_mj_query_information,能正确处理.

可是用editplus 或 UltraEdit 根本就拦截不到irp_mj_query_information.

不知道这两个软件是如何获得文件长度的,发送什么样的irp??????
zjg1979
驱动牛犊
驱动牛犊
  • 注册日期2006-09-21
  • 最后登录2012-05-18
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望100点
  • 贡献值0点
  • 好评度49点
  • 原创分2分
  • 专家分0分
地板#
发布于:2007-03-16 11:30
我用鼠标在文件上点一下,xp属性栏就能显示文件的真实大小,通过拦截我发现是
发送了 irp_mj_query_control   --->  FILE_STREAM_INFORMATION

StreamSize 并不是文件的实际大小,explore是如何知道文件大小的???
JTIGER163
驱动牛犊
驱动牛犊
  • 注册日期2006-12-29
  • 最后登录2008-05-26
  • 粉丝0
  • 关注0
  • 积分240分
  • 威望25点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-03-21 18:00
我也是碰到了同样的问题,用写字板和ultraedit打开的文件根本就没有发送irp_mj_query_information消息,但是调用了fastioquerystandardinfo,在这里改变大小也没有效果,不知道哪里还要做些处理。
驱网无线,快乐无限
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
5楼#
发布于:2007-03-21 18:04
在文件头加加密标识比较复杂,一旦你的加密标识被CACHED,处理就更复杂
人总在矛盾中徘徊。。。
zjg1979
驱动牛犊
驱动牛犊
  • 注册日期2006-09-21
  • 最后登录2012-05-18
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望100点
  • 贡献值0点
  • 好评度49点
  • 原创分2分
  • 专家分0分
6楼#
发布于:2007-03-22 08:18
请 "我最老实" 和实现的朋友关注一下!
zjg1979
驱动牛犊
驱动牛犊
  • 注册日期2006-09-21
  • 最后登录2012-05-18
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望100点
  • 贡献值0点
  • 好评度49点
  • 原创分2分
  • 专家分0分
7楼#
发布于:2007-03-22 08:21
在osc的坛子里,有一个帖子是这样的,看不太明白
Thank you! Indeed that was the missing piece. After making sure to
properly lie about the file size in the fast paths (either cached
IRP_MJ_Xxx or Fast I/O) and properly handling STATUS_BUFFER_OVERFLOW
conditions in IRP_MJ_QUERY_INFORMATION everything worked like a charm.

另外irp_mj_set_information 什么时候调用??
我最老实
驱动小牛
驱动小牛
  • 注册日期2005-09-11
  • 最后登录2010-01-27
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望253点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-03-22 09:17
不管多少条路径查询filesize 最后都是FSD从FCB中获取,所以你直接临时控制一下FCB,可以不用考虑有多少种方式获取FileSize。
养牛专业户
zjg1979
驱动牛犊
驱动牛犊
  • 注册日期2006-09-21
  • 最后登录2012-05-18
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望100点
  • 贡献值0点
  • 好评度49点
  • 原创分2分
  • 专家分0分
9楼#
发布于:2007-03-27 14:01
对文件系统还不是很了解,很多东西都雾里看花!
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
10楼#
发布于:2007-03-27 14:17
多看nt文件系统内幕, 尤其是中文版:)
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
游客

返回顶部