Реферат по предмету "Программирование"


Как сделать чтобы запущеный exe сам себя удалил?

Как сделать чтобы запущеный exe сам себя удалил?

Шитц Виталий

Как сделать чтобы запущеный exe сам себя удалил? Можно
сгегерировать BAT-файл и выполнить его, а можно и по другому:

Этот код требует, чтобы была определена переменная
окружения COMSPEC, работает на всех ОС Windows.

После вызова функции нужно немедленно выходить из
программы, иначе не сработает.

Автор Tony Varnas.




BOOL SelfDelete()


{


 TCHAR szFile[MAX_PATH],
szCmd[MAX_PATH];



 if((GetModuleFileName(0,szFile,MAX_PATH)!=0)
&&


 (GetShortPathName(szFile,szFile,MAX_PATH)!=0))


 {


 lstrcpy(szCmd,"/c del
");


 lstrcat(szCmd,szFile);


 lstrcat(szCmd," >>
NUL");



 if((GetEnvironmentVariable("ComSpec",szFile,MAX_PATH)!=0)
&&


 ((INT)ShellExecute(0,0,szFile,szCmd,0,SW_HIDE)>32))


 return TRUE;


 }


 return FALSE;


}






Следующий код работает только под NT, автор Gary
Nebbett:




include



int main(int argc, char *argv[])


{


 char buf[MAX_PATH];


 HMODULE module;


 


 module = GetModuleHandle(0);


 GetModuleFileName(module, buf,
MAX_PATH);


 CloseHandle((HANDLE)4);


 


 __asm


 {


 lea eax, buf


 push 0


 push 0


 push eax


 push ExitProcess


 push module


 push DeleteFile


 push UnmapViewOfFile


 ret


 }


 


 return 0;


}






Ну а это – вариант предыдущего, но под Win9x, автор
Tony Varnas.




int main(int argc, char *argv[])


{


 char buf[MAX_PATH];


 HMODULE module;


 


 module = GetModuleHandle(0);


 GetModuleFileName(module, buf,
MAX_PATH);



 __asm


 {


 lea eax, buf


 push 0


 push 0


 push eax


 push ExitProcess


 push module


 push DeleteFile


 push FreeLibrary


 ret


 }


 


 return 0;


}






Ну и два последних в одной функции:




void SelfDelete()


{


 char buf[MAX_PATH];


 HMODULE module;


 DWORD fnFreeOrUnmap;


 


 module = GetModuleHandle(0);


 GetModuleFileName(module, buf,
MAX_PATH);



 // На случай Win9x


 if(0x80000000 &
GetVersion())


 {


 fnFreeOrUnmap = FreeLibrary;


 }


 // для ядра WinNT


 else


 {


 fnFreeOrUnmap =
UnmapViewOfFile;


 CloseHandle((HANDLE)4);


 }



 __asm


 {


 lea eax, buf


 push 0


 push 0


 push eax


 push ExitProcess


 push module


 push DeleteFile


 push fnFreeOrUnmap


 ret


 }


}





Список литературы

Для подготовки данной работы были использованы
материалы с сайта http://www.rsdn.ru/


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Сочинение-рассказ на основе услышанного
Реферат Diversity In The Accounting Profession Essay Research
Реферат Стадии проектирования систем автоматизированного проектирования
Реферат Маркеинговые исследоваия поведения потребителей ресторанных услуг
Реферат Билеты для проведения контрольных мероприятий по Turbo Pascal для начинающих
Реферат Женские образы в жизни героя романа И.А.Гончаров
Реферат Generations of Computers
Реферат Prose Writing Essay Research Paper PROSE WRITINGTOPIC
Реферат Сочинение-рассуждение о любви и дружбе
Реферат Создание эффективной системы управления прибылью на предприятии ПРУП Минский завод специнструмента
Реферат Органы внутренних дел Российской Федерации, правовые основы и основные направления деятельности
Реферат Great Gatsby Essay Essay Research Paper F
Реферат Современное состояние и перспективы развития токсикологии отравляющих и аварийных химически опасных веществ
Реферат How Pregnancy Changes Your Body Essay Research
Реферат Организация производства на предприятии пищевой промышленности