FindFirstFile,FindNextFile怎么访问System Volume Information

renxu350 2012-01-18 12:18:25
如题,提权还是其它什么方式,解决问题的会追加分数.
...全文
219 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lactoferrin 2012-01-19
  • 打赏
  • 举报
回复
有点小毛病

int main(int argc, char* argv[])
{
HANDLE token,findfile;WIN32_FIND_DATAA finddata;
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&token))
{
TOKEN_PRIVILEGES priv;
priv.PrivilegeCount=1;
priv.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
priv.Privileges[0].Luid.LowPart=17;//SE_BACKUP_PRIVILEGE
priv.Privileges[0].Luid.HighPart=0;
AdjustTokenPrivileges(token,0,&priv,sizeof priv,0,0);
CloseHandle(token);
}
findfile=FindFirstFileA("D:\\System Volume Information\\*",&finddata);
if(findfile!=INVALID_HANDLE_VALUE)
{
do puts(finddata.cFileName);while(FindNextFileA(findfile,&finddata));
FindClose(findfile);
}
return 0;
}

Lactoferrin 2012-01-19
  • 打赏
  • 举报
回复
以管理员运行

int main(int argc, char* argv[])
{
HANDLE token,findfile;WIN32_FIND_DATA finddata;
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&token))
{
TOKEN_PRIVILEGES priv;
priv.PrivilegeCount=1;
priv.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
priv.Privileges[0].Luid.LowPart=17;//SE_BACKUP_PRIVILEGE
priv.Privileges[0].Luid.HighPart=0;
AdjustTokenPrivileges(token,0,&priv,sizeof priv,0,0);
CloseHandle(token);
}
findfile=FindFirstFileA("D:\\System Volume Information\\*",&finddata);
if(findfile!=INVALID_HANDLE_VALUE)
{
do puts(finddata.cFileName);while(FindNextFileA(findfile,&finddata));
FindClose(findfile);
}
return 0;
}

renxu350 2012-01-18
  • 打赏
  • 举报
回复
ls,不是手工访问啊,,,,,程序里用api访问
BombZhang 2012-01-18
  • 打赏
  • 举报
回复
在程序修改下面两个可以通过修改注册表,修改注册表就不用说了吧:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\

隐藏受保护的操作系统文件(推荐) //ShowSuperHidden=1 显示隐藏的系统文件夹,ShowSuperHidden=0不显示

显示所有文件和文件夹//Hidden=1

修改完注册表以后就可以用filefind了
BombZhang 2012-01-18
  • 打赏
  • 举报
回复
文件夹选项中:
隐藏受保护的操作系统文件(推荐) //不要勾选
显示所有文件和文件夹//勾选
renxu350 2012-01-18
  • 打赏
  • 举报
回复
谢ls回复,我说的是程序里用api访问,不是手工访问
MagicFuzzX 2012-01-18
  • 打赏
  • 举报
回复
windows shell api
oyljerry 2012-01-18
  • 打赏
  • 举报
回复
http://stackoverflow.com/questions/4736866/system-volume-information-access-denied
renxu350 2012-01-18
  • 打赏
  • 举报
回复
客户不管你 System Volume Information 的文件夹是不是有价值
renxu350 2012-01-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 kaile 的回复:]

System Volume Information 这里有什么数据有价值访问的
[/Quote]

客户给你一个需求,遍历某个驱动器 z:\ 下所有文件, 要访问 System Volume Information 这样的文件夹, 还有类似的 c:\Recovery, c:\RECYCLER\文件夹 也是同样的问题
Kaile 2012-01-18
  • 打赏
  • 举报
回复
System Volume Information 这里有什么数据有价值访问的
yanganglove 2012-01-18
  • 打赏
  • 举报
回复
使用SHELLFOLDER, ITEMIDLIST,楼主可参考CMFCShellList
BombZhang 2012-01-18
  • 打赏
  • 举报
回复
应该还有别的办法,我说的只是个比较笨的方法,呵呵
BombZhang 2012-01-18
  • 打赏
  • 举报
回复
在程序修改下面两个可以通过修改注册表,如何修改注册表就不用说了吧:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\

隐藏受保护的操作系统文件(推荐) //ShowSuperHidden=1 显示隐藏的系统文件夹,ShowSuperHidden=0不显示

显示所有文件和文件夹//Hidden=1

修改完注册表以后就可以用filefind了。
用完了记得把注册表设置再改回来

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