Сделайте «Системный» процесс не изменяемым из диспетчера задач, как это происходит в Windows 8

745
TheGoodUser

К вашему сведению: У меня Windows-7 Ultimate Ver 6.1 с пакетом обновления 1 .

В Windows-7 есть инструменты, которые называются Resource Monitor . Вы можете найти его в C:\Windows\System32каталоге или просто запустить через resmon.exe в Run .

В списке процессов есть названный процесс, Systemи его PID равен 4всегда.

Сделайте «Системный» процесс не изменяемым из диспетчера задач, как это происходит в Windows 8

Если щелкнуть по нему правой кнопкой мыши и щелкнуть по нему Suspend Process, компьютер зависнет, мышь и клавиатура отключатся, и вам придется перезапустить систему, чтобы вернуться в нормальное состояние.

Сделайте «Системный» процесс не изменяемым из диспетчера задач, как это происходит в Windows 8

В Windows-8, даже если вы вошли в систему с учетной записью администратора, вы не можете приостановить этот процесс ( система ), и когда вы пытаетесь приостановить его, вы получаетеAccess Denied

Вопрос 1. Почему корпорация Майкрософт предоставляет такую ​​возможность администратору приостановить системный процесс? Когда нам нужно приостановить его и сделать или система зависает ?!

В2: Есть ли способ в Windows-7 настроить систему так, чтобы даже администратор не мог приостановить этот процесс?


Если вы считаете, что это невозможно, прочитайте ниже:

У нас может быть список *.dllфайлов, связанных с процессом, с помощью следующей команды в командной строке :

>tasklist /FI "PID eq Number" /M

И у вас может быть список номеров PID в инструменте resmon.exe (вы также можете использовать tasklistкоманду в окнах командной строки ).

В моей системе PID из resmon.exe является 1728(Его имя процесса является Perfmon ).

Давайте посмотрим список .dllфайлов, связанных с resmon.exe :

C:\Windows\system32>tasklist /FI "PID eq 1728" /M  Image Name PID Modules ========================= ======== ============================================ perfmon.exe 1728 ntdll.dll, kernel32.dll, KERNELBASE.dll, ADVAPI32.dll, msvcrt.dll, sechost.dll, RPCRT4.dll, GDI32.dll, USER32.dll, LPK.dll, USP10.dll, ATL.DLL, ole32.dll, SHLWAPI.dll, SHELL32.dll, OLEAUT32.dll, credui.dll, Secur32.dll, SSPICLI.DLL, IMM32.DLL, MSCTF.dll, comctl32.dll, uxtheme.dll, dwmapi.dll, CRYPTBASE.dll, CLBCatQ.DLL, wdc.dll, DUser.dll, pdh.dll, pdhui.dll, COMDLG32.dll, ODBC32.dll, wevtapi.dll, VERSION.dll, PLA.dll, tdh.dll, NSI.dll, IPHLPAPI.DLL, WINNSI.DLL, WINSTA.dll, UTILDLL.dll, SETUPAPI.dll, CFGMGR32.dll, DEVOBJ.dll, NETAPI32.dll, netutils.dll, srvcli.dll, wkscli.dll, LOGONCLI.DLL, BROWCLI.DLL, SAMCLI.DLL, WTSAPI32.dll, VDMDBG.dll, odbcint.dll, DUI70.dll, xmllite.dll, OLEACC.dll, FirewallAPI.dll, profapi.dll, WS2_32.dll, msxml3.dll, ntmarta.dll, WLDAP32.dll, Perfctrs.dll, perfdisk.dll, mswsock.dll, DNSAPI.dll, dhcpcsvc6.DLL, dhcpcsvc.DLL, WINTRUST.dll, CRYPT32.dll, MSASN1.dll, pcwum.dll, rasadhlp.dll  C:\Windows\system32> 

Примечание: вы должны запустить командную строку как администратор

В3: Если я скопирую вышеупомянутые .dllфайлы из каталога Windows-8 и заменим ими .dllфайлы Windows-7, будет ли Windows-7 вести себя как Windows-8? (Предотвратить приостановку системного процесса)

Примечание. Предположим, что для замены файлов DLL мы используем компакт-диск с операционной системой Windows и флэш-память. (Обычно Windows-7 не позволяет заменять .dllфайлы)

