无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 6806|回复: 16
打印 上一主题 下一主题

[求助] 批处理能不能加入密码??

[复制链接]
跳转到指定楼层
1#
发表于 2006-10-31 17:15:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是运行批处理提示要输入密码,输入密码后才能完成?
2#
发表于 2006-10-31 17:43:49 | 只看该作者
可能
有一些软件可以将BAT.CMD文件转换成EXE
回复

使用道具 举报

3#
 楼主| 发表于 2006-10-31 17:50:32 | 只看该作者
原帖由 tensai 于 2006-10-31 05:43 PM 发表
可能
有一些软件可以将BAT.CMD文件转换成EXE

软件可以将BAT.CMD文件转换成EXE没有用 ,就是CMD中能不能加密码?

[ 本帖最后由 zqjiang 于 2006-10-31 06:01 PM 编辑 ]
回复

使用道具 举报

4#
发表于 2006-10-31 22:09:07 | 只看该作者
肯定可以的嘛,这还用问????有没有搞错!!!
回复

使用道具 举报

5#
 楼主| 发表于 2006-10-31 22:17:27 | 只看该作者
原帖由 弄潮儿-NET 于 2006-10-31 10:09 PM 发表
肯定可以的嘛,这还用问????有没有搞错!!!

能不能举个律子?
回复

使用道具 举报

6#
发表于 2006-10-31 23:05:34 | 只看该作者
CMD中加入密码好像没有什么用.
因为可以通过查看源码得到密码.
还有现在的什么BAT转EXE的软件也基本上没有什么用,即使你用这种软件加了密码还是一样可以得到源码.
给你个提示
set /p pass=请输入密码:
if "%pass%"=="1233456" echo 密码正确.
密码是123456
回复

使用道具 举报

7#
发表于 2006-10-31 23:09:49 | 只看该作者
  设置批处理密码其实没什么意义,因为代码都是明文保存的,就算是对代码进行了所谓的加密处理,都是可以还原出来的。不过,非纯DOS下,要实现对批处理设置密码并不是什么难事:

  1. @echo off
  2. :input
  3. cls
  4. set password=
  5. set /p password=请输入密码:
  6. if not "%password%"=="123" goto input
  7. ……
复制代码

  如果来了兴致,还可以设置最大重试次数:

  1. @echo off
  2. set times=0
  3. :input
  4. set /a times+=1
  5. cls
  6. set password=
  7. set /p password=请输入密码(最多只能重试3次):
  8. if %times% gtr 3 exit
  9. if not "%password%"=="123" goto input
  10. ……
复制代码


  发完之后抬头一看,原来楼上已经给出答案了,我的一些话也就重复了,不过没有抄袭:lol

[ 本帖最后由 namejm 于 2006-10-31 11:13 PM 编辑 ]
回复

使用道具 举报

8#
发表于 2006-11-1 00:16:09 | 只看该作者

有个问题,请帮忙

请问怎么在被处理输入密码用*号代替?
回复

使用道具 举报

9#
 楼主| 发表于 2006-11-2 13:03:12 | 只看该作者
多谢6楼和7楼的朋友,照你们的方法可以了,加密的安全性要求不高,着样就很好用了
回复

使用道具 举报

10#
发表于 2006-11-2 20:39:05 | 只看该作者
楼上的已经给了答案,而且是正解
回复

使用道具 举报

11#
发表于 2006-11-13 22:26:07 | 只看该作者
8楼的兄弟的问题蛮有意义的
一个完整的加密码代码应该将输入的密码内容变成*号
防止输入时被别人看到
明文显示密码似乎意义不大。用一就很容易被人看到引起失效
那个高手站出来继续将代码完善一下
期待中。。。。
回复

使用道具 举报

12#
发表于 2006-11-13 22:48:31 | 只看该作者
同样的期待!
回复

使用道具 举报

13#
发表于 2006-11-13 22:51:19 | 只看该作者
DOS 联盟由相关帖子,也能显示 * 密码的伪码,建议自己找找。不急的话,我明天找找我剽窃过来稍作修改过的版本。
回复

使用道具 举报

14#
发表于 2006-11-15 21:13:07 | 只看该作者
先谢楼主了,
回复

使用道具 举报

15#
发表于 2006-11-15 21:23:19 | 只看该作者
原帖由 老毛桃 于 2006-11-13 22:51 发表
DOS 联盟由相关帖子,也能显示 * 密码的伪码,建议自己找找。不急的话,我明天找找我剽窃过来稍作修改过的版本。

