首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏林德熙的博客

    Win32 使用 MoveFileEx 延迟到重启后删除文件

    某些文件由于当前进程还在占用中,无法立刻删除,可通过 KERNEL32 提供的 MoveFileEx 方法延迟到下次开机启动时删除文件 在某些情况下,比如应用软件卸载等情况,由于当前进程还在占用着文件, 此时可使用 MoveFileExW 方法执行延迟删除 本文将使用 CsWin32 库辅助对 MoveFileEx 的调用,详细请看 dotnet 使用 CsWin32 库简化 Win32 函数调用逻辑 文件夹也是可以调用 MoveFileEx 进行删除的 } PInvoke.MoveFileEx(file, null, MOVE_FILE_FLAGS.MOVEFILE_DELAY_UNTIL_REBOOT ); Console.WriteLine($"重启后删除 '{file}' 文件"); 注: 调用 MoveFileEx 方法时,要求采用管理员权限(官方文档:仅当进程位于属于管理员组或 LocalSystem 如果要删除有文件的文件夹,可先遍历文件夹内所有文件,先将文件逐一调用 MoveFileEx 方法删除,然后再调用 MoveFileEx 删除文件夹。

    14910编辑于 2026-02-04
  • 来自专栏红队蓝军

    自删除技术详解

    MoveFileEx方式 我们首先看一下MoveFileEx这个api BOOL MoveFileExA( [in] LPCSTR lpExistingFileName, 那么我们这里实现自删除的话,就是好需要设置dwFlags为MOVEFILE_DELAY_UNTIL_REBOOT,这里为什么要system或者administrator权限呢,是因为MoveFileEx \,在MoveFileEx的函数定义中删除文件的路径开头需要加上\\?\ 所以我们在缓冲区前面先加上\\?\ char szTemp[MAX_PATH] = "\\\\? \\"; 因为我们要把路径写在缓冲区后面,就要使用到lstrcat ::lstrcat(szTemp, szFileName); 然后调用MoveFileEx实现自删除 BOOL bRet = :: MoveFileEx(szTemp, NULL, MOVEFILE_DELAY_UNTIL_REBOOT); 完整代码如下 BOOL MoveDel(char* szFileName) { char

    1K20编辑于 2022-07-06
  • 来自专栏全栈程序员必看

    文件读写api函数是什么_c语言文件的读和写

    CopyFile 复制文件 注意:只能复制文件,而不能复制目录 MoveFileEx 移动文件 既可以移动文件,也可以移动目录,但不能跨越盘符。

    1.9K30编辑于 2022-11-17
  • 来自专栏技术点滴

    黑客常用WinAPI函数整理

    des,true); CopyFileEx(src,des,func,¶,false, COPY_FILE_FAIL_IF_EXISTS); 移动文件: MoveFile(src,des); MoveFileEx

    1.2K60发布于 2018-02-05
  • 11.1 文件拷贝移动与删除

    如果要移动文件夹,可以使用 MoveFileEx() 函数。

    54120编辑于 2023-11-20
  • 来自专栏逆向技术

    64位内核开发第九讲,注册表编程.

    使用 MoveFileEx(路径,NULL,MOVEFILE_DELAY_UNTIL_REBOOT)这个函数进行重启删除。 参数2不为空,就是替换,为NULL就是删除。

    1.2K30发布于 2019-06-14
  • C/C++ 病毒破坏手法总结

    \\"; ::lstrcat(szTemp, pszFileName); BOOL bRet = ::MoveFileEx(szTemp, NULL, MOVEFILE_DELAY_UNTIL_REBOOT

    1.2K10编辑于 2022-12-28
  • 来自专栏FreeBuf

    WanaCrypt0r“想哭”勒索蠕虫数据恢复可行性分析报告

    在删除线程中,蠕虫是先将源文件通过MoveFileEx函数移动到其创建的临时文件夹下,最后统一进行删除。

    99860发布于 2018-02-26
  • 来自专栏HACK学习

    免杀方法大集结

    比如MoveFileEx替换MoveFile。 2. 未导出api 寻找相同功能的未导出API进行替换,杀软拦截一般是导出API,或者底层调用,寻找未导出API有一定效果。

    3.3K11发布于 2020-02-17
领券