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

Нашел этот скрипт .bat, который делает то, что я хочу, но не зашифрован:

@Echo off
cls
:Password
Set input=
set /p input= Password (input then press enter) :
if %input%==star goto YES
if not %input%==star goto NO

:YES

Start MSpaint.exe
Exit

:NO

Echo INCORRECT PASSWORD
goto Password

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

1 ответ1

0

Одним из решений будет использование утилиты, например RunAsSpc, с помощью которой вы можете вызывать программу, требующую пароль. Пароль и все другие данные хранятся в RunAsSpc в зашифрованной базе данных. Это может сделать runas плюс пароль плюс шифрование (хотя пользователь может быть вами самим).

RunAsSpc бесплатен для частного использования. Подробнее об этом см. В статье «Передача пароля в Runas с помощью RunAsSpc».

Для более простой защиты вы можете использовать генератор Md5 для генерации хэша пароля. Затем пакетный файл запросит пароль, но сравнивает его хеш MD5, а не сам пароль.

Для еще более простой защиты от неопытных пользователей вы можете посыпать ссылки на неопределенные переменные среды вокруг вашего пакетного файла. Такие переменные выглядят пустыми при оценке, но они будут отговаривать чтение командного файла.

Используя эту идею, следующий скрипт:

@echo off
echo "Hello, world!"

может выглядеть так:

@%n%e%x%c%s%h%z%o%f% o%d%f%d%f
e%n%c%o%h%n%o %n%H%p%e%n%l%o%l%o%o%o%,%o% w%c%o%n%r%p%l%k%d%e%!%s%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .