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

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

27.03.2012, 20:46. Показов 11121. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
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
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru