经本处理后处理后的批处理要经过加密和解密两个过程才能运行,同时经过加解密过程后使每行后增加了18位空字符,现已解决。
相信经过本批处理加密的文件很难被破解,可以便于大家将不经常使用的批处理都转换成文本文件收藏起来,要用的时候再解密出来就可以了,这也是本人花这么大心思的初衷。
为了便于分类保管,特别加入人工选择输出文件名功能。
友情提示:请大家小心使用变量延迟,在本P中就遇到了处理特殊字符"!"的问题,真的不瞒大家,我为这个是费尽了心力(出现的问题本人在9楼做了详细说明)。
感谢namejm的共享资料解决了关键问题,脱去因解决特殊字符"!"替换时生成的前后双引号(本人在16楼贴出了其原文,大家可以去学习学习以少走弯路),本批处理已修改如下:
[ Last edited by zw19750516 on 2008-3-31 at 01:14 PM ]
相信经过本批处理加密的文件很难被破解,可以便于大家将不经常使用的批处理都转换成文本文件收藏起来,要用的时候再解密出来就可以了,这也是本人花这么大心思的初衷。
为了便于分类保管,特别加入人工选择输出文件名功能。
友情提示:请大家小心使用变量延迟,在本P中就遇到了处理特殊字符"!"的问题,真的不瞒大家,我为这个是费尽了心力(出现的问题本人在9楼做了详细说明)。
感谢namejm的共享资料解决了关键问题,脱去因解决特殊字符"!"替换时生成的前后双引号(本人在16楼贴出了其原文,大家可以去学习学习以少走弯路),本批处理已修改如下:
@echo off&color 9f&mode con lines=10
title 批处理加密解密工具
echo.&echo.&echo.&echo.
echo made by zw19750516
ping /n 3 127.1 >nul
cls
echo.&echo.&echo.&echo.
set /p a= 请将要处理的批处理或文本文件拖放到这里:
:select
cls
echo.&echo.&echo.&echo.
set /p b= 请选择要做何处理
1.加密 2.解密)
if "%b%"=="1" goto change
if "%b%"=="2" goto back
cls
echo.&echo.&echo.&echo.
echo 输入无效,请返回正确输入!
ping /n 3 127.1 >nul&goto select
:change
cls
echo.&echo.&echo.&echo.
set c=change
set /p c= 请输入要生成的txt文件名(默认为change):
for /f "tokens=*" %%i in ('findstr ".*" %a%'
do (
set str=%%i
setlocal enabledelayedexpansion
set str=!str:a=犇!
set str=!str:b=猋!
set str=!str:c=骉!
set str=!str:d=蟲!
set str=!str:e=麤!
set str=!str:f=毳!
set str=!str:g=淼!
set str=!str:h=掱!
set str=!str:i=焱!
set str=!str:j=垚!
set str=!str:k=煊!
set str=!str:l=烜!
set str=!str:m=煐!
set str=!str:n=焓!
set str=!str
=烓!
set str=!str:p=焺!
set str=!str:q=瓛!
set str=!str:r=炜!
set str=!str:s=翙!
set str=!str:t=燚!
set str=!str:u=焜!
set str=!str:v=琰!
set str=!str:w=燊!
set str=!str:x=眚!
set str=!str:y=奡!
set str=!str:z=慤!
echo "!str!" >>%c%.txt rem 为了处理特殊字符"!"无耐给字符加上了双引号
endlocal
)
cls
echo.&echo.&echo.&echo.
echo 正在转换中请稳候...
ping /n 3 127.1 >nul
cls
echo.&echo.&echo.&echo.
echo 已转换加密完毕,转换后的文件为%c%.txt,
echo 请妥协保管好加密后的文件,按任意键退出。
pause >nul&goto :eof
:back
cls
echo.&echo.&echo.&echo.
set c=back
set /p c= 请输入要生成的bat文件名(默认为back):
for /f "tokens=*" %%i in ('findstr ".*" %a%'
do (
set str=%%~i rem 这里可有大学问(脱去字符双引号)
setlocal enabledelayedexpansion
set str=!str:犇=a!
set str=!str:猋=b!
set str=!str:骉=c!
set str=!str:蟲=d!
set str=!str:麤=e!
set str=!str:毳=f!
set str=!str:淼=g!
set str=!str:掱=h!
set str=!str:焱=i!
set str=!str:垚=j!
set str=!str:煊=k!
set str=!str:烜=l!
set str=!str:煐=m!
set str=!str:焓=n!
set str=!str:烓=o!
set str=!str:焺=p!
set str=!str:瓛=q!
set str=!str:炜=r!
set str=!str:翙=s!
set str=!str:燚=t!
set str=!str:焜=u!
set str=!str:琰=v!
set str=!str:燊=w!
set str=!str:眚=x!
set str=!str:奡=y!
set str=!str:慤=z!
echo !str:~,-18! >>%c%.bat rem 脱掉两次替换时每行后生成的17位空格
endlocal
)
cls
echo.&echo.&echo.&echo.
echo 正在转换中请稳候...
ping /n 3 127.1 >nul
cls
echo.&echo.&echo.&echo.
echo 已解密完毕,解密后的文件为%c%.bat,按任意键退出。
pause >nul&goto :eof[ Last edited by zw19750516 on 2008-3-31 at 01:14 PM ]