有了,我从 DOS 联盟整来的,稍微修改了一点,密码为 * 伪码显示,最大重试次数为 5 次,五次失败则自动重启。

  1. ECHO OFF

  2. REM 你的密码和密码长度(以 * 表示)
  3. REM 注意:密码必须为小写字母或数字
  4. CLS

  5. SET REAL_PASS=maotao
  6. SET REAL_LENGTH=******
  7. set errtimes=1

  8. echo e100 B4 00 CD 16 88 E0 B4 4C CD 21> scan.com
  9. for %%? in (rcx A w q) do echo %%?>> scan.com
  10. type scan.com |DEBUG scan.com > nul

  11. REM PreSet
  12. :pre
  13. for %%? in (pass length) do set user_%%?=

  14. REM CheckPass
  15. :loop
  16. set input=
  17. cls
  18. echo Please ENTER your password
  19. echo You have tried %errtimes%/5 time(s): %user_length%
  20. if "%user_pass%"=="%real_pass%" goto granted
  21. if "%user_length%"=="%real_length%" goto denied
  22. call scan.com
  23. if errorlevel=2 if not errorlevel=3 set input=1
  24. if errorlevel=3 if not errorlevel=4 set input=2
  25. if errorlevel=4 if not errorlevel=5 set input=3
  26. if errorlevel=5 if not errorlevel=6 set input=4
  27. if errorlevel=6 if not errorlevel=7 set input=5
  28. if errorlevel=7 if not errorlevel=8 set input=6
  29. if errorlevel=8 if not errorlevel=9 set input=7
  30. if errorlevel=9 if not errorlevel=10 set input=8
  31. if errorlevel=10 if not errorlevel=11 set input=9
  32. if errorlevel=11 if not errorlevel=12 set input=0
  33. if errorlevel=30 if not errorlevel=31 set input=a
  34. if errorlevel=48 if not errorlevel=49 set input=b
  35. if errorlevel=46 if not errorlevel=47 set input=c
  36. if errorlevel=32 if not errorlevel=33 set input=d
  37. if errorlevel=18 if not errorlevel=19 set input=e
  38. if errorlevel=33 if not errorlevel=34 set input=f
  39. if errorlevel=34 if not errorlevel=35 set input=g
  40. if errorlevel=35 if not errorlevel=36 set input=h
  41. if errorlevel=23 if not errorlevel=24 set input=i
  42. if errorlevel=36 if not errorlevel=37 set input=j
  43. if errorlevel=37 if not errorlevel=38 set input=k
  44. if errorlevel=38 if not errorlevel=39 set input=l
  45. if errorlevel=50 if not errorlevel=51 set input=m
  46. if errorlevel=49 if not errorlevel=50 set input=n
  47. if errorlevel=24 if not errorlevel=25 set input=o
  48. if errorlevel=25 if not errorlevel=26 set input=p
  49. if errorlevel=16 if not errorlevel=17 set input=q
  50. if errorlevel=19 if not errorlevel=20 set input=r
  51. if errorlevel=31 if not errorlevel=32 set input=s
  52. if errorlevel=20 if not errorlevel=21 set input=t
  53. if errorlevel=22 if not errorlevel=23 set input=u
  54. if errorlevel=47 if not errorlevel=48 set input=v
  55. if errorlevel=17 if not errorlevel=18 set input=w
  56. if errorlevel=45 if not errorlevel=46 set input=x
  57. if errorlevel=21 if not errorlevel=22 set input=y
  58. if errorlevel=44 if not errorlevel=45 set input=z
  59. if errorlevel=71 if not errorlevel=72 set input=7
  60. if errorlevel=72 if not errorlevel=73 set input=8
  61. if errorlevel=73 if not errorlevel=74 set input=9
  62. if errorlevel=75 if not errorlevel=76 set input=4
  63. if errorlevel=76 if not errorlevel=77 set input=5
  64. if errorlevel=77 if not errorlevel=78 set input=6
  65. if errorlevel=79 if not errorlevel=80 set input=1
  66. if errorlevel=80 if not errorlevel=81 set input=2
  67. if errorlevel=81 if not errorlevel=82 set input=3
  68. if errorlevel=82 if not errorlevel=83 set input=0
  69. if "%input%"=="" goto loop
  70. set user_length=*%user_length%
  71. set user_pass=%user_pass%%input%
  72. goto loop

  73. :granted
  74. echo Password is Right!
  75. goto pass_end

  76. :denied
  77. echo Password is Wrong!
  78. if "%errtimes%"=="0" goto err0
  79. if "%errtimes%"=="1" goto err1
  80. if "%errtimes%"=="2" goto err2
  81. if "%errtimes%"=="3" goto err3
  82. if "%errtimes%"=="4" goto err4
  83. if "%errtimes%"=="5" goto err5

  84. :err0
  85. set errtimes=1
  86. GOTO PRE
  87. :err1
  88. set errtimes=2
  89. GOTO PRE
  90. :err2
  91. set errtimes=3
  92. GOTO PRE
  93. :err3
  94. set errtimes=4
  95. GOTO PRE
  96. :err4
  97. set errtimes=5
  98. GOTO PRE
  99. :err5
  100. del scan.com
  101. ECHO Sorry, your password is not right !
  102. ECHO Please EXIT
  103. pause>NUL
  104. RESTART.COM

  105. :pass_end
  106. del scan.com
  107. for %%? in (pass length) do set user_%%?=
  108. for %%? in (pass length) do set real_%%?=
  109. echo Your password is right !
  110. pause>NUL
复制代码
回复

使用道具 举报

16#
发表于 2006-11-20 15:22:27 | 只看该作者
回复

使用道具 举报

17#
发表于 2006-12-6 23:05:45 | 只看该作者
这办法好,省得别人一不小心将系统恢复了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-2 10:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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