Очень ценю ваше время и внимание :)

0
Процесс `System '- это, по сути, сама операционная система. Что касается того, почему вы можете приостановить его, только Microsoft может ответить. Обычно Windows * пытается * помешать пользователям совершать вредоносные действия, но это не всегда удается: пользователи в конечном итоге найдут новые способы взлома системы, будь то намеренно или по ошибке. Некоторые люди не любят систему няни, другие нет; ты не можешь по-настоящему угодить обоим. Независимо от того, какой метод вы используете, копирование системных файлов Windows 8 поверх файлов Windows 7, вероятно, будет хорошей идеей, если вы хотите сделать его непригодным для использования. Также, пожалуйста, не задавайте несколько вопросов в одном посте. and31415 9 лет назад 3
@ and31415 Спасибо, дорогой друг. но эти вопросы глубоко связаны и связаны с названием, я думаю :) TheGoodUser 9 лет назад 0
объясните, почему вы хотите это сделать (ерунда). Какие проблемы у вас есть? magicandre1981 9 лет назад 0
НЕТ, вероятно, если вы скопируете его, Windows 7 не будет вести себя как Windows 8. Но есть только один способ узнать наверняка ....;) Devid 9 лет назад 0
Теперь это звучит как верный план сломать установку Windows Daniel B 9 лет назад 3
Системный процесс НЕ "в основном сама операционная система". Это оболочка для потоков режима ядра, используемых не только ОС, но и многими компонентами в сети, файловыми системами, ... многими другими. Причина, по которой его приостановка убивает ввод с клавиатуры и мыши, заключается в том, что потоки, которые читают эти устройства, находятся в этом процессе. Но многие вещи в Windows могут продолжаться, даже если этот процесс приостановлен. Jamie Hanrahan 9 лет назад 1
@ magicandre1981 Я хочу изменить политику и настройки безопасности Windows 7 таким образом, чтобы администратор не мог приостановить процесс `System`! Я думаю, что вопросы действительно понятны! TheGoodUser 9 лет назад 0
никто не может приостановить работу ядра без убийства Windows. Без ядра ничего не работает. magicandre1981 9 лет назад 0
@ magicandre1981, пожалуйста, внимательно прочитайте вопрос !? Вы неправильно поняли вопрос! Как я уже сказал, я могу приостановить процесс `System` и вызвать сбой моего компьютера! Я хочу ограничить эту возможность! Почему администратор должен иметь эту способность? TheGoodUser 9 лет назад 0

2 ответа на вопрос

1
Jamie Hanrahan

Q1: нет веских причин, о которых я могу думать; это похоже на недосмотр.

Q2: Нет, потому что я могу сделать это и в моей системе Win8.1. Я только что сделал. Группа «Администраторы» уже не имеет права доступа «Процесс приостановки / возобновления» к этому процессу, так что, как это вообще работает, я не уверен.

Q3: см. Выше. Я получаю такое же поведение на Win8.1, поэтому очевидно, что использование файлов из Win8.1 не поможет. Кроме того, эти библиотеки DLL вряд ли будут счастливы в среде Win8 и используются многими другими программами. Ты сломаешь кучу всего, если попробуешь.

Сожалею..

Если в моей системе было включено _Remote Desktop_, то я приостановил процесс ** System ** ЛОКАЛЬНО, есть ли способ возобновить ** System ** с помощью удаленного рабочего стола? Спасибо TheGoodUser 9 лет назад 0
К вашему сведению у меня пинг системы, когда система приостановлена. TheGoodUser 9 лет назад 0
Пинг - да. Приостановка системного процесса не приостанавливает все в ОС, только те функции, которые реализованы в потоках системного процесса. Прежде всего, у вас должна быть готовая к запуску программа, которая будет вызывать NtResumeProcess и может быть запущена без необходимости чего-либо из процесса System. Я не знаю ничего случайного. Jamie Hanrahan 9 лет назад 0
Мне очень любопытно, почему в моей тестовой системе Windows 8.1 я могу приостановить системный процесс из TM (и из Process Explorer), но вы не можете. Можете ли вы проверить, что это так для вас? Jamie Hanrahan 9 лет назад 0
К сожалению! Это странно! Да, я уверен, что в моей Windows-7 Ultimate ver6.1 я могу приостановить процесс `System`, но мой друг в Windows-8 не может приостановить его (с правами администратора) - (я не уверен в версия его Windows-8, но я думаю, что это не важно, вопрос почему ?! и как мы можем это изменить?) Спасибо TheGoodUser 9 лет назад 0
0
Kirill2485
  1. Загрузите и измените разрешения с помощью Process Explorer .
  2. В представлении свойств процесса выберите вкладку безопасности.
  3. Нажмите кнопку разрешений.
  4. Нажмите расширенную кнопку.
  5. При необходимости добавьте себя или группу, к которой вы принадлежите.
  6. Отредактируйте ваши разрешения, чтобы включить «Завершить». (у вас уже должно быть разрешение «Изменить разрешения», или вам не повезло.)

ИЛИ ЖЕ

Это связано с тем, что разрешения System (ntoskrnl.exe) настроены на «чтение и запись» и доступны для редактирования только «Надежным установщиком», чтобы предотвратить повреждение нубами собственного компьютера. Это включает в себя прекращение самого процесса. Вам нужен «Полный контроль». Чтобы это исправить, просто перейдите в «C: \ Windows \ System32», щелкните правой кнопкой мыши «ntoskrnl.exe» и выберите свойства, затем перейдите на вкладку «Безопасность», затем перейдите в «Дополнительно», а затем нажмите «Полный доступ». "для администратора. Теперь вы сможете завершить его из монитора ресурсов

Извините, но ... он не ХОЧЕТ "покончить с этим", он хочет НЕ иметь возможности приостановить это. И кроме того, изменение разрешений на ntoskrnl.exe ничего не даст. Системный процесс не создан для запуска экземпляра ntoskrnl.exe (и нет exe-файла с именем «System»), равно как и ACL exe-файла не распространяется в любом случае на его процесс. Важным правом доступа здесь является «приостановить / создать процесс», и он даже не может быть установлен для файлов. Jamie Hanrahan 9 лет назад 0
Хорошо, тогда почему, когда я захожу в диспетчер задач и щелкаю правой кнопкой мыши на «Система» и нажимаю «Открыть расположение файла», это приводит меня к ntoskrnl.exe в system32? Kirill2485 9 лет назад 0
Кроме того, почему, когда я запускаю все ntoskrnl.exe (с введенной DLL, конечно), в VMWare он восстанавливает системный процесс, когда он приостановлен. Kirill2485 9 лет назад 0
@ kirill2485 Спасибо, но, как сказал мистер Джейми, я не хочу его приостанавливать. И когда я использую `> tasklist / FI" PID eq 4 "/ M` в ** командной строке **, он возвращает no модуль для него! больше, когда я щелкаю правой кнопкой мыши на `System` и выбираю _Open file location_, это открывает рабочий стол! TheGoodUser 9 лет назад 0
Может быть, вы не делаете то, что я делаю: https://drive.google.com/file/d/0B8cuDjumkkmQdmtteV93OHljY3c/edit?usp=sharing Kirill2485 9 лет назад 0
Кроме того, Process Explorer работает наоборот, вы можете предотвратить доступ Kirill2485 9 лет назад 0
Кирилл: Вы можете спросить себя, почему, если системный процесс запущен как экземпляр ntoskrnl.exe, он не отображается как имя «изображения»? Это очень особый случай. ("Idle" - это другой, idle.exe нет, подпрограмма бездействующего потока является частью ntoskrnl.) Это правда, что очень многие потоки в этом процессе выполняют подпрограммы в ntoskrnl ... но многие приходят из других модули. ntoskrnl не «запускается», как любой другой образ, он просто отображается в адресное пространство ядра ВСЕХ процессов. Все это хорошо задокументировано в _Windows Internals_. Jamie Hanrahan 9 лет назад 0
TheGoodUser: Tasklist дает вам более «реальный» взгляд на вещи, чем Task Manager. Фактическое поле ImageFileName в структуре «System» EPROCESS содержит «System», но system.exe отсутствует, поэтому ничего не отображается. Это TM приводит вас к ntoskrnl.exe из-за кода особого случая в TM. Jamie Hanrahan 9 лет назад 0

Похожие вопросы