|
3 / 3 / 2
Регистрация: 27.06.2013
Сообщений: 96
|
|||||||||||
Не работает безопасное завершение дочерних процессов с использованием CreateRemoteThread19.07.2016, 19:35. Показов 1342. Ответов 7
Метки нет (Все метки)
Необходимо завершать процесс и все его дочерние процессы в программе на Microsoft Visual C++
Используется немного измененный код. Функция для безопасного завершения процесса по этой ссылке. http://hyacinth.byus.net/moniw... ateProcess И функция KillProcessTree для рекурсивного завершения дочерних процессов по этой ссылке: Завершение процесса и его дочерних процессов Если не удается завершить процесс с помощью функции SafeTerminateProcess, завершаю его с помощью функции TerminateProcess. Завершение процессов работает, но для дочерних процессов отладка показывает, что в большинстве случаев не работает функция SafeTerminateProcess, и в результате вызывается функция TerminateProcess. Появляется одна из двух ошибок (если не было первой, в большинстве случаев появляется вторая). Функция GetExitCodeProcess получает ExitCode для дочернего процесса, равный нулю. Или бывает вторая ошибка hRT == null с ошибкой код 0x5 - Access Denied. Если сделать следующий код, вместо нее появляется ошибка Error unknown revision 0x519
0
|
|||||||||||
| 19.07.2016, 19:35 | |
|
Ответы с готовыми решениями:
7
Завершение процесса и его дочерних процессов Завершение всех запущенных процессов из находящегося в текстовом файле списка запрещенных к запуску процессов Запуск дочерних процессов |
|
Заблокирован
|
||||
| 20.07.2016, 07:50 | ||||
Вот тебе и ошибка
0
|
||||
|
Ушел с форума
|
||
| 20.07.2016, 11:03 | ||
|
для открытия процесса на PROCESS_TERMINATE. Даже если у тебя есть права администратора, системы и включена привилегия отладки. Во-вторых, CreateRemoteThread работает только для процессов одинаковой "битности" (32-32, 64-64, но не 32-64 или 64-32) и только в пределах одного пользовательского сеанса.
0
|
||
|
3 / 3 / 2
Регистрация: 27.06.2013
Сообщений: 96
|
||
| 20.07.2016, 21:48 [ТС] | ||
|
Привилегии отладки GetDebugPriv Есть у кого-нибудь предложения, что можно сделать?
0
|
||
|
Ушел с форума
|
|
| 20.07.2016, 22:13 | |
|
1. Включи привилегию отладки.
2. Перечисли все процессы с помощью функции CreateToolhelp32Snapshot или других ее аналогов. 3. Пройди по дереву интересующих процессов, начиная с самых дальних потомков, и для каждого процесса в дереве сделай OpenProcess с правами PROCESS_TERMINATE, далее TerminateProcess и CloseHandle. Все. Никакие SafeTerminateProcess, игры с CreateRemoteThread и т.п. здесь погоды не сделают. Если процесс по каким-то причинам не дает открывать себя с правами на изменение (например, это защищенный системный процесс типа services.exe на Win8+), то никакими ухищрениями закрыть его не получится, ни через TerminateProcess, ни через CreateRemoteThread, ни через SetThreadContext и т.д.
0
|
|
|
3 / 3 / 2
Регистрация: 27.06.2013
Сообщений: 96
|
||
| 20.07.2016, 22:13 [ТС] | ||
|
0
|
||
|
Ушел с форума
|
|
| 20.07.2016, 22:18 | |
|
Лично я смысла юзать SafeTerminateProcess не вижу.
Для принудительного завершения процесса придумали TerminateProcess, зачем еще что-то городить сверху - не понятно.
0
|
|
|
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
|
|
| 21.07.2016, 07:44 | |
|
Max_t, что вы вызовете TerminateProcess, что ExitProcess в контексте целевого процесса (этот ваш SafeTerminateProcess по ссылке), разницы нет. Оба вызова к NtTerminateProcess сводятся.
0
|
|
| 21.07.2016, 07:44 | |
|
Помогаю со студенческими работами здесь
8
Мониторинг дочерних процессов Создание дочерних процессов. Пайпы Вывод pid дочерних процессов Создание двух дочерних процессов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|