Вопрос или проблема
Я запускаю три пакетных файла
1 – main.bak
(скрыт)
2 – open.bat
(показан)
3 – hide.bat
(показан)
open.bat содержит,
attrib -s -h main.bak
ren main.bak main.bat
call main.bat
main.bak или main.bat содержит,
@echo off
start hide.bat
cls
echo hi
pause
echo Welcome
pause
hide.bat содержит,
ren main.bat main.bak
attrib +s +h main.bak
exit
Теперь проблема в том, что когда я запускаю open.bat
, он переименовывает и делает видимым и запускает main.bat
и показывает вывод,
Hi
press any key to continue...
(пока отображается hi
, он уже начал запускать hide.bat
, он переименовывает и скрывает файл main.bat
.)
Так что теперь мои выходные файлы застряли на Hi
и не показывают Welcome
Основная причина, почему я это делаю, заключается в том, чтобы скрыть свой исходный код пакетного программирования от других, который находился в main.bat
Любая помощь будет оценена.. Спасибо вам, ребята, заранее. Пожалуйста, помогите..
я хочу скрыть свой исходный код от других (щелчок правой кнопкой мыши » редактировать)
К сожалению, вы не можете предотвратить это, если скрипт находится на машине под управлением Windows в ее родном формате. Тем не менее, вы можете использовать методы конвертации или обертки, чтобы скрыть код до некоторой степени.
Вашим лучшим вариантом будет Программное обеспечение F2KO Bat To Exe Converter (бесплатно), чтобы конвертировать пакетный скрипт в исполняемый бинарный файл. Вашим другим вариантом будет использование WinRAR (пробная версия/Цены варьируются) для упаковки скрипта в SFX-архив.
Примечание: Bat To Exe имеет встроенный упаковщик UPX, но UPX довольно ненадежен и устарел.
Чтобы обеспечить безопасность кода, я использую ASPack (Цены варьируются) для обфускации моих скриптов. Существует бесплатная альтернатива под названием Pitete, но она не так безопасна. Опытный хакер с отладчиком мог бы легко найти OEP для распаковки обфускации. ASPack более безопасен, но не неуязвим.
Дополнительное преимущество использования исполняемого модуля заключается в том, что вы можете добавить пользовательскую иконку и информацию о версии к вашей программе. В некоторых случаях конвертация скрипта в исполняемый формат может сломать его! В вашем случае я бы использовал Bat To Exe Converter и установил Рабочий каталог
на Текущий каталог
.
Обратите внимание, что упаковка скрипта, JAR и т.д. не защитит ваш код даже если вы обфусцируете или сожмете модуль извлечения. Это связано с тем, что модуль извлекает содержимое в %TEMP%
(или в другое место). Все, что должен сделать конечный пользователь, это запустить диспетчер задач, чтобы проследить путь скрипта к его источнику!
Ответ или решение
К сожалению, вы не можете полностью скрыть исходный код ваших пакетных файлов (batch files) на машине с Windows, если они находятся в своем обычном формате. Однако вы можете использовать методы конвертации или упаковки, чтобы скрыть ваш код до определённой степени.
1. Конвертация пакетных файлов в исполняемые файлы
Вашим лучшим вариантом будет использование Bat To Exe Converter от F2KO Software (бесплатно), чтобы преобразовать пакетный скрипт в исполняемый бинарный файл. Это не только позволит скрыть код, но и даст возможность добавить пользовательскую иконку и информацию о версии вашего приложения. Учтите, что конвертация в исполняемый формат может иногда приводить к сбоям работы скрипта. Рекомендуется использовать Bat To Exe Converter и установить параметр «Рабочая папка» на «Текущая папка».
2. Использование SFX-архивов
Другой вариант скрытия кода — использовать WinRAR для упаковки скрипта в самораспаковывающийся архив (SFX archive). Это также может сделать код менее доступным для редактирования.
3. Обфускация исходного кода
Чтобы повысить уровень защиты вашего кода, можно использовать инструменты обфускации, такие как ASPack или бесплатный аналог Petite. Однако важно понимать, что обфускация не делает ваш код полностью защищённым, так как опытный разработчик может использовать отладчики для извлечения оригинального кода.
4. Примечания о безопасности
Учтите, что упаковка или обфускация вашего скрипта не гарантирует полную защиту. Все еще существует возможность, что в процессе выполнения программа может извлечь содержимое во временную папку, и внимательно изучив процессы, любой пользователь может найти исходный код. Поэтому важно рассматривать эти методы как средства для затруднения доступа, а не абсолютную защиту.
Заключение
Если вам нужно ограничить доступ к вашему исходному коду, лучшее решение — это использование разработки исполняемого файла. Это позволит скрыть ваш код и дать вашему приложению более профессиональный вид. Однако учитывайте, что полная безопасность не может быть гарантирована, и всегда остаётся риск его извлечения.