Что нового

[Процессы] Запрет закрытия процесса

ashkalov

Новичок
Сообщения
4
Репутация
0
Написал программу для защиты от других людей моего компа, т.е при двойном клике на папке например, проверяется находиться ли эта папка в запрете для других или нет... ели да, то высвечиваться сообщение о вводе пароля.

Проблема в том, что программу проверяющею доступ можно убить из диспетчера... как это предотвратить???
 

Zaramot

I ♥ AutoIt
Сообщения
1 160
Репутация
658
Запретите диспетчер задач, а при выходе из программы - разрешите ;)
 
Автор
A

ashkalov

Новичок
Сообщения
4
Репутация
0
Мне нужно чтоб диспетчер задач работал, а процесс убить нельзя было бы
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1 575
Репутация
335
Скрытие процесса возможно сложными средствами WinAPI либо сторонними DLL библиотеками. Так или иначе любая приличная антивирусная система будет бить тревогу, о том что в компьютере работает скрытый процесс.

http://www.programmersforum.ru/showthread.php?t=18
Вот тут имеется внешняя библиотека, но ее надо еще знать как использовать =)
 
Автор
A

ashkalov

Новичок
Сообщения
4
Репутация
0
ничего от туда я не понял)))))
 

armenxxx1

Продвинутый
Сообщения
155
Репутация
56
Привет не знаю, если нарушение правил сайта, пожалуйста простите меня, и удалить сообщение. Вот таким образом можно скрыть процесса от Task Manager или скрыть ключ из реестра (или файл)...

Но это не надежный способ. Я помню, что Yashied привел пример защиты процесс от закрытия ...

Код:
#RequireAdmin

;Hide Process
$CLASS = "[CLASS:#32770]" ;Скриване на програма от Task Manager
$NAME = "notepad.exe" ;Име на програма

;Hide RegKey
;$CLASS = "[CLASS:RegEdit_RegEdit]" ;Скриване на ключ от регистрите
;$NAME = "Run" ;Име ключ

		
While 1
	WinWait($CLASS)

    $varible3 = ControlListView($CLASS, "", "SysListView321", "FindItem", $NAME)
    If $varible3 = -1 Then
		Sleep(5)
    Else
        $varible4 = WinGetHandle($CLASS)
		$varible5 = ControlGetHandle($CLASS, "", "SysListView321")
				
		DllCall("User32.dll", "int", "SendMessage", "hwnd", $varible4, "int", 0x0111, "int", 40025, "int", 0)
		DllCall("user32.dll", "int", "SendMessage", "hwnd", $varible5, "int", 0x1008, "int", $varible3, "int", 0)
    EndIf
WEnd
 
Автор
A

ashkalov

Новичок
Сообщения
4
Репутация
0
запускаю нотпад запускаю скрипт, а он не прячет его из процессов... что не так???
 

joiner

Модератор
Локальный модератор
Сообщения
3 362
Репутация
586
ashkalov
возможно дело в операционной системе. классы разные
 
Верх