Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/57: Рейтинг темы: голосов - 57, средняя оценка - 4.79
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744

Бессмертная программа, которую невозможно (насколько это возможно) убить

27.03.2012, 20:46. Показов 11108. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
Необходимо! Создать программу, которую невозможно (насколько это возможно) убить!

В чем суть? Надеюсь те, у кого есть младшие братья, которые сутками сидят за компом , догадались))
Программа будет выключать комп, либо давать доступ только к определенным приложениям (к примеру торрент-клиенту) по истечении указанного времени (хватит ему 6 часов в день )

Но вот убить простой процесс очень уж легко. Ставил программу TimeBoss, толку 0 (убивается Unlocker'ом очень успешно)
Разумеется очень хороший вариант - внедрять 2 программы, которые контролируют друг-друга, одну убили - другая возобновляет процесс, другую - первая возобновляет.

Но хочется максимально усложнить убийство процесса.
Какие мысли меня посещают:

1) Запустить как драйвер?(возможно?)
2) В антивирусах такое реализовано прекрасно, к примеру nod32 не дает себя убить. Выводит сообщение "операция не может быть завершена, отказано в доступе" (как?)
3) Скрыть процесс (в XP это было легко, есть ли способы для Windows Seven?)

Буду очень благодарен за дельные советы!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.03.2012, 20:46
Ответы с готовыми решениями:

Сократить Path, насколько это возможно
помогите ребята, как можно короче написать путь Bitmap image1 = new Bitmap("F://Baza//Resurce//load.gif");

Насколько максимально возможно совместить две системы, и как лучше это сделать?
хочу поставить на одну машину debian и убунту. можно ли совместить что-то кроме директории /home? может быть можно совместиь файлы...

Необходим "неубиваемый" (насколько это возможно) внешний жесткий диск
Всем доброго времени суток! _________________________ Хотелось бы услышать мнение бывалых экспертов перед серьезной покупкой -...

50
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
15.04.2012, 17:11
Студворк — интернет-сервис помощи студентам
LK, ну это понятно суть в том что мне надо скрыть программу из процессов, а не сам диспетчер задач
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
15.04.2012, 19:00
Dondok, то, что вы ищете, получило широкую известность под именем rootkit. Тема эта довольно скользкая и простых решений вы не найдете.
MikeSoft уже приводил здесь ссылку на ресурс по этому вопросу, начните оттуда. Прочитайте там первую статью: Перехват API функций в Windows NT (часть 1). Основы перехвата.

Вас вполне устроит перехват Native API уровня пользователя, то бишь в ring3. Обратите внимание на функцию ZwQuerySystemInformation с параметром ASystemInformationClass установленным в значение SystemProcessesAndThreadsInformation - это и есть цель вашего перехвата, в статье все описано.

Добавлено через 11 минут
Если вас интересует только диспетчер задач, то можно обойтись без глобализации перехвата и внедрить его только в процесс диспетчера задач, что несколько упростит вам работу.
2
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
15.04.2012, 22:06
BRcr, по ссылке трудноватая для меня тема
1
4 / 4 / 0
Регистрация: 10.01.2012
Сообщений: 43
17.04.2012, 20:48
Цитата Сообщение от Vovik_0_1 Посмотреть сообщение
А пример реализации можно? Честно говоря непонял причем тут программа которую я напишу. Ведь её нужно защитить. А тут речь про какойто shutdown.
Ты то тут при чём, я ответил __bool - автору. Пример? - Здесь писать то нечего, почитай про ShellExecute и fopen - это всё что может понадобиться...
ShellExecute - запускаешь shutdown
fopen - сохраняешь параметры проги, время и т.д.

Цитата Сообщение от MikeSoft Посмотреть сообщение
Молча, в основном. Почитайте о сервисах. И на всякий случай, об интерактивной работе с рабочим столом.

Бред, пардон И кто мешает прибить такую программу в течении этих двух минут?
Отвечаю обоим.

