BAT文件加密解密

2022-10-04 15:00:11 浏览数 (3)

> 因为工作的原因不希望bat脚本内容让其他人知道,于是找到了加密bat文件的方法,防止别人随意修改,下面整理一下bat脚本加密解密的方法!

BAT加密脚本
代码语言:javascript复制
@echo off
cls
color 2a
:start
cls
echo *******************************************************************************
echo * *
echo * BAT 加 密 最 终 版 *
echo * *
echo *******************************************************************************
echo.
echo.
echo BAT加密最终版为"BAT加密工具"的更新版本, 较上一版加密工具而言有诸多优势:
echo.
echo ★ 可以一次性成功加密任何批处理文件, 更省事.
echo.
echo ★ 可以由您输入任意需要加密的批处理, 加密灵活性更大.
echo.
echo ★ 能够自动判断错误输入, 更加人性化.
echo.
echo 说明: 在下面输入需要加密的批处理文件, 直接输入批处理文件名为加密当前目录下的BAT,也可以带路径指定任意BAT. 当前目录下生成的encrypt.bat文件即为加密的批处理.
echo.
echo 作者:孤鸿 QQ:543413973 BYE
echo.
echo.
echo.
set /p file=请输入需要加密的批处理后按回车键(q=退出):
if "%file%"=="q" goto quit
echo %file%|findstr /i ".bat$">nul && goto go
echo %file%|findstr /i ".cmd$">nul && goto go
cls
echo ==============
echo 请正确输入!
echo ==============
echo.
echo.
echo 按任意键重新输入......
pause>nul
goto start
:go
if not exist "%file%" goto newly
if exist encrypt.bat copy encrypt.bat encryptbak.bat
echo %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a >"%tmp%encrypt.tmp"
echo cls>>"%tmp%encrypt.tmp"
type "%file%">>"%tmp%encrypt.tmp"
setlocal enabledelayedexpansion
for %%i in ("%tmp%encrypt.tmp") do (
echo %%~zi >nul 2>nul
set size=%%~zi
set num=!size:~-1!
set /a mod=!num!%%2
if !mod! equ 0 (goto even) else (goto odd)
)
:even
copy "%tmp%encrypt.tmp" encrypt.bat
del "%tmp%encrypt.tmp"
cls
echo ==========================
echo 恭喜你, 批处理加密成功^^!
echo ==========================
echo.
echo.
echo 按任意键退出......
pause>nul
goto quit
:odd
echo. >>"%tmp%encrypt.tmp"
copy "%tmp%encrypt.tmp" encrypt.bat
del "%tmp%encrypt.tmp"
cls
echo ==========================
echo 恭喜你, 批处理加密成功^^!
echo ==========================
echo.
echo.
echo 按任意键退出......
pause>nul
goto quit
:newly
cls
echo ================================
echo 找不到批处理文件, 请重新输入!
echo ================================
echo.
echo.
echo 按任意键开始......
pause>nul
goto start
:quit
exit
代码语言:javascript复制
@echo off
mode con: cols=80 lines=25
:index
color 27
cls
echo ╭──────────── ──╮
echo │ │
echo ╭─────────┤ BAT 解 密 工 具 ├─────────╮
echo │ │ │ │
echo │ ╰────────── ────╯ │
echo │ │
echo │ │
echo │ 本工具用来对混淆文本编码类型的加密批处理进行解密! │
echo │ │
echo │ 在下面填入需要解密的批处理按回车键即可. │
echo │ │
echo │ 建议直接把待解密的批处理文件拖曳至本窗口释放. │
echo │ │
echo │ 解密成功后会在本程序目录下生成"new_待解密文件名.文件后缀名" │
echo │ 格式的文件. │
echo │ │
echo │ 注意: 如果本目录下存在"new_待解密文件名.文件后缀名"的文件, │
echo │ 将会被替换. │
echo │ │
echo │ │
echo ╰─── ─────────────────────────────╯
echo.
set route=�%
set ravel=
set /p ravel= 请输入要解密的批处理:
set "ravel=%ravel:"=%"
if /i "%ravel:~-4%"==".bat" if exist "%ravel%" goto go
if /i "%ravel:~-4%"==".cmd" if exist "%ravel%" goto go
cls
echo ╭──────────╮
echo ╭─────────┤ 文 件 错 误 ├────────╮
echo │ ╰──────────╯ │
echo │ │
echo │ 指定文件不存在或文件不是批处理类型! │
echo │ │
echo │ 按任意键重新输入... │
echo │ │
echo ╰───────────────── ───────────╯
echo.
echo.
echo 按任意键重新输入...
pause >nul
goto index

:go
for /f "tokens=*" %%c in ("%ravel%") do (
cd /d "%%~dpc"
if exist "%route%new_%%~nxc" attrib -s -h -r -a "%route%new_%%~nxc"
echo author:wsc@wsczx.com>"%route%new_%%~nxc"
for /f "tokens=*" %%i in (%%~nxc) do (
echo %%i>>"%route%new_%%~nxc"
)
)
cls
echo ╭──────────╮
echo ╭─────────┤ 解 密 成 功 ├────────╮
echo │ ╰──────────╯ │
echo │ │
echo │ 恭喜, 批处理解密成功! │
echo │ │
echo ╰──────────────────── ────────╯
echo.
echo.
echo 按任意键退出...
pause >nul
exit

1 人点赞