对Bat文件进行加密

1、通过改变进制的方法(推荐) 下载一个16进制编辑软件,比如MiniHex。 将要加密的bat文件开头加入两个空行,并拖入到MiniHex软件中:

修改前两个字节的数据,修改为FF FE(或者修改为FE FF也可以)如图:

保存一下,Ctrol+s,此时就可以了。 会在bat文件所在目录生成.bak文件,这就是源文件(加密前的文件),此时打开原来的文件如下:

需要复原就再把开头给改为0D0A(数字0)即可。

以上加密后,执行bat文件时,可能会出现以下问题,开头有个?号。(可参考第二种方式)

2、使用bat加密工具(推荐)

3、通过在bat文件的开头增加标识符。具体加密和解密的代码如下:(WIN10上测试)

将以下代码保存为bat文件,双击运行即可,根据提示,输入所要加密文件的绝对路径回车即可。 加密完成后,会在这个加密bat文件目录生成encrypt.bat文件,这个文件就是加密后的文件。

@echo off

cls

color 2a

:start

cls

echo *******************************************************************************

echo * *

echo * BAT 加 密 *

echo * *

echo *******************************************************************************

echo.

echo.

echo.

echo ★ 可以一次性成功加密任何批处理文件, 更省事.

echo.

echo ★ 可以由您输入任意需要加密的批处理, 加密灵活性更大.

echo.

echo ★ 能够自动判断错误输入, 更加人性化.

echo.

echo 说明: 在下面输入需要加密的批处理文件, 直接输入批处理文件名为加密当前目录下的BAT,也可以带路径指定任意BAT. 当前目录下生成的encrypt.bat文件即为加密的批处理.

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

将以下代码保存为bat文件,双击运行即可,根据提示,输入所要加密文件的绝对路径回车即可。

解密完成后,会在这个加密bat文件目录生成解密后的文件:

@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=%cd%

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:pengfei@www.cn-dos.net>"%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

随便看看