Пароль на редактирование батника

Denis2707

Постоянный участник
Сообщения
102
Реакции
3
@AssistGPT
Как поставить на батник пароль чтобы сторонние не могли открыть батник блокнотом или какой-то другой программой?
 
@AssistGPT
Как поставить на батник пароль чтобы сторонние не могли открыть батник блокнотом или какой-то другой программой?
Для защиты файла .bat от просмотра сторонними пользователями можно использовать шифрование или установить пароль на файл. Однако, Windows по умолчанию не предоставляет возможности установить пароль на файл .bat. Вместо этого, можно упаковать .bat файл в зашифрованный архив. Вот инструкция, как это сделать:

1. Создание зашифрованного архива:
- Скачайте и установите программу для работы с архивами, например, 7-Zip (7-Zip).
- Поместите ваш файл .bat и все необходимые файлы в одну папку.
- Выделите все файлы, правой кнопкой мыши нажмите на них и выберите "Добавить в архив" (для 7-Zip).
- В появившемся окне выберите формат архива и установите пароль для защиты архива.
- Нажмите "OK" для создания зашифрованного архива.

2. Запуск файла .bat из зашифрованного архива:
- При необходимости запустить .bat файл, откройте зашифрованный архив с помощью программы для работы с архивами.
- Распакуйте файл .bat из архива в безопасное место на вашем компьютере.
- Теперь вы можете запустить .bat файл, введя пароль для доступа к файлам в архиве.

Таким образом, зашифрованный архив поможет защитить ваш .bat файл от просмотра сторонними пользователями. Надеюсь, эта информация будет полезной. Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать.
 
Ненадежный но простой способ)
В батнике допишите команду которая сделает запрос на ввод пароля или любой фразы, которую будете знать только вы.
Если ввели фразу верно продолжать работу скрипта нет, то выйти
set
goto И так далее
После чего конвертируйте bat в exe и запускайте.
(Конечно кому надо найдет исходник в темпах)
Лучше конечно использовать хотя бы Powershell
Ну или писать на языке который сразу в exe комплирует

Не но на край есть Обфускатор batников
 
@Flasher, ну у вас на PureBasic скомпилирован дешифратор куска зашифрованного текста, коим выступает код VBS, который после расшифровки передается ActiveX компоненту ScriptControl и выполняется уже в чистом виде. При нормальной реализации алгоритма пароль вам не назовут никогда. Вот только где я не прав? Все что сказано выше актуально.
В варианте с прикрепленными файлами, там запрос пароля выполняется на стороне рантайма VBScript, а не кода PureBasic, так что исходник может быть запросто перехвачен. Вот кусок от первого и второго:
Код:
If Trim(InputBox(String(5, vbCr) & "Введите пароль:", " Проверка пароля",,, Y)) <> "jS7SbxK5LsV" Then N = "НЕ "
If Trim(InputBox(String(5, vbCr) & "Введите пароль:", " Проверка пароля",,, Y)) <> "kDmWpxaFLePs" Then N = "НЕ "
 
@Dragokas, я не писал, что вы не правы (смайлик любопытства намекает), спасибо за расшифровку. Я примерно так и думал (про ScriptControl и т. п.). Мне просто интересно было в деталях, как это реализовано, потому что это не похоже на простой контейнер. Можно подробнее про дешифратор и перехват (чем)?
 
Еще более универсальный способ перехватить текст скрипта (не только для VBS, а для любых других скриптовых движков, в т.ч. MSIL) - пропатчить вот эту функцию AMSI, чтобы она логировала текст, который передаётся антивирусу на проверку. Например, запустить процесс в остановленном состоянии, подгрузить самому в целевой процесс AMSI.dll (если он еще не загрузился сам), и подменить функцию AmsiScanBuffer.
 
Последнее редактирование:
@Dragokas, было бы здорово увидеть наглядную демонстрацию, а то для меня это немного тёмный лес.
Нужно отметить, что такая компиляция в PureBasic + ScriptControl срабатывает при запрете WSH в системе, что для меня не менее важно.
 
В Rohitab API Monitor ставите фильтр на COM, можно и на Scripting Runtime, но там не всегда перехват срабатывает.
При выполнении одного из методов ScriptControl, аллоцируется память под скрипт и туда копируется его текст, см. функцию SysStringLen.
 

Вложения

  • vb.webp
    vb.webp
    65.1 KB · Просмотры: 14
@Dragokas, спасибо за подробности. Как я наблюдаю, то туда попадает только небольшая часть кода, а всё остальное обрезается. Стоит добавить несколько строк комментариев, и содержимое кода таким образом становится не получить. Есть более надёжные варианты?
И ещё вопрос. А если бы вы не догадывались про COM и Scripting Runtime (без него не работает, хотя раньше его в программе не было), т. е. мы бы не затрагивали vbs, как бы тогда действовали?
 
Последнее редактирование:
@Flasher, ну есть еще другие перехватчики, можно и самому написать. Это первое что под руку попало. Да хоть даже через Rohitab, можно поставить брейкпоинт на ту функцию, и самому открыть память процесса тем же WinHex или целиком сделать дамп памяти в этот момент времени хоть через Диспетчер задач и по указанному там адресу вычитать полную строку. В api monitor просто сделано ограничение, чтобы его не перегружать.

А если бы вы не догадывались про COM и Scripting Runtime (без него не работает, хотя раньше его в программе не было), т. е. мы бы не затрагивали vbs, как бы тогда действовали?
Действия зависят от контекста. Я ведь должен знать, с какой целью анализирую исполняемый файл. Если мне нужно знать, что и куда шлёт, я ставлю сетевой перехватчик, или в коммерческих инструментах эту роль выполняет прокси-сервер, установленный как MitM. Если подозревается шифровальщик, то юзаю инструменты мониторящие файловую систему, и даю соответствующий корм (документы и т.п.). Если там защита от запуска в среде виртуализации, то запускаю на грамотно сэмулированной среде или на реальном лабораторном компьютере.
В конкретном случае ничего не зашифровано, и я сразу через Sysinternals Strings статически увидел, что за объект заюзан. Список загруженных модулей (dll) также намекает о том, откуда дальше дергаются функции.
В общем виде, есть множество методов и инструментов: 99+ беÑплаÑнÑÑ Ð¸Ð½ÑÑÑÑменÑов Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° зловÑедов
Но главный инструмент голова: знать где, как, чем и зачем что-либо анализируешь.
В лоб ваш вопрос решают, запуская отладчик и смотрят, на какой инструкции остановилось (например, тот MessageBox), затем отматывают исполненный код назад и смотрят, кто и каким образом эту функцию дернул. Вопрос только в опыте и кол-ве времени, которое готов затратить на анализ конкретного семпла.
 
Назад
Сверху Снизу