Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/34: Рейтинг темы: голосов - 34, средняя оценка - 4.82
129 / 65 / 16
Регистрация: 03.09.2015
Сообщений: 832
1

Удаление самого себя во время исполнения

24.05.2017, 04:41. Показов 6374. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.
Как программа может удалить саму себя во время исполнения без закрытия?

Как я думаю (теоретически), можно затереть место на жестком диске, где находится программа без стандартных команд удаления, где есть условия, что файл должен быть "свободен".
С этим мне в ассемблер?

Добавлено через 54 минуты
Или на c++ есть альтернатива?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2017, 04:41
Ответы с готовыми решениями:

Как можно удалить или очистить тело макроса после его исполнения из самого себя?
Скажите пожалуйста! Как можно удалить или очистить тело макроса после его исполнения из самого себя?

Удаление файлом самого себя
Может .exe удалить самого себя и как это сделать в VS15?

Удаление самого себя после выполнения
ребят прошу помидорками не кидатся первый мой мессадж если что прост опоправьте мня вопрос ...

Как задать программе время исполнения и время закрытия?
Подскажите пожалуйста как можно задать время исполнения и время закрытия программы допустим нужно...

26
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
30.05.2017, 16:47 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от ziqp Посмотреть сообщение
насильно удалить exe в то время, когда он уже запущен
Если каким-то сторонними, неподвластными операционной системе, чудесами вам удастся переформатировать ту область диска, где была размещена загруженная в данный момент программа, то, пока она не попытается к своей области на диске, ничего не произойдет скорее всего. А коли попытается, то выскочит какое-нибудь IOException и если программа не ожидала такого поворота, то просто вылетит и все.
0
129 / 65 / 16
Регистрация: 03.09.2015
Сообщений: 832
30.05.2017, 19:00  [ТС] 22
Спасибо. Пойду рыться в explorer'е через отладчик. Эх, глядишь и до ядра доберусь

Добавлено через 7 минут
Кстати, вроде такой же эксперимент можно провести с флешкой. Вставьте флешку, запустите с неё программу, вытащите флешку. Программа работает и не выдает никаких ошибок

Да то же самое работало с дисками, когда программа просила вставить второй диск, в это время не завершаясь (если конечно не копировала себя на жесткий диск заранее)
0
23 / 23 / 6
Регистрация: 23.03.2013
Сообщений: 245
30.05.2017, 22:24 23
Ну это нужно лезть в файловую систему и каким-то образом удалить оттуда запись о файле, и все
0
129 / 65 / 16
Регистрация: 03.09.2015
Сообщений: 832
31.05.2017, 12:02  [ТС] 24
Есть информация, какая dll отвечает за удаление файлов в системе?
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
02.06.2017, 08:22 25
Цитата Сообщение от ziqp Посмотреть сообщение
насильно удалить exe в то время, когда он уже запущен
плохо не потому, что это дурной тон или чревато неприятностями. Это просто трудно сделать не ломая OS. Тут Вам вряд ли кто поможет. Владение хаком, это преимущество до тех пор, пока он не общедоступен. Иначе разрабы OS залатают дырку и всё.
Ну, то есть. это как на стену наплевать, если хочется пройти сквозь неё.
Вот набор, удаляющий папку запуска. Это на C++/Cli (.NET)
Тут деисталятор перед завершением запускает скрипт, который удаляет папку. Только на самом скрипте .vbs не кликайте (от греха). Там легко разобраться и сделать, что-то для себя.
Выкладываю, потому-как, помню - долго искал по кусочкам.
ps и речь идёт о том, что права не нарушаются. В моём случае это папка в CurrentUser
Вложения
Тип файла: zip sw.zip (2.1 Кб, 12 просмотров)
1
129 / 65 / 16
Регистрация: 03.09.2015
Сообщений: 832
25.01.2018, 16:48  [ТС] 26
И все-таки я нашел решение. Называется process hollowing (исходники на гитхабе).
После анмапа exe образ не числится как задействованный, поэтому можно удалять

Добавлено через 13 часов 41 минуту
Цитата Сообщение от IGPIGP Посмотреть сообщение
Владение хаком, это преимущество до тех пор, пока он не общедоступен. Иначе разрабы OS залатают дырку и всё.
Это не хак. Обычное владение winapi командами, представление peb, работа с заголовками файлов. Этому методу уже сотня лет
2
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
25.01.2018, 20:59 27
ziqp, я высказал своё мнение, а то что системы не бывают герметичны это просто правда. MSWindows это мягко говоря не лидер безопасности. Пока кроме борьбы с антивирусами сторонних производителей (не эффективной слава богу) они мало что предпринимают. Но по поводу данного вопроса вот это может быть интересно тоже:
https://www.bleepingcomputer.c... m-bombing/
0
25.01.2018, 20:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2018, 20:59
Помогаю со студенческими работами здесь

Перекомпиляция самого себя
Есть программа, скажем самая простая - консольная, которая выводит одно число, жеско прописано в...

Копирование самого себя
Здравствуйте уважаемые кодеры у меня такой вопрос: Как можно скопировать самого себя не зависимо...

Указатель на самого себя
Дана переменная-указатель ,надо описать ее тип так,чтобы он соответствовал указателю на ее саму.

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru