Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удалить себя [D6, Win95/98, Win2k, WinXP]


stas_a ©   (2002-09-03 16:21:00) 

Здрасьте все!!! Подскажите как из программы можно удалить самого себя.


Anatoly Podgoretsky   (2002-09-04 12:09:00) [1]

Виктор Щербаков © (04.09.02 10:15)
Этот бат файл может оказаться открыт(заблокипрвае) другой программой, поэтому цикл не помешает


Micah'GF   (2002-09-04 11:53:00) [2]

Думаю многие видели трояна Lamer Death... кто знает как сервер себя удаляет?


TAndrew   (2002-09-04 11:24:00) [3]

> stas_a (03.09.02 16:21)
> Здрасьте все!!! Подскажите как из программы можно удалить самого себя.
для самоубийц есть отдельный форум :)



> VID © (03.09.02 22:41)
> Есть такая идея: в нужный момент (когда надо самоликвидироваться),
> основная прога (которая должны быть удалена), из своих ресурсов
> извлекает доп. маленькую прогу (консольную например), сохраняет
> её в виде exe файла, и запускает, и сразу же сама (осн.
> прога) вырубается.


...как когда-то делал Adinf for DOS.
только и в данном случае тоже понадобится батник или дополнительный процесс, чтобы последовательно:
1) удалить основную программу, дождавшись ее завершения
2) переименовать "пустышку" (извлеченую из ресурса) в имя удаленной программы.

тогда уже стандартнымиметодами восстановить стертую программу не удастся, хотя для специалиста и это возможно :)

когда-то я делал такие штуки под DOS, все работало на ура


Виктор Щербаков   (2002-09-04 10:15:00) [4]

Anatoly Podgoretsky © (04.09.02 10:12)

> Если предположить некоторые варианты,

Пример можно?


Anatoly Podgoretsky   (2002-09-04 10:12:00) [5]

Axel © (03.09.02 17:08)
Твои "грязные" намеки пропущу, зато скажу самого себя никак, требуется посредник или в виде бат файла (можно через дополнительный процесс) или стандартными средствами после перезагрузки компьютера

Виктор Щербаков © (04.09.02 09:58)
Если предположить некоторые варианты, то может оказаться, что не всегда, правилнее во вторым циклом, тогда есть гарантия.

Но я бы предпочел делать это одним из стандартных путей, а не харакири самому себе


Виктор Щербаков   (2002-09-04 09:58:00) [6]

Да, нужно делать именно так, как говорит Billy ©.
:try
del DelSelf.exe
if exist DelSelf.exe goto try
del DelSelf.bat
Цикл на удаление bat не нужен. Он нормально удаляется с первого захода. А вот на удаление exe цикл действительно необходим, т.к. процесс может достаточно долго завершать свою работу после того как запустит bat.


passing_walker   (2002-09-04 06:31:00) [7]


> Здрасьте все!!! Подскажите как из программы можно удалить
> самого себя.


Никак, ибо пока не придумали(не создали) компьютера, который бы поддерживал какую-нибудь API типа KillProgramCreater или ErasePropgramCreater, которая бы удаляла создателя программы. Так что придется поискать другие способы самоуничтожения. Например, цианистый калий.


lipskiy   (2002-09-04 00:34:00) [8]


> Игорь Шевченко © (03.09.02 17:03)
> stas_a (03.09.02 16:57)
>
> Это новая шутка ? EXE"шник-то не удаляется...


bat удаляет сам себя! Это не шутка, проверено. Хороший способ. Только с длинными путьми проблема, и с кириллицей в путях вроде тоже.


Billy   (2002-09-03 22:49:00) [9]

>del твойфайл
>del созданный бат
Лучше делать это с циклом:
:del1
del file1.exe
if exists file.exe goto del1
:del2
del file.bat
if exists file.bat goto del2
Это проверено и работает


VID   (2002-09-03 22:41:00) [10]

Есть такая идея: в нужный момент (когда надо самоликвидироваться), основная прога (которая должны быть удалена), из своих ресурсов извлекает доп. маленькую прогу (консольную например), сохраняет её в виде exe файла, и запускает, и сразу же сама (осн. прога) вырубается.
А вот что будет делать доп. прога при запуске:
ждёт к примеру 5 сек (sleep 5000) а потом:
DeleteFile("MainProg.exe");
и вырубается...
результат:
цель достигнута, основной проги - нет. осталась только маленькая консольная прога, которая ничего важного из себя не представляет.


Axel   (2002-09-03 17:08:00) [11]

stas_a (03.09.02 16:21)

:))

Seichas tebe Anatoly Podgoretsky skazet, chto virus pisat" ne horosho :)))


Виктор Щербаков   (2002-09-03 17:05:00) [12]

stas_a (03.09.02 16:57)
Так просто не проканает.


Игорь Шевченко   (2002-09-03 17:03:00) [13]

stas_a (03.09.02 16:57)

Это новая шутка ? EXE"шник-то не удаляется...


stas_a   (2002-09-03 17:00:00) [14]

но мне нужно без бата


stas_a   (2002-09-03 16:57:00) [15]

2Игорь Шевченко
В проге пишешь создание бат-файла в директории твоей проги в который записываешь
del твойфайл
del созданный бат


Виктор Щербаков   (2002-09-03 16:49:00) [16]

Можно, но завтра.
Я это в факе видел. А фак дома :)


Игорь Шевченко   (2002-09-03 16:46:00) [17]

Виктор Щербаков © (03.09.02 16:25)

Поподробнее можно ? :-)


Виктор Щербаков   (2002-09-03 16:25:00) [18]

Если нужно срочно удалить, то можно ч/з bat.


Song   (2002-09-03 16:23:00) [19]

Никак, только при следующей перезгарузке в RunOnce ключе реестра


Наверх

Титульная страница Поиск, карта сайта Написать письмо