最通用的自删除代码收藏
过win 98/2000/xp/2003 (Vista没有测试 因为我没有Vista) #include <windows.h> #pragma once void SelfDel() { int i; HANDLE hFile; DWORD dwWritten; char selfpathaaa[MAX_PATH]={0}; char command[2048]={0}; char name[]="afc9fe2f418b00a0.bat"; GetModuleFileName(NULL,selfpathaaa,MAX_PATH); lstrcpy(command,"@echo off/n/r"); for (i=0;i<10;i++) lstrcat(command,"@echo asdfhdsafjkahlsdjfhlk>>3596799a1543bc9f.aqq/n/r"); lstrcat(command,"@del 3596799a1543bc9f.aqq/n/r"); lstrcat(command,"@del /""); lstrcat(command,selfpathaaa); lstrcat(command,"/"/n/r"); lstrcat(command,"@del "); lstrcat(command,name); lstrcat(command,"/n/r@exit"); hFile=CreateFile(name,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL); WriteFile(hFile,(LPCVOID)command,sizeof(command),&dwWritten,NULL); CloseHandle(hFile); WinExec(name,SW_HIDE); ExitProcess(NULL); }
本文介绍了一种在Windows系统上实现程序自删除功能的方法。通过创建批处理文件并执行特定命令来实现当前程序的自我删除。该过程涉及获取程序路径、构造命令字符串以及使用Windows API进行文件操作。
232

被折叠的 条评论
为什么被折叠?



