中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创][讨论]非编译型批处理加密方案与代码
« [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ... [25] »
作者:
标题: [原创][讨论]非编译型批处理加密方案与代码 上一主题 | 下一主题
cain
中级用户





积分 201
发帖 72
注册 2005-11-20
状态 离线
『第 61 楼』:  

最为关心的是:请问版主及yuanyong630等高手,如果用此工具将较为复杂的批处理加密后会不会出现运行错误等情况呢?

2006-7-26 21:04
查看资料  发短消息 网志   编辑帖子
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 62 楼』:  



  Quote:
Originally posted by cain at 2006-7-26 21:04:
最为关心的是:请问版主及yuanyong630等高手,如果用此工具将较为复杂的批处理加密后会不会出现运行错误等情况呢?

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

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

[ Last edited by pengfei on 2006-10-2 at 09:15 ]

2006-7-26 21:09
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子
voiL
中级用户





积分 384
发帖 189
注册 2005-10-19
状态 离线
『第 63 楼』:  

这方法在DOS下用type就能看到了,我觉得最好的还要算11楼3742668版主所提出的加密方法比较稳妥.毕竟没有哪位仁兄会在那么一大堆英文里慢慢找你的代码吧???

2006-7-27 03:57
查看资料  发短消息 网志   编辑帖子
yuanyong630
初级用户





积分 49
发帖 13
注册 2006-7-13
状态 离线
『第 64 楼』:  如果用此工具将较为复杂的批处理加密后 不会出现 任何问题

如果用此工具将较为复杂的批处理加密后 不会出现 任何问题

感谢“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

2006-7-27 06:35
查看资料  发送邮件  发短消息 网志   编辑帖子
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 65 楼』:  



  Quote:
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 ]

附件 1: EncryBat.rar (2006-7-29 18:33, 433 bytes, 下载附件所需积分 100 点 ,下载次数: 105)


※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-7-29 18:33
查看资料  发送邮件  发短消息 网志   编辑帖子
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 66 楼』:  

Re yuanyong630
        兄 34 楼代码我从9输到0便破解了,最坏的情况下从0输到9连续3次便可破解。好像你忘记了在适当的时候清空变量 d 。

        虽然我一直没有插言,但这个讨论是很有意思的,我偶尔也尝试加密一下。



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-7-29 22:29
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子
yuanyong630
初级用户





积分 49
发帖 13
注册 2006-7-13
状态 离线
『第 67 楼』:  感谢 两位 版主 willsort 和 无奈何

我的代码 的确有一些 BUG 感谢大家!使我学到了很多知识!感谢

2006-7-29 23:16
查看资料  发送邮件  发短消息 网志   编辑帖子
yuanyong630
初级用户





积分 49
发帖 13
注册 2006-7-13
状态 离线
『第 68 楼』:  很有趣的东西 大家分享 (其实只是雕虫小技)

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}

2006-7-29 23:20
查看资料  发送邮件  发短消息 网志   编辑帖子
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 69 楼』:  



  Quote:
Originally posted by willsort at 2006-7-29 18:33:

Re zxcv『第 14 楼』:

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

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

去掉“:EncryBat_Encryption”部分

自己真正使用的只留:

  Quote:
@echo off
if......
if......
:EncryBat_Display

就行了^_^

[ Last edited by zxcv on 2006-7-30 at 02:15 ]

2006-7-30 02:11
查看资料  发短消息 网志   编辑帖子
caiddy
新手上路





积分 2
发帖 1
注册 2006-7-31
状态 离线
『第 70 楼』:  

学习了。

2006-7-31 04:08
查看资料  发短消息 网志   编辑帖子
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 71 楼』:  我也发个批处理加密工具^_^

已修改在 74 楼...

[ Last edited by zxcv on 2006-8-3 at 21:15 ]

2006-8-2 10:44
查看资料  发短消息 网志   编辑帖子
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 72 楼』:  


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


Re zxcv:

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

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

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

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

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

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



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-8-3 17:26
查看资料  发送邮件  发短消息 网志   编辑帖子
TEMPlxj
初级用户





积分 48
发帖 20
注册 2005-8-19
状态 离线
『第 73 楼』:  

研究中`

2006-8-3 18:11
查看资料  发送邮件  发短消息 网志   编辑帖子
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 74 楼』:  

谢谢willsort版主的指正

修改如下:

  Quote:

  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]==[EncryBat] pause
  12. goto :eof

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

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

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

   此帖被 +8 点积分      点击查看详情   


附件 1: EncryBat.rar (2006-8-4 11:31, 430 bytes, 下载附件所需积分 1 点 ,下载次数: 1358)
2006-8-3 20:24
查看资料  发短消息 网志   编辑帖子
hxj
中级用户




积分 377
发帖 66
注册 2005-4-4
状态 离线
『第 75 楼』:  

用楼上的 EncryBat,加密后批处理在CMD窗口打开的图形菜单窗口文字出错!

2006-8-5 08:34
查看资料  发送邮件  发短消息 网志   编辑帖子
« [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ... [25] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: