[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
呵呵,bat转exe没用的,一行wmic命令轻松找到原文件

或者用万能密码:
1" neq "" cls&call type %0&pause>nul&

bat本身就是明文的,所以bat加密的性价比极低

TOP

大部分情况下,获取在运行的bat完整路径可以用:
wmic process where "name='cmd.exe'" get commandline

万能密码就是给电脑一个错觉,6楼可以输入这个当密码试试:
1"=="1" (echo 已破解)&if not "
1

评分人数

    • wangxiulin: 此2个技术分 特献上 真的是有技术啊技术 + 1

TOP

用常规办法很难防特殊字符,不过对付万能密码其实只要从预处理机制下手就行了,想了三种方法,各有利弊,按实际需要酌情择用:

方法一:
  1. @echo off
  2. set /p cc=请输入密码
  3. for /f %%a in ("%cc%") do if "%%a"=="mima" (echo 正确) else echo 错误
  4. pause
  5. ::仍然存在1") do pause &的漏洞
复制代码


方法二:
  1. @echo off
  2. set /p=请输入密码=<nul
  3. more<con >tmp.tmp
  4. findstr "^mima$" tmp.tmp&&(echo 正确)||echo 错误
  5. pause
  6. ::输完密码还要ctrl+z结束
复制代码


方法三:
  1. @echo off&setlocal enabledelayedexpansion
  2. set str=1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  3. for %%a in (%str%) do (set /a n+=1)&set .!n!=%%a
  4. for %%a in (23 19 23 11) do (
  5.     cls
  6.     choice /c %str: =% /n /cs /m "请输入密码 !input!"
  7.     set /a "true=true|(^!^!(%%a-!errorlevel!))"
  8.     for %%z in (.!errorlevel!) do set input=!input!!%%z!
  9.     )
  10. )
  11. cls&echo 请输入密码 %input%
  12. if "%true%"=="0" (echo 正确) else echo 错误
  13. pause&exit
  14. ::效率很低,而且不支持特殊字符
复制代码

[ 本帖最后由 zm900612 于 2011-2-7 14:01 编辑 ]
1

评分人数

TOP

靠,发现我又绕弯了,其实这样就可以:
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p cc=请输入密码
  3. if "!cc!"=="mima"  (echo 正确) else echo 错误
  4. pause>nul
复制代码
因为变量扩展是先解释语句后解释变量

刚刚转了一圈,发现这办法早已有前辈提出了,呵呵,看来我的思维慢了不止一拍

[ 本帖最后由 zm900612 于 2011-2-9 01:32 编辑 ]

TOP

返回列表