-
-
[推荐]MoveFileEx可以移动正在运行的程序文件
-
发表于:
2007-6-5 19:21
13661
-
[推荐]MoveFileEx可以移动正在运行的程序文件
群里一同胞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期)