首页
社区
课程
招聘
[推荐]MoveFileEx可以移动正在运行的程序文件
发表于: 2007-6-5 19:21 13661

[推荐]MoveFileEx可以移动正在运行的程序文件

2007-6-5 19:21
13661
  群里一同胞XXX正在写病毒,刚才在群里讨论感染系统文件实现自启动的方法,因为正在运行的系统文件不能进行写操作,XXX提到了先用MoveFileEx移动正在运行的系统文件,然后再Copy一份回原来的位置,再对Copy的那份进行感染。这种方法似乎很费解,正在运行的系统文件怎么可以移动?而且MSDN里MoveFileEx好像也没有这样的说明,但是事实确实可以!看下面的测试代码:

.586
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

include \masm32\macros\macros.asm

.code
Start:
    invoke MoveFileEx,SADD('C:\Windows\Explorer.exe'),SADD('C:\Explorer.exe'),MOVEFILE_REPLACE_EXISTING
    .if eax
        invoke MessageBox,NULL,SADD('OK'),SADD('OK'),MB_OK
    .else
        invoke MessageBox,NULL,LastError$(),LastError$(),MB_OK
    .endif
    invoke ExitProcess,0
end Start 


运行后C:\Windows\Explorer.exe就被移动到C:\Explorer.exe了,而且用进程工具查看正在运行的Explorer.exe的路径也变成了C:\Explorer.exe,好玩吧~!注意不能移动到不同的驱动器,也就是说不能移动C盘的文件到D盘。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 314
活跃值: (15)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
2
真的可以,可惜有人要用它干坏事了
2007-6-6 16:29
0
雪    币: 424
活跃值: (1969)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
写病毒最喜欢了…… ^_^
2007-6-6 16:55
0
雪    币: 135
活跃值: (226)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
4
恩,而且,运行的程序也可以改名(比如调用rename)
改名后进程工具查看仍是原名,点调试说找不到文件
配合MoveFileEx的话,可以金蝉脱壳了
2007-6-6 17:54
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
5
就算感染了Explorer.exe,系统也会自动恢复的貌似
2007-6-6 18:07
0
雪    币: 255
活跃值: (207)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
6
N年前的东西了。
你直接cmd里move也可以啊
微软自带replace.exe命令也可以
2007-6-6 18:31
0
雪    币: 90
活跃值: (148)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
是啊,我们天天研究windows的内核,希望从中找出破绽,可是这些简单的我们却没有留意。。。
2007-6-9 08:30
0
游客
登录 | 注册 方可回帖
返回
//