首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
编程技术
发新帖
0
0
[求助]SHFileOperation函数不会重定向
发表于: 2015-2-2 09:25
3615
[求助]SHFileOperation函数不会重定向
soh
2015-2-2 09:25
3615
今天调试NSIS安装文件时碰到一个问题,32位的安装程序在64位系统上跑(Win7 64 bit)
安装流程中,拷贝文件,将能将文件拷贝到 c:\windows\system32\drivers下。
卸载流程中,删除文件时却无法删除该目录下的特定文件,而是删除c:\windows\syswow64\drivers下的文件。
初步看起来,应该是文件系统重定向的问题。
调试发现,删除文件时,调用DeleteFileA API。
而拷贝文件时调用的是 SHFileOperation,然后调用CreateFileA 接口。
首先想到一个问题:
(1)文件系统重定向机制的路径转换是在用户态还是内核态进行的?(我尝试找了些资料,单依然没有明确想法)
猜测安装文件在调用SHFileOperation之前,先关闭了文件系统重定向。设置断点:
bu kernel32!Wow64DisableFsRedirection
bu kernel32!Wow64RevertFsRedirection
发现没有相关操作,那么,如果有关闭重定向操作,应该是在SHFileOperation内进行。但是调试时也没有发现。
由此想请教第二个问题:
(2)SHFileOperation接口是如何避免文件系统重定向的?
请教各位,进一步验证的思路,或者提供相关信息,谢谢。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
2
)
orz1ruo
雪 币:
16468
活跃值:
(2493)
能力值:
( LV9,RANK:147 )
在线值:
发帖
1
回帖
611
粉丝
9
关注
私信
orz1ruo
2
楼
SHFileOperation没有关闭的操作吧.帮你顶一下,等待楼下回复.我也有点好奇..
2015-2-2 10:47
0
Hoogle
雪 币:
256
活跃值:
(26)
能力值:
( LV2,RANK:10 )
在线值:
发帖
13
回帖
118
粉丝
0
关注
私信
Hoogle
3
楼
你确定不是64位程序调用SHFileOperation吧?
那么有可能是32位程序先调用GetSystemDirectory获得C:\Windows\System32;
你自己写个测试程序看下SHFileOperation是否有关闭重定位不就知道了。。。。还搞那么麻烦。。。
2015-2-2 12:08
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
soh
11
发帖
26
回帖
10
RANK
关注
私信
他的文章
[求助]如何查看运行中的xp系统是否以debug模式启动
4116
[求助]cmd挂载windbg后,控制台窗口还是能显示信息。
4797
[求助]SHFileOperation函数不会重定向
3616
[求助]怎么查看sys是32位还是64位
3440
[求助]windbg调试如何判断某个线程运行在用户态还是内核态
5383
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部