Что нового

Работа с интерактивными службами средствами API

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Доброго времени суток

Должно быть многие знают о подобном трюке с интерактивными службами, которые выполняются даже при 0 пользователей в системе. ( a.k.a. в системной сессии )
175d940c8e.png

Необходимо это дело автоматизировать ( в частности - переход под учетку System для визуального взаимодействия с интерактивными службами ). На данный момент переход не полностью автоматизирован ( скриншот выше ). Требуется что то в плане:
Код:
_GoToSystemDesktop / _GoBack

Если кто имеет опыт в этой области - прошу помочь, заранее спасибо.

Код:
__Process_RunAsSystem('"c:\windows\system32\cmd.exe /k start"', 1)
; #FUNCTION# ====================================================================================================================
; Name...........: __Process_RunAsSystem
; Description ...: Requires administrator privileges.
; Author ........: Firex
; ===============================================================================================================================
Func __Process_RunAsSystem($__Executable, $__Interactive = 0)
   Local $hFile, $sPath = @TempDir & '\FxL_RaS.bat', $sBat = '0x' & _
   '406563686F206F66660D0A736574206D3D2574696D653A7E332C32250D0A73657420683D2574696D653A7E302C32250D0A73657420643D25646174653'& _
   'A7E302C3225200D0A736574206D3D25646174653A7E332C3225200D0A73657420793D25646174653A7E382C32250D0A696620256D3A7E302C31252065'& _
   '7175203020736574206D3D256D3A7E312C31250D0A69662025683A7E302C31252065717520302073657420683D25683A7E312C31250D0A736574202F6'& _
   '1206D2B3D310D0A696620256D252065717520363020736574206D3D3020262620736574202F6120682B3D310D0A696620256825206571752032342073'& _
   '657420683D300D0A7363687461736B73202F637265617465202F746E202246784C5F53797341707022202F7472202531202F7363206F6E6365202F737'& _
   '4202568253A256D253A3030202F7364202564252F256D252F257925202F7275202253797374656D220D0A7363687461736B73202F72756E202F69202F'& _
   '746E202246784C5F537973417070220D0A7363687461736B73202F64656C657465202F746E202246784C5F53797341707022', $sBatI = '0x'& _
   '406563686F206F66660D0A7363206372656174652046784C5F5379734170702062696E706174683D20253120747970653D206F776E207479706'& _
   '53D20696E7465726163740D0A6E65742073746172742046784C5F5379734170700D0A73632064656C6574652046784C5F537973417070'

   $sBat = Binary($sBat)
   If $__Interactive Then _
	  $sBat = Binary($sBatI)

   $hFile = FileOpen($sPath,18)
   FileWrite($hFile, $sBat)
   FileClose($hFile)

   Return SetError( RunWait($sPath & ' ' & $__Executable, '', @SW_HIDE), 0, 0 )
EndFunc

Скомпилировать и запустить от администратора, или:

Код:
@echo off
sc create SysApp binpath= "c:\windows\system32\cmd.exe /k start" type= own type= interact 
net start SysApp
sc delete SysApp


P.S. Хочу сделать локер по технологии подтверждения UAC.
e31f5dc6b2.jpg
 
Верх