Ну попробуй убей shutdown, ты походу даже и не понял сути в моём сообщении.
Прога нужна только для работы shutdown, даже если ты и убьёшь прогу ничего не измениться, просто ты не сможешь уже отключить завершение компа.

Защищать свою прогу в этом случае не надо.

Добавлено через 5 минут
это самый лучший вариант для новичка по быстрому написать рабочую прогу.
А для профи, существуют функции внедрения своего потока в другую программу.

Частично по этой теме запостил BRcr.

Можно создать DLL и внедрить в другую программу, можно запустить через систему, в реестре. Внедрение DLL я пробовал это проще чем создавать и внедрять поток в другую прогу.
Короче вариантов масса.

Добавлено через 2 минуты
И кстати поток можно сделать "прыгучим", процесс завершается поток прыгает в другую прогу, и т.д.
Можно сделать два потока, один следит за другим, таким образом закрыть поток будет просто невозможно.
Но это уже фактически вирусология и троянология ))
2
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
17.04.2012, 20:58
Цитата Сообщение от chuvak2008f Посмотреть сообщение
Ну попробуй убей shutdown, ты походу даже и не понял сути в моём сообщении.
Да кто мешает её прибить? Я понимаю, что вы о системном сообщении, которое сообщает, что работа будет принудительно завершена... Но сами подумайте, что будет до этого? Или вы предлагаете тушить компьютер сразу же после успешного логина, когда пользователь и моргнуть не успеет? Так может тогда проще "explorer.exe" навернуть, зачем мучаться-то?

Или предоставьте в студию эту вашу "гениальную идею", или же все опровержения приведенные выше по-прежнему остаются справедливыми!
1
4 / 4 / 0
Регистрация: 10.01.2012
Сообщений: 43
17.04.2012, 22:57
Цитата Сообщение от MikeSoft Посмотреть сообщение
Да кто мешает её прибить? Я понимаю, что вы о системном сообщении, которое сообщает, что работа будет принудительно завершена... Но сами подумайте, что будет до этого? Или вы предлагаете тушить компьютер сразу же после успешного логина, когда пользователь и моргнуть не успеет? Так может тогда проще "explorer.exe" навернуть, зачем мучаться-то?

Или предоставьте в студию эту вашу "гениальную идею", или же все опровержения приведенные выше по-прежнему остаются справедливыми!
Я опять пишу что ты не понял смысла, перечитай посты.
Разложу по полкам. Автору не нужен спец троян!

Цель: завершение компа по истечению времени и невозможность повторного включения для того же чела, а главное запретить все отмены выключения.
Реализация: Уже написал, читайте выше.

Цикл работы: прогер ставит таймаут выключения компа, уходит и забывает. (таймаут тикает)
Садится другой чел играет, видит надпись и хочет убрать её чтобы играть вечно. Пытается завершить процессы, системный shutdown не завершается через диспетчер, он закрывает нашу прогу.
*** Но это ничего не меняется! Время тикает.
Комп вырубается. Чел опять его включает логин ввел и сразу прога выставила таймаут, т.е юзер просто не успеет завершить нашу прогу. Он её выключает но понту нет. И через 1-2 мин. комп опять вырубает, юзер просто ничего не успеет за это время.
Всё! Защита на младшего брата готова. Или вообще для любого рядового пользователя.
Повторюсь! Наша прога только работает с shutdown и выставляет таймауты. Чё тут непонятного???!

Можно даже вообще сделать чтобы она сразу выключалась, и юзер просто никогда не узнает как называется прога и не сможет убрать её из автозапуска, а из диспетчера тем более потому как она сама вырубиться. По логике: он посмотрел список авто и сравнил с диспетчерским, убил только те которые висят в данный момент, а остальные и смысла нет трогать. Потому как если висит окно значит прога должна быть в диспетчере. Обычный такой обман)

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

