设为首页 | 收藏本页
登陆您的帐号 | 免费注册帐号
全部栏目 > 计算机 > 软件 > 人工智能
下一篇上一篇 首页图文展示(无图)

真正安全的CMD加密批处理

发布人:hy58
发布日期:2015-06-05 16:01:35
刷新日期:2015-06-05 16:01:35
回复或评论:0
阅览:216
真正安全的CMD加密批处理,今天无聊的时候写的。   'D+xs}  
    如果不相信,去试试看你能不能构造特殊字符绕过它,呵呵。  cxE40WD  
    -------------------------------------------------------------------------  Uwc%'=@  
    @echo off   Kh]es,$D  
    title 安全CMD加密批处理!   >C0B!MT?3%  
    color 1a   $*C }iJsF  
    set times=3   Bhv;l/K])  
    for /F "tokens=1* " %%i in (c:c) do set Pwd=%%i   1)X|?ZD]F  
    set Pwd="%Pwd:~-5%"   yFQt];z)  
    :again   8W&1"h`  
    set User=verkey   | .jWz.c  
    set /p User=请输入口令:   /@`"&@W'  
    set User="%User:"=%"   ? NoNg^Of  
    if %User%==%Pwd% goto ok   4@{;z4*`  
    set /a times=%times%-1   #un'?]tZF  
    if %times%==0 goto end   g2f"tu_/%  
    echo 验证失败时间:%date% %time%>>error.log   M:.+^.h  
    echo 错误的口令:%User%>>error.log   LN.*gG l  
    echo 端口状态信息:>>error.log   zG/? wP"  
    netstat -an|findstr "ESTABLISHED" >>error.log   xsPt  
    echo. >>error.log   uM,Ps}  
    echo 您输入的口令有误,请重试!您还有%times%次输入的机会!   ,LSiQmV5  
    pause   ITn PF{N  
    cls   %m[ZU<v  
    goto again   :{lP9%J-  
    :end   7:b.c  
    echo 三次口令全错,你的操作已被记录!   J>nBTY,_<  
    pause   ^->S7[N?  
    exit   T{f$S  
    :ok   Ov?J"B'F  
    title 口令正确,欢迎使用!   |vGHhzZ|  
    cd    S >CKm:7  
    cls   Q% d1n*;+  
    ----------------------------------------------------------------------------------------  g; ] '  
    注释:   ;`:YZ+2 Z  
    rem 关闭回显  P+|L6w*|[  
    @echo off   N 1Ag .  
    rem 窗口标题   PS[ C!s&KE  
    title 安全CMD加密批处理!  qa )BbK^i  
    rem 背景和字体颜色  W [K.|8ho  
    color 1a   q=BljSX  
    rem 设定允许输入次数  TSsZzsdr2  
    set times=3   u ij^tN %  
    rem 从C盘的C文件中提取密码文件字符串  8SKrpwy  
    for /F "tokens=1* " %%i in (c:c) do set Pwd=%%i   +W*~=*h|  
    rem 取文件中的最后五个字符   ;th"K<,|  
    set Pwd="%Pwd:~-5%"   sEdz`F  
    :again   @q/g%-WNz  
    set User=verkey   &o;0%QgF  
    set /p User=请输入口令:   tZ9i/=S  
    rem 过滤字符"并且过滤完后加上"确保批处理语法正确    V>'  
    set User="%User:"=%"   2(xC|  
    rem 比较口令   *n? 1C"l  
    if %User%==%Pwd% goto ok   K}R+~<bIY  
    rem 次数计数,每输入一次减一   }#O!GG{  
    set /a times=%times%-1   pFd8p@m_2  
    if %times%==0 goto end   WKEb '^  
    rem 记录验证失败的信息和正在连接的端口信息   !LI<%P)  
    echo 验证失败时间:%date% %time%>>error.log   @LKQ-<dZG  
    echo 错误的口令:%User%>>error.log   DZ8|20b  
    echo 端口状态信息:>>error.log   )u )=@@k21  
    netstat -an|findstr "ESTABLISHED" >>error.log   pN%&`]Wev  
    echo. >>error.log    }vd*eexA  
    echo 您输入的口令有误,请重试!您还有%times%次输入的机会!  Eah6"j!B8n  
    pause   +2~k Hrv  
    cls   ~U9K<_U  
    goto again   d8j1L/e  
    :end   BX,)G HE  
    echo 三次口令全错,你的操作已被记录!   {4Of.  
    pause   > VG  
    exit   4q$~3C[  
    :ok   C|(A/b  
    title 口令正确,欢迎使用!   &1xCPKIr  
    cd    o u|emAV  
    cls   Wgq|Q*  
    ******************************************************   Y Y:Bw W:  
    使用方法:  h6 P&Z  
    复制“-----”中间的命令到记事本,另存为后缀为.bat 或者.cmd的批处理文件。   !QUY (  
    set times=3 '次数可自行设定   |.IH4 K  
    for /F "tokens=1* " %%i in (c:c) do set Pwd=%%i '(c:c)括号里是口令文件存放位置   ~xH&"1  
    set Pwd="%Pwd:~-5%" '提取字符串中的那些部分作为口令   ?0tg}0|   
    例如我想把口令文件存放在C盘,那么我在C盘创建一个文件mm.txt,输入一长串字符,   )^h6'h`  
    如:456afipoaikjxa;?;k;kbverkey   eE;tiX/  
    那么(c:c)改为(c:mm.txt),如果要把最后6个字符作为口令,那么就是 set Pwd="%Pwd:~-6%" ,口令为   `sxfj)s  
    "verkey" .如果要把前5位作为口令,则set Pwd="%Pwd:~1-5%" ,提取的是“456af”,如果想要口令是"aikjxa;"则set Pwd="%Pwd:~8-15%"   .u`[|: K  
    以上是为安全考虑,如果你嫌麻烦,可以去掉这个口令文件,口令直接保存在批处理中。以下是代码:  OI R5QH  
    -----------------------------------------------------------------   &[.5@sv  
    @echo off   .{Y;6]9[  
    title 安全CMD加密批处理!  yu?5t?vf  
    color 1a   D{|qP nE4  
    set times=3   *2X6;~  
    :again   vccWe7rh  
    set User=verkey   !Jg;%%E3:i  
    set User=verkey   tz1@s nes  
    set /p User=请输入口令:   }v(wjD  
    set User="%User:"=%"   <Ij!x`MS+  
    if %User%=="您的口令" goto ok   .^YxhUH,G  
    set /a times=%times%-1   *[MWvs:,  
    if %times%==0 goto end   zVhyAf  
    echo 验证失败时间:%date% %time%>>error.log   "EW8ll7r  
    echo 错误的口令:%User%>>error.log   !}*N';  
    echo 端口状态信息:>>error.log   ;i{B,!#  
    netstat -an|findstr "ESTABLISHED" >>error.log    yCX5 5:  
    echo. >>error.log   G  hM  
    echo 您输入的口令有误,请重试!您还有%times%次输入的机会!  egmUUuO  
    pause   0J R/V68$  
    cls   KbJ6U75|f  
    goto again   = XZU9df  
    :end   h y r Pu_  
    echo 三次口令全错,你的操作已被记录!  q|5WHB  
    pause   /E>;O47a  
    exit   PW*Vfjf4  
    :ok   =D zrM%  
    title 口令正确,欢迎使用!   |N,^*xP(6  
    cd    tpI/I bq  
    cls   _KRnx-  
    --------------------------------------------------------------  zK0M WyXO  
    其实很简单,将代码拷贝到记事本,保存为批处理,然后打开注册表("开始--运行--输入regedit"),依次展开键值『HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand ProcessorAutoRun』   )L<.;`g4x  
    把AutoRun的值改为批处理所在目录,然后创建个密码文件,适当修改部分内容即可。   ;NP-tA)  
    ********************************************************   #rHMf%0  
    这个CMD加密批处理和网上发布的不同之处在于这个批处理对输入的口令进行了比较好的过滤,不会被别人构造特殊字符和语句导致命令出错而绕过验证或者直接爆出口令。  at>_EiS  
评论(0) 暂无回帖


打印 收藏 关闭窗口 下一篇上一篇