您的位置: 网站首页 > 编程乐园, 黑客地带 > 阅读文章

批处理BAT的加密与解密方法

批处理BAT加密程序:

author:pengfei@www.cn-dos.net
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
cls
@echo off
color 2a
:start
cls
@ ECHO.                    关  于
@ ECHO -----------------------------------------------------
@ ECHO 本资源来自 www.hack520.org
@ ECHO                 野球小子's  BLOG
@ ECHO -----------------------------------------------------
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.
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 hqw)
)
:even
copy "%tmp%\encrypt.tmp" encrypt.bat
del "%tmp%\encrypt.tmp"
cls
echo ==========================
echo 恭喜你, 批处理加密成功^^!
echo ==========================
echo.
echo.
echo 按任意键退出......
pause>nul
goto quit
:hqw
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解密程序:

@echo off
mode con: cols=80 lines=25
:index
color 27
cls
@ ECHO.                    关  于
@ ECHO -----------------------------------------------------
@ ECHO 本资源来自 www.hack520.org
@ ECHO                 野球小子's  BLOG
@ ECHO -----------------------------------------------------
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
看看还有没有您感兴趣的:

  1. 不知疲倦
    八月 21st, 2007 at 13:32 | #1

    加密后就是看不了批处理源文件是吧?

    [回复]

  2. 野球小子
    八月 21st, 2007 at 15:22 | #2

    没错,用上面的解密程序解密一下就可以重新看到源代码。

    [回复]

  3. 六月 24th, 2011 at 13:33 | #3

    原理是什么?我试验了下,加密成功了@野球小子

    [回复]

  • 您的大名(必填)
  • E-Mail (必填)
  • 您的网站(有的话就写一下吧~)
  • 评论内容:(必填)