中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-13 22:53
47,812 主题排行 / 349,916 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创][讨论]非编译型批处理加密方案与代码
可打印版本  117,523 / 364
第61楼 cain 发表于 2006-07-26 21:04
中级用户 发帖 72 积分 201
最为关心的是:请问版主及yuanyong630等高手,如果用此工具将较为复杂的批处理加密后会不会出现运行错误等情况呢?
第62楼 pengfei 发表于 2006-07-26 21:09
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
Originally posted by cain at 2006-7-26 21:04:
最为关心的是:请问版主及yuanyong630等高手,如果用此工具将较为复杂的批处理加密后会不会出现运行错误等情况呢?

应该不会,加密后只是在文件头部生成一段代码,当运行完这段代码后会提示出错

接着会执行下面的命令.而不会中断下面命令的执行.请放心好了.

[ Last edited by pengfei on 2006-10-2 at 09:15 ]
第63楼 voiL 发表于 2006-07-27 03:57
中级用户 发帖 189 积分 384
这方法在DOS下用type就能看到了,我觉得最好的还要算11楼3742668版主所提出的加密方法比较稳妥.毕竟没有哪位仁兄会在那么一大堆英文里慢慢找你的代码吧???
第64楼 yuanyong630 发表于 2006-07-27 06:35
初级用户 发帖 13 积分 49
如果用此工具将较为复杂的批处理加密后 不会出现 任何问题
如果用此工具将较为复杂的批处理加密后 不会出现 任何问题

感谢“pengfei”

最后我带来了一段代码 大家猜猜密码是多少?(很简单的)

@echo off
set a=1
set d=0
:sub
cls
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
choice /c:1234567890 /n . 请输入DOS进入密码(3-%a%):

if errorlevel 10 goto 10
if errorlevel 9 goto 9
if errorlevel 8 goto 8
if errorlevel 7 goto 7
if errorlevel 6 goto 6
if errorlevel 5 goto 5
if errorlevel 4 goto 4
if errorlevel 3 goto 3
if errorlevel 2 goto 2

if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:10
if %d%==2 set d=3
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:9
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:8
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:7
if %d%==0 set d=1
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:6
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:5
if %d%==1 set d=2
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:4
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:3
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:2
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:run
if %d%==3 goto end
cls
@echo 密码不对,请重新输入!!!
pause >nul
goto sub

:end
第65楼 willsort 发表于 2006-07-29 18:33
元老会员 发帖 1,512 积分 4,432
Originally posted by zxcv at 2006-7-23 16:10:
更简单的:
新建一个“a.txt”文本打开,复制【ൡ挊獬਍】(不含【】),粘贴到“a.txt”文本中保存时提示“含有Unicode字符....”,选“取消”,编码改为“Unicode”保存

批处理:copy/b a.txt+要加密.bat 加密.bat

Re zxcv『第 14 楼』:

根据你的方案制作了一个自动化较高的密码器脚本,因为它是使用自身作为加密用的密钥,所以本身也是一段密文,因此无法转贴代码,只能上传附件了。

[ Last edited by willsort on 2006-7-29 at 18:35 ]

附件
EncryBat.rar (433 bytes)
第66楼 无奈何 发表于 2006-07-29 22:29
荣誉版主 发帖 356 积分 1,338
Re yuanyong630
兄 34 楼代码我从9输到0便破解了,最坏的情况下从0输到9连续3次便可破解。好像你忘记了在适当的时候清空变量 d 。

虽然我一直没有插言,但这个讨论是很有意思的,我偶尔也尝试加密一下。
第67楼 yuanyong630 发表于 2006-07-29 23:16
初级用户 发帖 13 积分 49
感谢 两位 版主 willsort 和 无奈何
我的代码 的确有一些 BUG 感谢大家!使我学到了很多知识!感谢
第68楼 yuanyong630 发表于 2006-07-29 23:20
初级用户 发帖 13 积分 49
很有趣的东西 大家分享 (其实只是雕虫小技)
md .\拨号网络.{992CFFA0-F557-101A-88EC-00DD010CCC48}

md .\打印机.{2227A280-3AEA-1069-A2DE-08002B30309D}

md .\回收站.{645FF040-5081-101B-9F08-00AA002F954E}

md .\计划任务.{D6277990-4C6A-11CF-8D87-00AA0060F5BF}

md .\控制面版.{21EC2020-3AEA-1069-A2DD-08002B30309D}

