PDA

Показать полную графическую версию : Скрытый bat с автозапуском с флешки


Haccker
05-03-2021, 01:30
Доброго времени.
Вы бы не могли проверить мой бат на правильность.
Всё работает, но возможно есть ошибки или ненужные строки.
У меня нет образования в ИТ сфере, "накалякал" с разных форумов, методом тыка, так сказать.

Задача простая, запустить определенный .ехе от имени администратора с исполняемого каталога, а не из папки system32, без отображения самой командной строки (без окна cmd), и выполнения последующего алгоритма exeшника.


@echo off // скрыть информацию с cmd появляющегося на 1 секунду
%1@mshta vbscript:Execute("CreateObject(""Wscript.Shell"").Run """"""%~f0"""" :"",0:Close()")& exit/b //скрывает окно командной строки
set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || ( echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs" && "%temp%\getadmin.vbs" && exit /B ) //даёт cmd права администратора, открывая новое окно cmd и позволяет сохранить создаваемый файл в исполняемой папке, а не в system32, вроде как.
файл.exe -бЛа -бКа -бСа > файл.txt //исполняемый экзешник/скрипт работающий в командной строке, работает с условиями и создает текстовик в исполняемой папке)
cls //очистка "невидимого" окна
exit //завершение. хз, работает без последних двух строк.


Вижу: "всё очень коряво, но работает" -такое себе).

Что тут лишнее? Подскажите пожалуйста.


Пытался сделать тоже самое через vbs


Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\папка\Файл.bat" & Chr(34), 0
Set WshShell = Nothing

Не хочет работать, основанное окно скрывается, но открывается второе с правами администратора.

_________
Пока писал вопрос и параллельно ковырял бат столкнулся с проблемой, работает через раз...
Окно с правами администратора продолжает висеть без отображения информации. А его быть не должно.

Iska
05-03-2021, 02:36
Что тут лишнее? »
Всё тут лишнее. И нет самого главного — зачем?

Haccker
05-03-2021, 17:52
- Для запуска командной строки от имени администратора с исполняемой папки(каталога), с последующим выполнением алгоритма указанного .exeшника указанного в батнике, без отображения информации и окна cmd.
Вот за этим).
Выяснил причину по которой не работает:
После запуска появляется первое окно cmd на 1 сек, далее оно исчезает как указано в этом корявом скрипте.
После вступления в ситу " set "params=%*" " открывается новое окно cmd с правами администратора и оно уже не исчезает, так как для его запуска требуется согласие/подтверждение на выполнение cmd от им. адм и скрипт батника на новое окно уже не распространяется, дальнейшие действия не выполняются
Но если делать всё тоже самое, но не запускать от имени администратора, то есть без этого параметра "сет парамс", или с опечаткой в нём, как было у меня, тогда всё отлично работает в hide, но без прав администратора.
А желательно с ними.
Помогите глупому самоучке...

Iska
05-03-2021, 17:54
Масло масляное.

В любом случае, автозапуск с флешки ушёл в небытие ещё много лет назад.

Haccker
05-03-2021, 18:25
Не требуется автозапуск, требуется хайд cmd runasanmin запущенного вручную через бат

Автозапуск это основная задача по итогу, она осуществима.
А на предыдущем этапе ступор небольшой возник.




© OSzone.net 2001-2012