自删除技术详解

基础知识

这里首先说一下程序自删除实现的思路:程序创建一个批处理文件,并创建进程执行,然后程序结束进程;批处理所做的功能便是延时5秒后,删除指定程序然后再自删除。这样,程序自删除功能便实现了。

常用的有三种“自删除”技术

1.利用windows的批处理命令

2.多进程的方式

3.远程注入的方式

主要的问题在于,当前程序正在执行过程中,是删除不掉的。如果当前进程的任务是将程序注入到其他进程,在其他进程的地址空间中运行,然后关掉当前进程。再删除文件就可以删除成功了,这个原理就是方式2,3。

方式1是利用批处理任务可以删除自己的特性实现的。

MoveFileEx方式

我们首先看一下MoveFileEx这个api

BOOL MoveFileExA(
  [in]           LPCSTR lpExistingFileName,
  [in, optional] LPCSTR lpNewFileName,
  [in]           DWORD  dwFlags
);

dwFlags:设置移动标志,指明要怎样操作文件或者目录。

MOVEFILE_COPY_ALLOWED:当需要移动文件到不同的盘符时需要指定此值,不然会失败,这个值不能和MOVEFILE_DELAY_UNTIL_REBOOT一起用

MOVEFILE_DELAY_UNTIL_REBOOT:文件并不立即移动,当下一次机器重启时文件才执行移动 ,不能和MOVEFILE_COPY_ALLOWED同时用

MOVEFILE_FAIL_IF_NOT_TRACKABLE:当源文件是连接资源时会移动失败。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值