楼主: olly
收起左侧

[原创工具] 显示所有文件

  [复制链接]
olly
 楼主| 发表于 2009-12-14 21:59:51 | 显示全部楼层
DLL中主要代码

  1. NTSTATUS WINAPI MyZwQueryDirectoryFile(DWORD RetAddr,
  2.             __pfnZwQueryDirectoryFile pfnZwQueryDirectoryFile,
  3.             IN  HANDLE FileHandle,
  4.             IN  HANDLE Event OPTIONAL,
  5.             IN  PIO_APC_ROUTINE ApcRoutine OPTIONAL,
  6.             IN  PVOID ApcContext OPTIONAL,
  7.             OUT PIO_STATUS_BLOCK IoStatusBlock,
  8.             OUT PVOID FileInformation,
  9.             IN  ULONG Length,
  10.             IN  FILE_INFORMATION_CLASS FileInformationClass,
  11.             IN  BOOLEAN ReturnSingleEntry,
  12.             IN  PUNICODE_STRING FileName OPTIONAL,
  13.             IN  BOOLEAN RestartScan
  14.             )
  15. {
  16. LONG rret = pfnZwQueryDirectoryFile(
  17.   FileHandle,
  18.   Event ,
  19.   ApcRoutine ,
  20.   ApcContext ,
  21.   IoStatusBlock,
  22.   FileInformation,
  23.   Length,
  24.   FileInformationClass,
  25.   ReturnSingleEntry,
  26.   FileName ,
  27.   RestartScan
  28.   );
  29. if (!NT_SUCCESS(rret)) {
  30.   return rret;
  31. }
  32. switch(FileInformationClass){
  33.     case FileBothDirectoryInformation:
  34.      {
  35.       PFILE_BOTH_DIR_INFORMATION pFileInfo;
  36.       BOOLEAN flag;
  37.       pFileInfo = (PFILE_BOTH_DIR_INFORMATION)FileInformation;
  38.       do {
  39.        flag = !( pFileInfo->NextEntryOffset );
  40.        pFileInfo->FileAttributes &= ~(FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM ); //去除隐藏,系统属性
  41.        pFileInfo = (PFILE_BOTH_DIR_INFORMATION)((char *)pFileInfo + pFileInfo->NextEntryOffset);
  42.       } while (!flag);
  43.      }
  44.      break;
  45.     case FileIdBothDirectoryInformation:
  46.      {
  47.       PFILE_ID_BOTH_DIR_INFORMATION pFileInfo;
  48.       BOOLEAN flag;
  49.       pFileInfo = (PFILE_ID_BOTH_DIR_INFORMATION)FileInformation;
  50.       do {
  51.        flag = !( pFileInfo->NextEntryOffset );
  52.        pFileInfo->FileAttributes &= ~(FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM );
  53.        pFileInfo = (PFILE_ID_BOTH_DIR_INFORMATION)((char *)pFileInfo + pFileInfo->NextEntryOffset);
  54.       } while (!flag);
  55.      }
  56.      break;
  57.     case FileNamesInformation:
  58.      break;
  59. }

  60. return rret;
  61. }
复制代码

评分

参与人数 2经验 +15 人气 +1 收起 理由
边缘vip + 15 感谢代码分享!
银砾石 + 1 原创内容

查看全部评分

Thummer
发表于 2009-12-14 22:01:34 | 显示全部楼层
支持了!!
ps:我被雷了下
2009-12-14=220440.jpg
olly
 楼主| 发表于 2009-12-14 22:02:16 | 显示全部楼层
主要思路是去除掉文件的系统,隐藏属性。
pFileInfo->FileAttributes &= ~(FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM );

由于V/7中使用的是FileIdBothDirectoryInformation来枚举文件,所以添加了这个~·
dl123100
发表于 2009-12-14 22:07:29 | 显示全部楼层
貌似不能像ACLView那样无视权限设置
olly
 楼主| 发表于 2009-12-14 22:16:39 | 显示全部楼层
回复 34# dl123100

恩,这个只是去除了文件的SH属性~~~

貌似花花大牛写了个很黄很暴力的EasyDelete。。。
lang5535
发表于 2009-12-15 13:32:44 | 显示全部楼层
还是不错的。支持下。话说前年上大学时教编程的老师都看不出优盘里的那个是病毒。
那个病毒有点弱智,把本身文件夹隐藏了,自己建个exe文件,名字跟文件夹一样,图标也一样
但是不同系统文件夹图标是不一样的,而且他的很粗糙,很容易认出来。。。
教编程的都这样。。其他的呢?
秋日
发表于 2009-12-15 13:43:36 | 显示全部楼层
不错的东西  收下了
kklaoda
发表于 2009-12-15 18:21:10 | 显示全部楼层
呵呵,支持楼主原创的,
狮子王
发表于 2009-12-15 22:31:20 | 显示全部楼层
回复 30# olly


    这个东西是用什么语言编的啊?看不太懂,只学过C!还有用的什么编译通过的,想试试!还有我想好好学一门语言能不能给个建议学哪个比较好?谢谢了。(菜鸟叨扰之处还望见谅!)
olly
 楼主| 发表于 2009-12-15 22:49:05 | 显示全部楼层
回复 39# 狮子王

是用c++写的, 编译环境 vs2008
关于语言的话,个人觉得先学好c/c++之后学习其他的语言的话会容易些。。
而且目前c++排名还是挺靠前的,大概是第三名吧~~学好之后转学其他语言也比较方便,
仅仅是个人意见~~
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-15 01:38 , Processed in 0.102395 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表