Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как создать "системный" процесс?

Ответить
Настройки темы
Как создать "системный" процесс?

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вопрос: можно ли средствами AutoIt реализовать процесс, являющийся частью системы, чтобы пользователь наряду с критическими процессами не смог завершить и этот процесс???

Отправлено: 15:52, 14-11-2012

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата S1R1US:
Вопрос »
У меня тоже: в каких целях это нужно?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 17:09, 14-11-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для apozlevich

Ветеран


Автор проектов


Сообщения: 1025
Благодарности: 180

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
У меня тоже: в каких целях это нужно? »
Мне кажется, подальше от ручек пользователей. Хотя это не первое, что мне в голову пришло

-------
echo 127.0.0.1 google.ru >> %systemroot%\system32\drivers\etc\hosts && ipconfig /flushdns && echo Я ничего не трогал, оно само!


Отправлено: 17:18, 14-11-2012 | #3


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Creat0R
apozlevich
Я составил программу для блокировки нежелательного интернет контента, вот код программы:
Код: Выделить весь код
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Version=beta
#AutoIt3Wrapper_Icon=1351863178_user_group.ico
#AutoIt3Wrapper_Res_Comment=Blocker Vkontakte, Youtube, Odnoklassniki, Yandex.music
#AutoIt3Wrapper_Res_Description=Blocker x86 WinXp
#AutoIt3Wrapper_Res_Fileversion=3.0.0.1
#AutoIt3Wrapper_Res_LegalCopyright=S1R1US[B.S.]
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.0
 Author:         S1R1US[B.S.]

 Script Function:
	Blocking Vkontakte, Odnoklassniki, YOUTUBE, YANDEX.MUSIC

#ce ----------------------------------------------------------------------------
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <EditConstants.au3>
#include <ListViewConstants.au3>

Opt("WinWaitDelay", 0)
Global $sProcess = "Blocker x86 WinXp.exe"
HotKeySet("{PAUSE}", "_Terminate")
 ;функция выключения
Func _Terminate()
Exit
EndFunc

While 1
	Sleep(100); цикл опроса

		;скрытие процесса в диспетчере задач
    If WinExists("Диспетчер задач Windows") = 1 Then
		$iIndex = ControlListView("Диспетчер задач Windows", "", "SysListView321", "FindItem", $sProcess)
		If $iIndex = -1 Then
			Sleep(5)
		Else
			$hTaskMgr = WinGetHandle("Диспетчер задач Windows")
			$hListView = ControlGetHandle($hTaskMgr, "", "SysListView321")
			DllCall("User32.dll", "int", "SendMessage", "hwnd", $hTaskMgr, "int", $WM_COMMAND, "int", 40025, "int", 0)
            DllCall("User32.dll", "int", "SendMessage", "hwnd", $hListView, "int", $LVM_DELETEITEM, "int", $iIndex, "int", 0)
		EndIf
	EndIf
	; убивает окно если оно существует
If BitAND(WinGetState("Одноклассники"),1) Then
	WinClose ("Одноклассники")
EndIf
If BitAND(WinGetState("Добро пожаловать"),1) Then
	Winclose ("Добро пожаловать")
EndIf
If BitAND(WinGetState("YouTube"),1) Then
	Winclose ("YouTube")
EndIf
If BitAND(WinGetState("Яндекс.Музыка"),1) Then
	Winclose ("Яндекс.Музыка")
EndIf
If BitAND(WinGetState("Анонимайзер"),1) Then
	Winclose ("Анонимайзер")
EndIf
WEnd
А также установщик для неё:
Код: Выделить весь код
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Version=beta
#AutoIt3Wrapper_Icon=1351861020_jason_icon.ico
#AutoIt3Wrapper_Res_Comment=Install Blocker Vkontakte, Odnoklassniki, Youtube, Yandex.Music
#AutoIt3Wrapper_Res_Description=Blocker x86 WinXp
#AutoIt3Wrapper_Res_Fileversion=3.0.0.2
#AutoIt3Wrapper_Res_LegalCopyright=S1R1US[B.S.]
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.0
 Author:         S1R1US[B.S.]

 Script Function:
	Automaticaly install Blocker x86 WinXp.

#ce ----------------------------------------------------------------------------
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <EditConstants.au3>
#include <ListViewConstants.au3>
$delay = 4000
$truepath = "C:\WINDOWS\system32\Blocker x86 WinXp.exe"
$truefile = "1"
$file = FileExists(@SystemDir & "\Blocker x86 WinXp.exe")
If $file = $truefile Then
MsgBox(64, "Blocker x86 WinXP", "The blocker programm is already installed")
Exit
Else
	ProgressOn("Installing Blocker x86 WinXp", "Please Wait...", "0 percent")
For $i = 1 to 100 step 10
    sleep(100)
    ProgressSet( $i, $i & " percent")
Next
ProgressSet(100 , "Done", "Complete")
sleep(500)
ProgressOff()
	RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "Shell", "REG_SZ", "explorer.exe, %SystemRoot%\system32\Blocker x86 WinXp.exe")
	FileInstall("C:\Blocker x86 WinXp.exe", @SystemDir & '\Blocker x86 WinXp.exe', 1)
	Run("Blocker x86 WinXp.exe", @SystemDir)
	ProcessExists("Blocker x86 WinXp.exe")
	MsgBox(64, "Congratulations! Blocker x86 WinXP", "The blocker programm is successfully installed")
