Referat.me

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

Вид работы: реферат

Рубрика: Информатика

Размер файла: 13.76 Kb

Скачать файл: referat.me-129919.docx

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

Как сделать чтобы запущеный 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 <windows.h>

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

}

}

Похожие работы

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

    Укрощение строптивого… CD-ROM Алексей Фоминов Кто не мечтает о быстром CD-ROM? Быстрый CD-ROM – это хорошо… с одной стороны. А если на компакт-диске появилась трещина? Быстрый CD-ROM – это уже нехорошо. На скорости 52х такой компакт-диск читать просто опасно. А если на этом диске жизненно важные данные? Выход есть.

  • Создание алгоритма для расстановки переносов в словах по правилам русской орфографии

    Министерство образования и науки Российской Федерации Федеральное агентство по образованию Марийский государственный технический университет Кафедра информатики и

  • Система управления базами данных

    Содержание Введение 1.Иследовательская часть 1.1 Firebird 1.2 Основные характеристики 1.3 Требования к аппаратному обеспечению 1.4 Версии сервера

  • Основы работы в операционной системе Windows 2

    Министерство образования и науки Российской Федерации Федеральное государственное образовательное учреждение Высшего профессионального образования

  • Методы поиска технических решений

    Министерство высшего образования РФ Московский Энергетический Институт Смоленский Филиал (Технический Университет) Факультет: АЭТ Кафедра: ВТ Лабораторная работа № 2

  • Меры безопасности в работе с компьютером

    1. Соблюдайте основные меры компьютерной безопасности Перед тем, как отправиться в путешествие по интернету, необходимо выполнить три важных действия для усиления компьютерной защиты. Перейдите в раздел Как защитить компьютер и выполните в онлайновом режиме эти действия для: •

  • Проигрывание Wave-файлов под MFC

    Проигрывание Wave-файлов под MFC 1. Введение В этой главе мы создадим программу, проигрывающую WAVE-файлы. Для начала создадим проект mysound в диалоговом режиме с использованием MFC. В начало файла mysoundDlg.cpp надо написать #include <mmsystem.h>, но это не всё, а теперь самое главное( если это не сделать, то будет ошибка при линковании ) :

  • Использование COM-объектов в хранимых процедурах SQL Server

    Использование COM-объектов в хранимых процедурах SQL Server Рассмотрим, например, ситуацию, когда хранимая процедура по входному параметру паролю брала бы его MD5 значение и заносила полученное значение в таблицу.

  • Операционные системы. Управление памятью. Ввод-вывод

    ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

  • Компоненты системы обработки данных

    Лабораторная работа № 1 Компоненты системы обработки данных Основная функция системы обработки данных это реализация типовых операций над данными. Система обработки данных образует вычислительную систему, к которым относятся: