Http://www.cnng.net  首页 原创软件   VB文挡  VB资源   乱舞人生  资源   Tags  给我留言 
用户登陆
用户:
密码:
 

站点日历
73 2024 - 11 48
     12
3456789
10111213141516
17181920212223
24252627282930


站点统计

最新日志
Excel 2010 导出工作表 VBA(去掉公式) 在win7 下自动以管理员权限运行软件
晴天 奇怪的思路   [ 日期:2015-03-03 ]
function MoveFileEx(
  lpExistingFileName: PChar;  // 来源文件名,指向一个以零结尾的字符串的指针。
  lpNewFileName: PChar;       // 目标文件名,指向一个以零结尾的字符串的指针。
  dwFlags: DWORD              // 移动标记,见定义
  ): BOOL; stdcall;           // 返回执行结果,成果或失败

 MOVEFILE_DELAY_UNTIL_REBOOT     = $00000004; 
 // 在系统重新启动前,不执行移动操作,直到系统启动后,磁盘检测完毕后,创建页面文件之前,执行移动操作。
因此,这个参数可以删除系统之前启用的页面文件。
该参数只能被拥有 管理员权限 或 LocalSystem权限 的程序使用。该参数不能和 MOVEFILE_COPY_ALLOWED 一起使用。


MoveFileWithProgress 功能与 MoveFileEx是相同的,只不过 MoveFileWithProgress 允许你提供一个接收移动进度消息的回调函数。
当dwFlags参数被设置为MOVEFILE_DELAY_UNTIL_REBOOT时,MoveFileEx把重启后移动的文件和要移到的文件的位置存在下面的多字符注册表值(REG_MULTI_SZ)里:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session\Manager\PendingFileRenameOperations。

我们可以将一个程序运行后,就将它移动到一个不易发现的目录下(在我的下面的程序里是移动到回收站目录里),然后利用MoveFileEx,设置dwFlags为MOVEFILE_DELAY_UNTIL_REBOOT,使文件重启后移动到一个可以启动的目录下(对于中文的Windows XP操作系统,启动目录为
“C:\Documents and Settings\All Users\「开始」菜单\程序\启动”)。这样文件运行后便立即不在它运行时的目录了,实现了“自删除”功能。下次重启后,系统还没有被登陆,便已经将文件移动到了启动目录里。当用户登陆时,程序启动,随即被移到其他目录中,此时在启动文件夹里也已经没有了它的踪迹,所以通过正常的检查是看不出来文件到底在那里被启动的。整个过程只是调用了一个系统API,没有直接的写注册表。现在的主动防御和杀毒软件不会将这视为可疑操作。





[阅读字体大小: ]
引用通告地址 (0):
复制引用地址http://www.cnng.net/blog/trackback.asp?tbID=83
复制引用地址http://www.cnng.net/blog/trackback.asp?tbID=83&CP=GBK
暂时没有评论
发表评论 - 不要忘了输入验证码哦!
作者: 用户名:  密码:   注册? 验证码: 
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
表  情