2

Я запускаю три пакетных файла 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

Любая помощь приветствуется. Спасибо, ребята заранее. Пожалуйста помогите .. я хочу скрыть свой источник от других (правый клик »редактировать)

1 ответ1

0

К сожалению, вы не можете предотвратить это, если скрипт находится на компьютере с Windows в своем родном формате. Однако вы можете использовать методы преобразования или переноса, чтобы скрыть код в некоторой степени.

Наилучшим вариантом для вас может быть конвертер Bat To Exe от F2KO Software (Freeware) для преобразования пакетного скрипта в исполняемый двоичный файл. Другой вариант - использовать WinRAR (Trial/Price varys), чтобы обернуть скрипт в SFX-архив.

Примечание: Bat To Exe имеет встроенный упаковщик UPX, но UPX довольно небезопасен и устарел.

Чтобы защитить код, я использую ASPack (Price varys), чтобы запутать мои сценарии. Есть бесплатная альтернатива под названием Pitete, но она не так безопасна. Опытный хакер с отладчиком может легко найти OEP, чтобы распаковать запутывание. ASPack является более безопасным , но не invunerable.

Дополнительным бонусом использования исполняемого модуля является то, что вы можете добавить свой значок и информацию о версии в вашу программу. В некоторых случаях преобразование скрипта в исполняемый формат может привести к его поломке ! В вашем случае я бы использовал Bat To Exe Converter и установил Working directory в Current directory .

Обратите внимание, что перенос сценария, JAR, ect не защитит ваш код, даже если вы запутываете или сжимаете модуль извлечения. Это связано с тем, что модуль извлекает содержимое в %TEMP% (или в другое место). Все, что нужно сделать конечному пользователю, это запустить диспетчер задач, чтобы проследить сценарий до его источника!

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