XYZxiaoxiong
XYZ-bear
采纳率33.3%
2016-12-27 13:55 阅读 1.9k
已采纳

按delete键时windows删除文件调用的API时什么?

4

最近做程序来hook系统(WIN10)的文件删除操作,本以为就是简单的DeleteFile接口,试了下发现并不是,也用API monitor等工具跟踪了也无果,求大神帮忙。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    oyljerry oyljerry 2016-12-28 02:20

    Let's start your job with the NtSetFileInformation (undocumented) function. It's the function called by anything else when a file need to be deleted (with the FileDispositionInformation structure).

    Hook这个API试试NtSetFileInformation

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-12-27 15:52

    shfileoperation
    默认是移动文件到回收站。shift+del才是删除文件

    点赞 评论 复制链接分享
  • XYZxiaoxiong XYZ-bear 2016-12-28 05:35

    其实之这样的,感谢oyljerry的提醒,以新建文件为例CreateFile(APP) --> CreateFileA(kernel32.dll) --> CreateFileW(kernel32.dll) --> NtCreateFile(ntdll.dll) --> NtCreateFile(ntoskrnl.exe),括号内就是不同调用层级,我只Hook App层的操作当然不能成功。

    点赞 评论 复制链接分享

相关推荐