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

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

27.03.2012, 20:46. Показов 11406. Ответов 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
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
11.04.2012, 21:06
Студворк — интернет-сервис помощи студентам
У меня работает.
C++
1
Timer Interval = 1;
Миниатюры
Бессмертная программа, которую невозможно (насколько это возможно) убить  
1
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
11.04.2012, 21:13
Samrisbe, у меня не работает, т.е. не скрывается у меня стоит Windows XP SP3
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
11.04.2012, 21:21
Цитата Сообщение от Dondok Посмотреть сообщение
Samrisbe, у меня не работает, т.е. не скрывается у меня стоит Windows XP SP3
C++
1
2
3
4
5
HWND MyHandle = FindWindow(0,"Диспетчер задач Windows");
   if (MyHandle)
   {
     SendMessage(MyHandle, WM_CLOSE, NULL, NULL);
  }
На XP может работать не стабильно, пробуй...
1
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
11.04.2012, 21:46
Лучший ответ Сообщение было отмечено как решение

Решение

Как-то задавался подобным вопросом... поэтому, внесу свои "пять копеек"...

1. Обычный запуск от имени "SYSTEM" (или запуск сервиса от "SYSTEM" - не поможет).

2. Запуск несколько процессов-защитников идея хорошая, быстро реализуемая и также быстро прибиваемая. Когда столкнулся с таким впервые, мне понадобилось меньше минуты, чтобы понять что существует процесс-защитник... Дальше метод прост:
Code
1
taskkill /f /im:"mainprocess.exe" && "defender.exe"
Чуть сложнее дело обстоит со службами-защитниками...Их taskkill'ом не прибьёшь, однако, благо управление службами из командной строки тоже "открыто".
Code
1
2
sc stop "servicename"
sc delete "servicename"
и готово...

3. Скрыть процесс от диспетчера задач возможно ТОЛЬКО добравшись к ядру системы.
Можно повесить хук, подменить функцию отображения, но это не эффективно.
Командная строка + tasklist ... и в огород безопасности и скрытности снова летит огромная порция камней...
Поэтому, лезть нужно только в нулл-кольцо, так называемый Ring0...
Отличнейшая статья о нулевом кольце находится здесь: WASM: Секреты Win32 -Перехват API функций в Windows NT (часть 3). Нулевое кольцо.
3
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
11.04.2012, 22:49
Статья и правда на отлично

Только вот доступ к ring0 через добавление дескриптора шлюза в GDT на семерке уже врятли сработает - почти уверен, что у администратора там оторвали права на модификацию ACL секции PhysicalMemory и отдали их учетке TrustedInstaller.
2
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
12.04.2012, 15:43
Цитата Сообщение от Samrisbe Посмотреть сообщение
C++
1
2
3
4
5
HWND MyHandle = FindWindow(0,"Диспетчер задач Windows");
 if (MyHandle)
 {
 SendMessage(MyHandle, WM_CLOSE, NULL, NULL);
 }
У меня этот код глушит диспетчер задач.

Добавлено через 5 минут
Цитата Сообщение от MikeSoft Посмотреть сообщение
Дальше метод прост:
А как же дерево процессов?
1
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
12.04.2012, 16:53
Цитата Сообщение от Vovik_0_1 Посмотреть сообщение
А как же дерево процессов?
Всё то же самое, плюс аргумент "/t".
1
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
14.04.2012, 18:19
Samrisbe, у вас какая ОС?

Добавлено через 1 минуту
Samrisbe, у меня XP SP 3 и C++ Builder 2006. и не работает код скрытия процесса из диспетчера задач
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
14.04.2012, 19:01
Цитата Сообщение от Dondok Посмотреть сообщение
Samrisbe, у вас какая ОС?
win 7, 64
0
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
14.04.2012, 23:30
Samrisbe, не подскажете как на Windows XP, SP 3 и 32-разряда реализовать скрытие процессов и приложений в диспетчере задач
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
15.04.2012, 07:41
Цитата Сообщение от Dondok Посмотреть сообщение
Samrisbe, не подскажете как на Windows XP, SP 3 и 32-разряда реализовать скрытие процессов и приложений в диспетчере задач
У меня на XP тоже работает, интересно как мне студенту понять почему у тебя не работает...
0
4 / 4 / 0
Регистрация: 10.01.2012
Сообщений: 43
15.04.2012, 12:13
Цитата Сообщение от __bool Посмотреть сообщение
Всем доброго времени суток.
Необходимо! Создать программу, которую невозможно (насколько это возможно) убить!
Всё очень просто в XP на других не знаю.
Делаем прогу с командой: shutdown -t 21600 -s -c "Играй подонок пока есть время"
-t xxx (время в секундах)
Ты можешь вызвать её в командной строке, и убить её не сможешь никак!
кроме как вызвать: shutdown -a
А чтобы этого не случилось нужно открыть этот файл посредством API команды CreateFile, с защитными параметрами, отключив другим доступ.
shutdown находится в C:\WINDOWS\system32
Когда чел включит комп второй раз таймер должен быть уже взведен на 2 минуты. За это время ты должен сделать посредством своей скрытой кнопки команду shutdown -a
Вот так всё просто.