md<nul>nul .\网络邻居.{208D2C60-3AEA-1069-A2D7-08002B30309D}

md<nul>nul .\我的电脑.{20D04FE0-3AEA-1069-A2D8-08002B30309D}

md<nul>nul .\我的文档.{450D8FBA-AD25-11D0-98A8-0800361B1103}

md<nul>nul .\公文包.{85bbd920-42a0-1069-a2e4-08002b30309d}
第69楼 zh159 发表于 2006-07-30 02:11
金牌会员 发帖 1,467 积分 3,687
Originally posted by willsort at 2006-7-29 18:33:

Re zxcv『第 14 楼』:

根据你的方案制作了一个自动化较高的密码器脚本,因为它是使用自身作为加密用的密钥,所以本身也是一段密文,因此栮..

改一下:if not == if exist %1 copy /b "%~f0"+%1 enc_%1>nul&echo. Enc_%1 is create.&goto :eof

去掉“:EncryBat_Encryption”部分

自己真正使用的只留:
@echo off
if......
if......
:EncryBat_Display
就行了^_^

[ Last edited by zxcv on 2006-7-30 at 02:15 ]
第70楼 caiddy 发表于 2006-07-31 04:08
新手上路 发帖 1 积分 2
学习了。
第71楼 zh159 发表于 2006-08-02 10:44
金牌会员 发帖 1,467 积分 3,687
我也发个批处理加密工具^_^
已修改在 74 楼...

[ Last edited by zxcv on 2006-8-3 at 21:15 ]
第72楼 willsort 发表于 2006-08-03 17:26
元老会员 发帖 1,512 积分 4,432

───────────────── 版务记录 ─────────────────
执行:Will Sort
操作:合并主题 {21804}不转换.bat,怎样防止他人查看修改其内容? -> 1~26楼
   合并主题 {22053}发个批处理加密工具 -> 27~70楼
   合并主题 {22254}我也发个批处理加密工具^_^ -> 71楼
说明:操作主题与本主题存在上下文的直接联系
───────────────── 版务记录 ─────────────────


Re zxcv:

你的修改有小小的问题,在 “if not == if exist %~f1” 一句中使用了增强的命令行参数引用(%~1),则其需要使用引号扩起,防止参数为含有空格文件名时语法错误的发生。如下:

if not "%~n1"=="" if exist "%~f1" ...

如果使用原型的参数引用(%1),则因为系统或者调用者自动为含有空格的参数补加了引号,此时不能再使用引号,否则会因为引号的错误匹配,使参数中的空格暴露出来。例如:

if not ""space file name""=="" if exist ""space file name"" ... (语法错)

如果使用增强的参数引用(%~1),则因为含有空格的参数中的引号会被系统自动脱去,此时必须使用引号,否则会因为没有引号的保护,使参数中的空格暴露出来。

if not == if exist space file name ... (语法错)
第73楼 TEMPlxj 发表于 2006-08-03 18:11
初级用户 发帖 20 积分 48
研究中`
第74楼 zh159 发表于 2006-08-03 20:24
金牌会员 发帖 1,467 积分 3,687
谢谢willsort版主的指正

修改如下:


  1. @echo off
  2. if not "%~n0"=="EncryBat" goto EncryBat_Display
  3. if not "%~n1"=="" if exist "%~f1" copy/b "%~f0"+"%~f1" "%~dp1enc_%~nx1">nul 2>nul&cls&echo.&echo. Enc_%~nx1 is create.&goto :eof

  4. :EncryBat_Help
  5. echo.
  6. echo %~n0 - Cryptographic machine for batch program
  7. echo zxcv@cn-dos, willsort@cn-dos - 2006-8-4 - CMD@WinXP
  8. echo.
  9. echo Useage: %~n0 batch_program_with_extname
  10. echo Reference: http://www.cn-dos.net/forum/viewthread.php?tid=22053
  11. if /i not [%0]== pause
  12. goto :eof

  13. :EncryBat_Display
zxcv发表于: 2006-08-04 11:20


修正含空格文件名不能生成加密文件错误

[ Last edited by zxcv on 2006-8-4 at 11:31 ]

附件
EncryBat.rar (430 bytes)
第75楼 hxj 发表于 2006-08-05 08:34
中级用户 发帖 66 积分 377
用楼上的 EncryBat,加密后批处理在CMD窗口打开的图形菜单窗口文字出错!
上一页  12 3 4 5 6 7 825  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023