Добавлено через 7 минут
Если конечно нужен 100 % скрытый вариант, напишите DLL и внедрите в прогу какую-нибудь.
Или запустите через реестр, есть ветка я уже не помню которая, но она запускает пользовательские DLL.
Либо создайте свою невзрачную программу которая будет что-нибудь делать, допустим время на рабочий стол.
А в исходнике вставьте свой "контроль" код.

Добавлено через 1 минуту
Чтобы узнать сколько времени работает комп есть функция GetTickCount()
Покажет время в миллисекундах.
1
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
17.04.2012, 23:05
Да неплохая в общем-то идея, супротив не самых грамотных сработает.
Против остальных - уже вряд ли. Сколько ни защищай этот shutdown.exe от запуска, способ все одно найдется. Первое, что пришло в голову - просто скачать копию shutdown.exe, подходящую к операционке, сделать ею shutdown /a - и пофигу, занят ли оригинальный файл, удален ли он...
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
17.04.2012, 23:31
Цитата Сообщение от chuvak2008f Посмотреть сообщение
Цель: завершение компа по истечению времени и невозможность повторного включения для того же чела, а главное запретить все отмены выключения.
О! Не тут-то было! ЧИТАЕМ ВНИМАТЕЛЬНО:
Цитата Сообщение от __bool Посмотреть сообщение
Необходимо! Создать программу, которую невозможно (насколько это возможно) убить!
Дальше идём по теме: уже предположили вариант дать пользователю права обычного пользователя. Цитирую ответ:
Цитата Сообщение от __bool Посмотреть сообщение
Не вариант) Братан с милой улыбкой и невинным взглядом взломает пароль к админу за пару минут))
Отпал вариант? Думаю, вполне!
Идём дальше! Повесили мы, допустим, таймер на выключение через 10 минут! Отлично (то есть, мы инициировали запуск!!!).
Перезагружаемся! Что будет после перезагрузки? Работай сколько хочешь?
Или в ваших планах "поработить галактику" и повесить эту "мега-утилиту" в автозагрузку пользователя? Создаём нового пользователя - запрет закончился!

Или в автозагрузку всех пользователей? Вешаем батник на ту же автозагрузку (в реестр, перед строкой, определяющей запуск мегаутилиты) и беспощадно глушим такую утилиту нафиг.

Процессы-защитники? Выше уже писал! taskkill с мультипараметрами и (или) параметром "/t".

И хорошо, даже если не залезать так глубоко - зачем глушить пользователя со старту? Вдруг он порядочно (первый раз за день, следует из постановки задачи о регламенте времени) включил компьютер? Лояльным нужно быть! Прибить можно всё, что угодно! Главное в этом деле - маскироваться почище индейца! Поэтому нужно рассматривать методы, при которых система практически "забывает" о процессе...то есть, лезть в ядро! Сложно, но чем сильнее запрячем, - тем меньше шансов быть убитым! А процессы, которые лежат на виду убить несложно!