И ни в коем случае не удаляй понту не будет, она воссоздается. Хотя если ты не осилил CreateFile. Удалить shutdown можно так:
одновременно удаляешь сначала
C:\WINDOWS\system32\dllcache\shutdown.ex e
потом
C:\WINDOWS\system32\shutdown.exe

Всё. Скопируй куда нибудь к себе в скрытое место и пользуйся.
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
15.04.2012, 12:18
Цитата Сообщение от _engineer_ Посмотреть сообщение
Как вариант: написать сервис, который запускается в контексте администратора, а братьев позадить на учетку пользователя.
И как же он запустится то?
0
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
15.04.2012, 13:51
Цитата Сообщение от chuvak2008f Посмотреть сообщение
Всё очень просто в XP на других не знаю.
Делаем прогу с командой: shutdown -t 21600 -s -c "Играй подонок пока есть время"
-t xxx (время в секундах)
Ты можешь вызвать её в командной строке, и убить её не сможешь никак!
кроме как вызвать: shutdown -a
А чтобы этого не случилось нужно открыть этот файл посредством API команды CreateFile, с защитными параметрами, отключив другим доступ.
shutdown находится в C:\WINDOWS\system32
Когда чел включит комп второй раз таймер должен быть уже взведен на 2 минуты. За это время ты должен сделать посредством своей скрытой кнопки команду shutdown -a
Вот так всё просто.
И ни в коем случае не удаляй понту не будет, она воссоздается. Хотя если ты не осилил CreateFile. Удалить shutdown можно так:
одновременно удаляешь сначала
C:\WINDOWS\system32\dllcache\shutdown.ex e
потом
C:\WINDOWS\system32\shutdown.exe
Всё. Скопируй куда нибудь к себе в скрытое место и пользуйся.
А пример реализации можно? Честно говоря непонял причем тут программа которую я напишу. Ведь её нужно защитить. А тут речь про какойто shutdown.
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.04.2012, 14:05
Цитата Сообщение от taras atavin Посмотреть сообщение
И как же он запустится то?
Молча, в основном. Почитайте о сервисах. И на всякий случай, об интерактивной работе с рабочим столом.
Цитата Сообщение от chuvak2008f Посмотреть сообщение
Делаем прогу с командой: shutdown -t 21600 -s -c "Играй подонок пока есть время"...
Когда чел включит комп второй раз таймер должен быть уже взведен на 2 минуты.
Бред, пардон И кто мешает прибить такую программу в течении этих двух минут?
1
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
15.04.2012, 14:55
в приложениях скрываю вот так:
C++
1
2
ShowWindow(Application->Handle, SW_HIDE);
Application->ShowMainForm = false;
в процессах как скрыть приложение? использую код, который Samrisbe привел:
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
HWND MyHandle = FindWindow(0,"Диспетчер задач Windows");
   if (MyHandle)
   {
      HWND  hProcess = FindWindowEx(MyHandle,0,0,"Процессы"),
            hApplication = FindWindowEx(MyHandle,0,0,"Приложения");
      ShowWindow(hProcess,SW_HIDE);
      ShowWindow(hApplication,SW_HIDE);
   }       
}
но не получается у меня скрыть. У меня C++ Builder 2006 и Windows XP SP3
1
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
15.04.2012, 15:30
Dondok, зачем вам это? Ну, скроете в диспетчере задач, да, но ведь только в нем. Берем любой другой менеджер процессов и сводим на нет все это "скрытие".

Тем более, что этот код скроет не только ваш процесс, но и вообще всю вкладку - от него вреда больше, чем пользы.
Тогда уж просто запретить запуск диспетчера задач.

Создать текстовый файл, вписать строки которые ниже, и переименовать в ***.reg и запустить файл. Для разблокировки диспетчера, поменять 00000001 на 00000000 и снова запустить.
Code
1
2
3
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=dword:00000001
На семерке иначе маленько, но ничуть не труднее.
2
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.04.2012, 15:41
BRcr, вот это точно!
Dondok, если вы не хотите копаться глубже, то советую прислушаться к BRcr.
Посредством локальных политик можно также ограничить использование командной строки и доступ к реестру.
1
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
15.04.2012, 17:05
BRcr, сам диспетчер задач мне не надо скрывать хотелось бы программу во вкладке "процессы" скрыть

Добавлено через 1 минуту
Цитата Сообщение от BRcr Посмотреть сообщение
[HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Policies\System]
"DisableTaskMgr"=dword:00000001
нету такого пути в реестре
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
15.04.2012, 17:09
Dondok, вы его создаете этим самым файлом ***.reg .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.04.2012, 17:09

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru