1、通過改變進制的方法
下載下傳一個16進制編輯軟體,比如MiniHex。
将要加密的bat檔案開頭加入兩個空行,并拖入到MiniHex軟體中:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2csYnRHRWMsdUZxgmMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxQTO1IDMzMTM5ADNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
修改前兩個位元組的資料,修改為FF FE(或者修改為FE FF也可以)如圖:
儲存一下,Ctrol+s,此時就可以了。
會在bat檔案所在目錄生成.bak檔案,這就是源檔案(加密前的檔案),此時打開原來的檔案如下:
2、通過在bat檔案的開頭增加辨別符。具體加密和解密的代碼如下:
将以下代碼儲存為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=請輸入需要加密的批處理後按Enter鍵(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 │ 在下面填入需要解密的批處理按Enter鍵即可. │
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:[email protected]>"%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