EndIf
ToolTip("Thanks For Using Blocker x86 WinXp By S1R1US[B.S.]", 0, 0)
Sleep($delay)
В прошлой своей теме я пытался запустить программу как службу, чтобы пользователи её не выключали, но это оказалось слишком сложно для меня. Теперь я пытаюсь запустить этот процесс в качестве системного...уже перелопатил горы, выход есть с помощью SC manager'a, но мне как то страшновато лезть в него не имея достаточного опыта. Если это противозаконно прошу меня понять, простить...)

Отправлено: 17:51, 14-11-2012 | #4


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата S1R1US:
Я составил программу для блокировки нежелательного интернет контента »
Это легче сделать на уровне браузера/системы.

По поводу предотвращения закрытия, почитай Как запретить закрытие процесса.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 20:58, 14-11-2012 | #5


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Creat0R
В моём случае пользователи могут установить другой браузер, или воспользоваться анонимайзером или придумать ещё 1000 и один способ зайти на любимые одноклассники. Поэтому я вынужден был изобрести велосипед)
Возник вопрос: если я использую батник мне чтож теперь для его сайленс запуска воспользоваться и vbs скриптом???
Например:
Код: Выделить весь код
Dim oShell
Set oShell = WScript.createObject("WSCript.shell")
oShell.run "C:\RunAsSystem.bat", 0
Set oShell = Nothing

Отправлено: 15:59, 15-11-2012 | #6


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата S1R1US:
В моём случае пользователи могут установить другой браузер, или воспользоваться анонимайзером или придумать ещё 1000 и один способ »
Что то не пойму, ты администратор компьютера и тебе нужно ограничить доступ к сайтам всем/некоторым пользователям?

А в hosts добавить не вариант?

Код: Выделить весь код
127.0.0.1 www.odnoklassniki.ru

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 21:19, 15-11-2012 | #7


Аватара для apozlevich

Ветеран


Автор проектов


Сообщения: 1025
Благодарности: 180

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
А в hosts добавить не вариант? »
Думаю, пользователи давно освоили этот вариант. То, что предложил ТС - можно сделать даже на админском акке и это будет незаметно.

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

-------
echo 127.0.0.1 google.ru >> %systemroot%\system32\drivers\etc\hosts && ipconfig /flushdns && echo Я ничего не трогал, оно само!


Отправлено: 21:26, 15-11-2012 | #8


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Creat0R
Все пользователи являются администраторами для своих компьютеров, таковы требования использования программ, которые установлены. Я ограничиваю всем доступ к некоторым ресурсам, изменение файла "хост", это пройденный вариант(уже научились редактировать), и да кучи уже освоили анонимайзеры, в связи с чем и был написан мой блокер. Вы сильно недооцениваете моих пользователей.
Я в принципе добился запуска от имени NT AUTHORITY\SYSTEM через планировщик, но вот ведь незадача - он легко завершается через сторонний диспетчер задач...
apozlevich
Прокся есть давно, проблема в том, что её обходят. Ищу способ программного блокирования, осталось всего лишь добиться "выживаемости процесса" в условиях завершения. Имеется идея - создать к процессу драйвер-охранник, или службу, но хотелось бы реализовать попроще. А то действительно выходит как написание антивируса...
P.S. Ещё вопрос к Creat0R, а что если обойтись созданием 2-х идентичных процессов, каждый из которых будет исполняться в памяти, контроллируя соседний процесс, если процессов 2, ничего не делать, если процесс 1, запустить копию. Ведь даже в сторонних диспетчерах завершить можно только 1 процесс за 1 раз? Тут вот такие моменты: не знаю как будет работать моя "маскировка", далее проблема с опросом горячей клавиши "завершения", а также с опросом окон на наличие нужных сочетаний для блокирования.

Последний раз редактировалось S1R1US, 16-11-2012 в 11:25.


Отправлено: 11:12, 16-11-2012 | #9


Аватара для cameron

Ветеран


Сообщения: 4677
Благодарности: 1092

Профиль | Отправить PM | Цитировать


Цитата S1R1US:
Я в принципе добился запуска от имени NT AUTHORITY\SYSTEM через планировщик, но вот ведь незадача - он легко завершается через сторонний диспетчер задач... »
с правами админа получить права SYSTEM нет проблем
и убивать всё что угодно.
Цитата S1R1US:
Все пользователи являются администраторами для своих компьютеров, таковы требования использования программ »
вы бессильны.

-------
в личке я не консультирую и не отвечаю на профессиональные вопросы. для этого есть форум.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:19, 16-11-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как создать "системный" процесс?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Программы - [решено] Как создать кнопку "новый текстовый документ"в проводнике-по аналогии с "Новая папка" sofon-emelin38 Microsoft Windows 7 23 10-02-2016 21:49
Интерфейс - [решено] Пропал пункт меню "Создать"/"Текстовый документ" Myp1blka Microsoft Windows 2000/XP 7 14-11-2013 19:26
Разное - [решено] Возвращение в меню "Создать" пункта "Текстовый документ", ассоциирование с TXT Pavla Microsoft Windows 7 16 10-07-2012 07:47
Интерфейс - [решено] пропала кнопка "Создать контакт" в папке "Контакты" 75Roman Microsoft Windows 7 5 26-04-2012 21:19
Интерфейс - Из контекстного меню в пункте "Создать", пропала команда "Текстовый документ". QUMATOZ Microsoft Windows 2000/XP 1 23-10-2011 18:07




 
Переход