![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удалить себя [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 ключе реестра