Да и вообще... если речь идёт о простом ограничении времени работы, то весь ваш метод можно попробовать заменить политикой:
Конфигурация компьютера -> Конфигурация Windows -> Локальные политики -> Параметры безопасности -> Сетевая безопасность: Сетевая безопасность: принудительный вывод из сеанса по истечении допустимых часов работы...
В учётных записях можно выбрать время, позволенное для входа в систему, в тех же политиках есть продолжительность сессии... зачем мучать людей принудительный выключением ПК, мучать железо, есть программно всё это реализовано?
0
4 / 4 / 0
Регистрация: 10.01.2012
Сообщений: 43
18.04.2012, 19:52
Цитата Сообщение от MikeSoft Посмотреть сообщение
О!
ОК, как хочешь. Я делал эти самые уловки когда был мелким, для своего брата, одноклассников. И они работали оч. хорошо, без каких-то внедрений и прочего. Даже с учётом того что те кому сливал тоже неплохо шарили. И они так и не нашли как убрать это ) люди думали что это вирус, меняли систему. Но волшебным образом всё обратно запускалось. пока я не раскрыл тайну. Я просто записал/подарил диски с играми со своим autoexec'ом, который так же переопределял системные файлы на себя, обычное дело. (это один из видов автозапуска, поменять exe на свой и сделать вызов на оригинальный файл, тот же диспетчер, нажал Ctrl+Alt+Del твоя прога сделала дело и открыла диспетчер, просто и со вкусом=) ). И ты мне ещё рассказываешь сказки про то что это не работает?
Да возможно это у кого-то не сработает, но дело не в инструментах, а в том кто ими пользуется. Из обычного print "Hello World" можно сделать угрозу нац. безопасности была бы фантазия.
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
18.04.2012, 21:49
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от chuvak2008f Посмотреть сообщение
И ты мне ещё рассказываешь сказки про то что это не работает?
Я работаю в сфере образовательных услуг. Надеюсь, вы знаете, что означает слово "студент" ... если нет, то напомню: "это вредное существо, которое приспосабливается к трудностям, быстро ищет решение проблем и обходные пути" ... Из своего опыта могу сказать, что всякие блокировки процессами, блокировки по заголовкам окон, ограничения URL-ресурсов на прокси (не учитывая контент-анализ содержимого) - НЕ РАБОТАЮТ
Точнее, работают, но как правило, не дольше двух месяцев, затем алгоритмы нужно менять.

Для себя я нашёл полезным воздействие посредством служб, ограничение времени активности сессии на доменном контролере, контент-анализ на прокси-сервере, отсеивание "лишних" классов окон и периодический сбор статистики по оконным заголовкам... И скажу вам, стало почище! Шестой месяц покой и затишье! Опять же, в высшем учебном заведении обучают не только людей, которые дальше Word'a не прыгнут, а и программистов. Естественно это накладывает ограничения на "жёсткость" доменных политик (так бы вообще можно было список разрешённых процессов составить и контрольные суммы стандартным AppLocker'ом проверять), но тем не менее, стандартные и вышеприведенные методы помогают неслабо угомонить балованных вундеркиндов.

Каждый метод имеет право на существование... но мне кажется, если человек легко сбивает пароль администратора, знает как избавится от запрета поглазеть на BIOS и понимает, что в системе есть "лишние" процессы, то методы должны быть оригинальнее
3
96 / 96 / 21
Регистрация: 25.04.2012
Сообщений: 449
25.04.2012, 14:20
думаю неплохой вариант - использование ЭЦП

в недрах безопасности виндос разрешить запуск только подписанных приложений, и подписанных только вашим сертификатом, и подписать ему только разрешенные приложения.

эти недра находятся в таком недре, что маленький брат, даже с гуглом не найдет их. ну и + чтоб редактировать, ему опять же надо будет сломать админа.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2012, 14:20
Помогаю со студенческими работами здесь

Рекурсивная программа. Составить пары из группы, если это возможно
Ребят, срочно нужна помощь! Не прошу делать что-то за меня, просто подскажите способ реализации?

немогу убить DLL ку , которую использовал в ASP проекте, заявляет что ее все еще кто-то пользует.
посоветуйте пож-та! немогу убить DLL ку , которую использовал в ASP проекте, заявляет что ее все еще кто-то пользует. нужно сделать...

В браузере всплывает реклама которую невозможно закрыть
В браузере всплывает реклама которую невозможно закрыть. Появилась при попытке скачать трейнер к игре.

Возможно ли программно убить компьютер на аппаратном уровне?
По-моему звучит глупо, и я всегда считал, что программами можно убить только ОС (то бишь, на программном уровне), но недавно столкнулся с...

Насколько сложно (или действительно невозможно?.) сделать связанные списки в ТАБЛИЧНОЙ форме?
Всем добрый день) Опять я в своих изысканиях наткнулся на, по всей видимости, одну из больных тем Access. Здесь на форуме я уже видел...


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

Или воспользуйтесь поиском по форуму:
51
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru