DELPHI程序删除自己


本文整理自网络,侵删。

 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;

相关阅读 >>

删除Delphi组件tstringlist中的重复项目

Delphi 感染u盘

Delphi 时间差函数及部分字符串与日期时间相互转换的函数

Delphi 不管什么日期格式转换都不会错了

Delphi 获取带分隔符字符串中的字段值

Delphi中使用自定义字体

Delphi winapi: getmodulefilename、getmodulehandle

Delphi windows 编程[5] - 学习窗体生成的过程五

Delphi 加载图像并压缩,旋转图像角度

Delphi 数字转换成中文

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...