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

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

27.03.2012, 20:46. Показов 11113. Ответов 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
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
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),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru