过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);
}
#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);
}