运行后删除本身的执行文件 代码(vc & bcb 版)
2005-02-13 15:37
477 查看
//vc 代码
int main(int argc, char *argv[])
{
HMODULE module = GetModuleHandle(0);
CHAR buf[MAX_PATH];
GetModuleFileName(module, buf, sizeof buf);
CloseHandle(HANDLE(4));
__asm {
lea eax, buf
push 0
push 0
push eax
push ExitProcess
push module
push DeleteFile
push UnmapViewOfFile
ret
}
return 0;
}
//BOrland c++ builder 代码
//bcb6下测试通过
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#include "windows.h"
#pragma argsused
int main(int argc, char* argv[])
{
char buf[MAX_PATH];
HMODULE Hm1,Hm2;
HANDLE Ex,De,Un;
Hm2=GetModuleHandle(0);
GetModuleFileName(Hm2,buf,255);
Hm1=GetModuleHandle("Kernel32");
Ex=GetProcAddress(Hm1,"ExitProcess");
De=GetProcAddress(Hm1,"DeleteFileA");
Un=GetProcAddress(Hm1,"UnmapViewOfFile");
CloseHandle((HANDLE)4);
__asm {
LEA EAX,buf
PUSH 0
PUSH 0
PUSH EAX
PUSH Ex
PUSH Hm2
PUSH De
PUSH Un
RET
}
return 0;
}
//---------------------------------------------------------------------------
int main(int argc, char *argv[])
{
HMODULE module = GetModuleHandle(0);
CHAR buf[MAX_PATH];
GetModuleFileName(module, buf, sizeof buf);
CloseHandle(HANDLE(4));
__asm {
lea eax, buf
push 0
push 0
push eax
push ExitProcess
push module
push DeleteFile
push UnmapViewOfFile
ret
}
return 0;
}
//BOrland c++ builder 代码
//bcb6下测试通过
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#include "windows.h"
#pragma argsused
int main(int argc, char* argv[])
{
char buf[MAX_PATH];
HMODULE Hm1,Hm2;
HANDLE Ex,De,Un;
Hm2=GetModuleHandle(0);
GetModuleFileName(Hm2,buf,255);
Hm1=GetModuleHandle("Kernel32");
Ex=GetProcAddress(Hm1,"ExitProcess");
De=GetProcAddress(Hm1,"DeleteFileA");
Un=GetProcAddress(Hm1,"UnmapViewOfFile");
CloseHandle((HANDLE)4);
__asm {
LEA EAX,buf
PUSH 0
PUSH 0
PUSH EAX
PUSH Ex
PUSH Hm2
PUSH De
PUSH Un
RET
}
return 0;
}
//---------------------------------------------------------------------------
相关文章推荐
- shell脚本命令 运行python文件&python命令行运行python代码
- winserver2008,运行可执行文件,提示 激活上下文生成失败。 找不到从属程序集 Microsoft.VC90.DebugCRT,processorArchitecture="x86"
- MFC中删除可执行文件(运行或不运行的)
- 针对php脚本文件执行锁定的代码,避免脚本在同一时间重复运行
- VB实现可执行文件运行时自删除
- VC删除文件夹下所有文件的代码
- mfc根据进程名删除后台运行的可执行文件,判断进程是否后台运行
- VC删除文件夹下所有文件的代码
- VS下EXE可执行文件启动代码剖析(5)使用动态运行库的EXE
- VC++通过动态生成并加载DLL,实现可执行文件的自删除
- VC++通过动态生成并加载DLL,实现可执行文件的自删除
- 如何"借他人之手"实现可执行文件的自我删除
- ARM运行可执行文件出现/usr/lib/libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found解决
- Eclipse从SVN恢复本地<误删除已删除>的文件和代码
- VC++通过动态生成并加载DLL,实现可执行文件的自删除
- Eclipse从SVN恢复本地<误删除已删除>的文件和代码
- VB实现可执行文件运行时自删除
- C/C++/VC++/MFC怎样通过代码运行Dos窗口或以管理员身份运行DOS窗口,并执行一条指令或命令参数
- Eclipse下好使,但是cmd下执行java运行class文件提示Exception in thread "main" java.lang.NoClassDefFoundError问题
- 在运行程序时报错:"如果在 Code First 模式下使用,则使用 T4 模板为 Database First 和 Model First 开发生成的代码可能无法 正常运行。若要继续使用 Database First 或 Model First,请确保在执行应用程序的 config 文件中指 定 Entity Framework 连接字符串。若要将这些从 Database First 或 Mod