找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28087|回复: 10

[其他] 批处理的这个密码难不难破解?

[复制链接]
发表于 2011-2-6 15:02:46 | 显示全部楼层 |阅读模式
大家看看  这个密码行不行
  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 编辑 ]
发表于 2011-2-6 16:09:08 | 显示全部楼层
查看批处理的源代码不就知道密码了?
 楼主| 发表于 2011-2-6 18:18:00 | 显示全部楼层

回复 2楼 的帖子

我用bat转EXE  转换后生成乱码 打开了也看不懂
发表于 2011-2-6 20:21:00 | 显示全部楼层
呵呵,bat转exe没用的,一行wmic命令轻松找到原文件

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

bat本身就是明文的,所以bat加密的性价比极低
发表于 2011-2-6 21:33:11 | 显示全部楼层
批处理bat转exe加密之后的解密破解还原方法
http://bbs.bathome.net/thread-3343-1-1.html
发表于 2011-2-7 02:00:03 | 显示全部楼层

标题

没看懂4楼的代码,wmic的什么命令?
发表于 2011-2-7 02:30:37 | 显示全部楼层
大部分情况下,获取在运行的bat完整路径可以用:
wmic process where "name='cmd.exe'" get commandline

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

评分

参与人数 1技术 +1 收起 理由
wangxiulin + 1 此2个技术分 特献上 真的是有技术啊

查看全部评分

发表于 2011-2-7 11:33:44 | 显示全部楼层
上网下载个下载率“低”的加密软件。或都说用未破解的(但是不是真正的未破解,就不得而知了)。像你说的这种几乎所有对P有了解的人都知道(不过对像要是不知道原理还可以)。尽量还是别用了。太大众化了
发表于 2011-2-7 13:48:30 | 显示全部楼层
用常规办法很难防特殊字符,不过对付万能密码其实只要从预处理机制下手就行了,想了三种方法,各有利弊,按实际需要酌情择用:

方法一:
  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技术 +1 收起 理由
wangxiulin + 1 谢谢

查看全部评分

发表于 2011-2-8 01:29:55 | 显示全部楼层
靠,发现我又绕弯了,其实这样就可以:
  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 编辑 ]
发表于 2011-2-8 20:05:24 | 显示全部楼层

回复 9楼 的帖子

可以试试你的加密能否顶得住以下几个方法
http://bbs.bathome.net/thread-6119-1-1.html
http://bbs.bathome.net/thread-8433-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 13:37 , Processed in 0.021634 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表