Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Batch script, пароль при входе

Александр Яценко Ученик (95), закрыт 4 месяца назад
Как можно скрыть свой пароль в бат скрипте?
Чтобы нельзя было прочекать?
На всех форумах на эти вопросы были ответы даны много лет назад, где говорилось просто о запутывании кода
Аля не
:proga
set pass=2000
set /p enter=
if '%enter%'=='%pass%' (goto success) else cls&goto proga
А
set p=20
set a=00
if бла бла бла =='%p%%a%' и тд
Может сейчас может дать подсказку что можно придумать чтобы нельзя было редактированием батника прочекать пароль?
Если можно сделать, то можно ли добавить туда 2 строки? Например, логин и пароль
Лучший ответ
Алекс Куха Высший разум (449677) 1 год назад
за "много лет" командный процессор мало поменялся. Команды добавились.... Для кого-то выход в создании ехе из бата, но тоже так себе решение.
И какой смысл с сокрытии пароля, если проверку можно тупо выбросить из файла
Александр ЯценкоУченик (95) 1 год назад
Можно ли как то скрыть код в батнике от чужих глаз?
Алекс Куха Высший разум (449677) Александр Яценко, написал вроде - сделать из бата ехе. Но это не универсальный способ
Остальные ответы
Виктор Шило Ученик (132) 1 год назад
Такое себе на батнике делать это все
Если тебе нужно неразборчивое месиво - можешь вбить в гугле "batch obfuscator", думаю там разберешься, разве что его изменить ты сам не сможешь потом, так как там иероглифы будут, возможно если разобраться с кодировкой - получится, либо редачить оригинал, заливать через сайт и кидать куда надо, лень вникать в это

А что касается пароля в коде - можешь попробовать сделать через хэш
Пример:

@echo off
cls
:login
setlocal
cd /d %temp%
::делаешь путь к временной папке
set /p login=Введите логин:
set /p password=Введите пароль:
echo login=%login%>db&&attrib +h db
echo password=%password%>>db
::Твои переменные запишутся в файл db с атрибутом скрытый
set key=9e89655814ff5058b99a0a26c3810085e3430b0ccbdaa16735b694b42e934302
::Тут тебе нужно подобрать хэш к твоим данным, я делал это в cmd:
::echo login=admin>db
::echo password=admin>>db
::certutil -hashfile "db" SHA256
::На этом хэше можно было остановиться, но будем параноиками и предположим что ::мало букв можно подобрать каким-нибудь образом, соответственно переписываю в ::этот файл этот же хэш и нахожу еще один
::echo *тут вставляешь хэш*>db
::Копируешь его и удаляешь файл где ты его создавал чтобы не болтался del db
::Этот хэш вставляешь уже в программу
For /f "skip=1 Delims=" %%# in (
'certutil -hashfile "db" SHA256'
) Do If not defined verify Set verify=%%#
Set verify=%verify: =%
::Получаешь первый хэш
echo %verify%>dbb&&attrib +h dbb&&attrib -h db&&del db&set verify=
::Перезаписываешь хэш в файл
For /f "skip=1 Delims=" %%# in (
'certutil -hashfile "dbb" SHA256'
) Do If not defined verify Set verify=%%#
Set verify=%verify: =%
::Если хэш совпадет с твоим = ты войдешь, если что-то окажется неверным - ::вернешься в начало, так же удаляет временные файлы
if '%verify%' equ '%key%' attrib -h dbb && del dbb & endlocal & cls && goto program
attrib -h dbb && del dbb & endlocal & cls && goto login
:program
echo Вход выполнен
timeout 1 >nul
::Как-то так, может можно более профессионально, но вообще это bat..., да и я не ::эксперт, просто как вариант
::Лог=admin;Пасс=admin
::Проверяй
Александр ЯценкоУченик (95) 1 год назад
оо работает. чел ты гений
Похожие вопросы