Board logo

标题: [其他] 批处理的这个密码难不难破解? [打印本页]

作者: wangxiulin    时间: 2011-2-6 15:02     标题: 批处理的这个密码难不难破解?

大家看看  这个密码行不行
  1. @echo off
  2. goto u
  3. :b
  4. msg * "SORRY"
  5. :u
  6. set /p cc=
  7. if "%cc%"=="mima" goto :b
  8. echo 输入错误 重新输入
  9. goto u
复制代码
必须输入mima才能打开一个提示框 这个密码难不难破解BAT

[ 本帖最后由 wangxiulin 于 2011-2-6 15:04 编辑 ]
作者: semiuel    时间: 2011-2-6 16:09

查看批处理的源代码不就知道密码了?
作者: wangxiulin    时间: 2011-2-6 18:18     标题: 回复 2楼 的帖子

我用bat转EXE  转换后生成乱码 打开了也看不懂
作者: CrLf    时间: 2011-2-6 20:21

呵呵,bat转exe没用的,一行wmic命令轻松找到原文件

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

bat本身就是明文的,所以bat加密的性价比极低
作者: Batcher    时间: 2011-2-6 21:33

批处理bat转exe加密之后的解密破解还原方法
http://bbs.bathome.net/thread-3343-1-1.html
作者: 女孩不哭    时间: 2011-2-7 02:00     标题: 标题

没看懂4楼的代码,wmic的什么命令?
作者: CrLf    时间: 2011-2-7 02:30

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

万能密码就是给电脑一个错觉,6楼可以输入这个当密码试试:
1"=="1" (echo 已破解)&if not "
作者: wc726842270    时间: 2011-2-7 11:33

上网下载个下载率“低”的加密软件。或都说用未破解的(但是不是真正的未破解,就不得而知了)。像你说的这种几乎所有对P有了解的人都知道(不过对像要是不知道原理还可以)。尽量还是别用了。太大众化了
作者: CrLf    时间: 2011-2-7 13:48

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

方法一:
  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 编辑 ]
作者: CrLf    时间: 2011-2-8 01:29

靠,发现我又绕弯了,其实这样就可以:
  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 编辑 ]
作者: Batcher    时间: 2011-2-8 20:05     标题: 回复 9楼 的帖子

可以试试你的加密能否顶得住以下几个方法
http://bbs.bathome.net/thread-6119-1-1.html
http://bbs.bathome.net/thread-8433-1-1.html




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2