Нашел интересный метод самоудаления запущенного ехе
https://github.com/LloydLabs/delete-self-poc Но — не работает на ХР. Сначала подумал, что из-за импорта SetFileInformationByHandle (апи доступна только с висты). Ладно, переписал на натив. все равно не работает на ХР (на других ОС работает). Интересно, почему так? Как бы эта ХР и даром не нужна, просто в который раз убеждаюсь, что современная NT — это, по факту, Виста и выше. То, что раньше — отличалось очень сильно.
IO_STATUS_BLOCK IoStatusBlock;
if(NT_SUCCESS(NtSetInformationFile(hHandle, &IoStatusBlock, &fRename, sizeof(fRename) + sizeof(lpwStream),FileRenameInformation)))
return TRUE;
else
return FALSE;
if(NT_SUCCESS(NtSetInformationFile(hHandle, &IoStatusBlock, &fDelete, sizeof(fDelete),FileDispositionInformation)))
return TRUE;
else
return FALSE;