фсякая инитиресссная фсячина
Удаление программы из самой себя
Запись от deathNC размещена 28.03.2012 в 20:51
Недавно мне понадобилась такая штука, чтобы программа по завершению сама себя удалила. В иннете есть куча исходников, и я давно находил то, что мне нужно... однако ![]() Код, который гуляет по иннету - это код, который создаёт bat-файл, удаляющий программу, и после этого, удаляющий сам себя. Но вот ведь незадача - bat-файл не дружит с русскими символами, поэтому если указывать полные пути, то при наличии в этом пути русских символов у тебя ничего не выйдет ![]() Эту проблему можно обойти, если имя вашей программы не содержит русских символов:
![]() Но есть ещё решение - перекодировать имена файлов в OEM кодировку. Тогда всё будет работать. Вот функция, которая выполняет перекодироваку:
|
Всего комментариев 14
Комментарии
-
Запись от AzaKendler размещена 28.03.2012 в 22:41 -
Цитата:"воткнется" в память стороннего процесса
Запись от raxp размещена 29.03.2012 в 11:43 -
Запись от Pure размещена 30.03.2012 в 15:38 -
...это все же разные подходы: породить свой процесс или цеплятся к чужим. Только чем это (первое) будет отличаться от создания того же батника?
Запись от raxp размещена 30.03.2012 в 15:49 -
Запись от Vovan-VE размещена 30.03.2012 в 16:12 -
Просто у меня возникла задача - удалиться сразу после завершения работы, не оставив никаких следов, и не трогая никаких процессов.
но тут у меня опять косяк... если перевести имя в OEM русскую кодировку, то, например, имя с китайским не удалит. Но на этот случай в батнике можно обращаться к параметрам
Код:@echo off :lbl1 del %1% if exist %1% goto lbl1 del %0%
и, кстати, точно не уверен, но лучше использовать только AnsiString... WideString, наверно, нежелателен...Запись от deathNC размещена 30.03.2012 в 17:45 -
Цитата:
и...присмотрись к задаче. "удалиться сразу после завершения работы" - правильнее - это увидеть например, что "событие" наступило (объект освободился) и совершить удаление файла, а не запускать создание нового файла - потом его запуск. ты так не считаешь? вероятность нарваться на проблемы при создании доп файла на диске выше(какие нить нестандартные пермиссии), чем если УЖЕ подгруженный в память код, сделает свое дело, после этого он завершается.
а подходы конечно разные. ты же завел волынко про авири какие-тоЗапись от Pure размещена 30.03.2012 в 19:59 -
...гляньте выше в контексте чего был коммент про авири
Запись от raxp размещена 30.03.2012 в 20:12 -
Конечно, можно при желании хоть военный самолёт взломать и прописать бесконечные патроны.
Действительно ли стоит внимания такой метод - внедряться в процессы? Надо учитывать, что эта прога может попасть на любой компьютер. А так как это полезный софт, а не вирусятина - мне не надо, чтобы антивирусники начали материться... так что мне кажется, что батником обойтись легче
хотя я не боженька (я вообще в боженьку не верю), и могу ошибаться
если ошибаюсь - покажите более правильный способ самоудаленияЗапись от deathNC размещена 30.03.2012 в 21:16
Обновил(-а) deathNC 30.03.2012 в 22:17 -
Запись от БогДелфей размещена 18.05.2012 в 13:06 -
Интересная статья
http://deadbeef.narod.ru/work/articles/selfdel.htmЗапись от #pragma размещена 13.08.2012 в 22:07
Обновил(-а) #pragma 26.09.2012 в 00:38 -
Запись от snake32 размещена 08.11.2012 в 18:27 -
Цитата:
Запись от rvs_dk размещена 01.10.2019 в 13:13 -
Цитата:Удаление программы из самой себя
А на вопрос, что может быть предварительная копия, так это тоже легко исправляется-в начале запуска элементарная проверка - легальная копия или нет. если нет, то и запуска нет....Запись от vedunasv размещена 24.05.2020 в 10:24