הפעלה נסתרת של סקריפט כמנהל.
-
הפעלה נסתרת של סקריפט כמנהל
HiddenMP.bat@echo off cd /d "%~dp0" & (if exist "%temp%\hidden.vbs" del "%temp%\hidden.vbs") & if "%hidden%"=="" ((set "hidden=1" & reg.exe query "HKU\S-1-5-19" 1>nul 2>nul && (cmd /u /c echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && ""%~s0""", "", "", 0 > "%temp%\hidden.vbs") || (cmd /u /c echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && ""%~s0""", "", "runas", 0 > "%temp%\hidden.vbs")) & start wscript.exe "%temp%\hidden.vbs" & exit) set hidden= ::rest of your code
הפעלה כפויה ונסתרת של סקריפט כמנהל
HiddenelevateMP.bat@echo off :getadmin for /f "tokens=* delims=" %%C in ('tasklist ^| find /c "cmd.exe"') do (set /a cmd=%%C-1) cd /d "%~dp0" & (if exist "%temp%\hidden.vbs" del "%temp%\hidden.vbs") & if "%hidden%"=="" (cmd /u /c echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && ""%~s0""", "", "", 0 > "%temp%\hidden.vbs" & set "hidden=1" & "%temp%\hidden.vbs" & exit) else (reg.exe query "HKU\S-1-5-19" 1>nul 2>nul || (cmd /u /c echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && ""%~s0""", "", "runas", 0 > "%temp%\hidden.vbs" & start /w wscript.exe "%temp%\hidden.vbs" && tasklist| find /c "cmd.exe" | find "%cmd%" >NUL && (goto :getadmin) || (exit))) set hidden= set cmd= ::rest of your code
קרדיט MP
בקודים האלו עשיתי שימוש בפונקציה מעניינת שנתקלתי בה
אם ה-bat כתב משתנה, ואותו bat הפעיל קובץ vbs שהפעיל קובץ bat, המשתנה קיים גם בתהליך הcmd החדש שנוצר. (בתנאי שזה אותו משתמש, אם הסקריפט הפעיל סקריפט כמנהל והוא עצמו לא מנהל, לצורך העניין זה נחשב כמשתמש אחר) -
-