RSS订阅 | 匿名投稿
您的位置:网站首页 > 程序 > 正文

DELPHI程序删除自己

作者:admin 来源:未知 日期:2010/1/30 16:59:00 人气: 标签:

DELPHI程序删除自己
引用
procedure DeleteSelf;
var
   pExitProcess: Pointer;
   pDeleteFile: Pointer;
   pUnmapViewOfFile: Pointer;
   hModule: THANDLE;
   cBuf:array[0..MAX_PATH]of Char;
begin
   hModule := GetModuleHandle('kernel32');
   if hModule <> 0 then
   begin
     pExitProcess := GetProcAddress(hModule, 'ExitProcess');
     pDeleteFile := GetProcAddress(hModule, 'DeleteFileA');
     pUnmapViewOfFile := GetProcAddress(hModule, 'UnmapViewOfFile');
   end else
   begin
     pExitProcess := nil;
     pDeleteFile := nil;
     pUnmapViewOfFile := nil;
   end;
   hModule := GetModuleHandle(nil);
   GetModuleFileName(hModule, cBuf, Sizeof(cBuf));
   CloseHandle(THANDLE(4));
   asm
     XOR EAX, EAX;
     PUSH EAX;
     PUSH EAX;
     LEA EAX, cBuf;
     PUSH EAX;
     MOV EAX, pExitProcess;     PUSH EAX;     MOV EAX, hModule;     PUSH EAX;     MOV EAX, pDeleteFile;
     PUSH EAX;
     MOV EAX, pUnmapViewOfFile;
     PUSH EAX;
     RET;
   end;
end;

读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
本文网址: