中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 也来玩把加密新思路: 上一主题 | 下一主题
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 16 楼』:  

暂时看不懂. 不过我看不懂的东西, 应该都是好东西. 再加上楼主帮助过我, 顶了再说.




我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-23 17:40
查看资料  发短消息  网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 17 楼』:  

下面这个就是我用这个思路写的批量加密程序加密的一个小批处理,大家试试着破解下看:
@echo off
set /p code=请输入运行密码:
cls&call :zw
%.33%%.31%%.4%%.25%%.10% %.10%%.14%%.14%&%.19%%.31%%.6%%.5%%.10%%.4%%.27%%.5% %.31%%.18%%.27%%.32%%.5%%.31%%.22%%.31%%.5%%.27%%.17%%.31%%.22%%.31%%.15%%.2%%.27%%.18%%.19%%.13%%.10%%.18%
%.19%%.31%%.6% "%.30%%.27%%.28%=%.11% %.29% * %.24%"
for /f "tokens=1-4 delims= " %%a in ("%var%") do call :lp %%a %%b %%c %%d
%.2%%.27%%.1%%.19%%.31%>%.18%%.1%%.5%&%.8%%.10%%.6%%.10% :%.31%%.10%%.14%
:lp
for /l %%i in (1,1,9) do (
    for /l %%j in (1,1,%%i) do (
        set /a a=%%i%1%%j
        %.13%%.14% !%.27%! %.5%%.19%%.19% 10 %.19%%.31%%.6% %.27%= !%.27%!
        set str=!str! %%i%1%%j=!a!
        if %%i equ %%j echo !str!&set "str="
    )
)
if "%1" equ "/" goto :eof
%.19%%.25%%.13%%.14%%.6%
goto lp
pause>nul&goto :eof
:zw
for %%i in (%code%) do (set /a n+=1&call,set .%%n%%=%%i)
破解(不是猜)出来的,没说的我加15分。 [ Last edited by zw19750516 on 2008-6-23 at 05:56 PM ]




批处理之家新域名:www.bathome.net
2008-6-23 17:54
查看资料  发送邮件  发短消息  网志  OICQ (841615149)  编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 18 楼』:  

u p 运 c l t 运 g 运 o + 运 i f x 运 y n s 运 运 d 运 / h 运 a r - v e b @ 没有用到的都用“运”字代替了~ 九九法则~^_^


   此帖被 +6 点积分       点击查看详情   
评分人:【 PPdos 分数: +6  时间:2008-6-23 20:52




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-6-23 20:06
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 19 楼』:  

迟到了。。没赶上**! 楼上写出来 我就说下思路好了 因为变量是有序赋值的 所以找到出现的最大位数 即33 也就是密文最少要33位(空格隔开的) 然后再根据批处理习惯特征来判断吧: 比如
>%.18%%.1%%.5%
既然出现了">"符号 很容易让我们尝试 ">nul" 那么 我就可以先假定密文的第 18位为n 密文 第一位为 u 密文第五位 为l 依次类推:
&%.8%%.10%%.6%%.10% :%.31%%.10%%.14%
出现了衔接符号& 和标签 标记冒号":" 我们调用标签除了goto 就是call goto 的形式 很满足 8 10 6 10 所以我们假定 密文第8位 为"g" 第十位为"o" 第六位为 "t" 如果不是靠猜 那还真难弄出来 [ Last edited by PPdos on 2008-6-23 at 02:24 PM ]




菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
2008-6-23 21:22
查看资料  发短消息  网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 20 楼』:  

天哪,看了解释也看不懂啊。哪位好心人能耐心解释下,让我这个老年纪的人也学学吗? 特别是 %.33%%.31%%.4%%.25%%.10% 这种咚咚,看了就犯晕,整个儿就是云里雾里,楞是不懂啥名堂。 我想从简单的学起, 也就是楼主的第一个例子开始。 [ Last edited by quya on 2008-6-23 at 09:32 PM ]




我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-23 21:30
查看资料  发短消息  网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 21 楼』:  

Originally posted by quya at 2008-6-23 09:30 PM: 天哪,看了解释也看不懂啊。哪位好心人能耐心解释下,让我这个老年纪的人也学学吗? 特别是 %.33%%.31%%.4%%.25%%.10% 这种咚咚,看了就犯晕,整个儿 ...
@echo off set /p code=请输入运行密码: cls&call :zw %.33%%.31%%.4%%.25%%.10% %.10%%.14%%.14%&%.19%%.31%%.6%%.5%%.10%%.4%%.27%%.5% %.31%%.18%%.27%%.32%%.5%%.31%%.22%%.31%%.5%%.27%%.17%%.31%%.22%%.31%%.15%%.2%%.27%%.18%%.19%%.13%%.10%%.18% %.19%%.31%%.6% "%.30%%.27%%.28%=%.11% %.29% * %.24%" for /f "tokens=1-4 delims= " %%a in ("%var%") do call :lp %%a %%b %%c %%d %.2%%.27%%.1%%.19%%.31%>%.18%%.1%%.5%&%.8%%.10%%.6%%.10% :%.31%%.10%%.14% :lp for /l %%i in (1,1,9) do ( for /l %%j in (1,1,%%i) do ( set /a a=%%i%1%%j %.13%%.14% !%.27%! %.5%%.19%%.19% 10 %.19%%.31%%.6% %.27%= !%.27%! set str=!str! %%i%1%%j=!a! if %%i equ %%j echo !str!&set "str=" ) ) if "%1" equ "/" goto :eof %.19%%.25%%.13%%.14%%.6% goto lp pause>nul&goto :eof :zw for %%i in (%code%) do (set /a n+=1&call,set .%%n%%=%%i) 红色那句,对输入的code依次进行赋值... 比如code的值是a b c d e f g。。。。。。。。。。10(10在第33位) 当n等于1时 .1的值就是a 当n等于2时 .2的值就是b 当n等于3时 .3的值就是c .... ..... 当n等于33时 .33的值就是10 依次。。。直到全部赋值完毕 然后返回主过程,继续向下执行。。。 %.33% 会扩展为10 比如%.31%的值为h %.4%的值为z %.25%的值为l %.10%的值为w %.33%%.31%%.4%%.25%%.10%相当于执行10hzlw,这不是命令,所以会出现“不是内部或外部命令”的错误信息。。。 只有在赋值正确之后才会正确执行 正确的赋值应该是: .33=@ .31=e .4=c .25=h .10=o 所以%.33%%.31%%.4%%.25%%.10% 就是@echo 正确的命令。。。 而赋值是否正确,完全取决于输入密码时的字符顺序~ 隐藏符号@只有在33位时才会被正确赋值。。。依此。。。 我讲的太繁琐。。。




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-6-23 22:01
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 22 楼』:  

我太笨了,还是不懂。 我只知道 %x%, %y%, %%i, %i, %0 , %1, %2 之类的, 不懂 %.31%, 难道这个 .31和上面我列出的一样意思? 我钻牛角尖了, 因为我从来没看到过变量取.31这样的, 我一直以为那个“.”很高深莫测, 难道我想歪了?? 还有 !_5!!_3! 中的“_”也是莫测高深,难道不是? 阿门! [ Last edited by quya on 2008-6-23 at 10:16 PM ]




我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-23 22:13
查看资料  发短消息  网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 23 楼』:  

Originally posted by quya at 2008-6-23 10:13 PM: 我太笨了,还是不懂。 我只知道 %x%, %y%, %%i, %i, %0 , %1, %2 之类的, 不懂 %.31%, 难道这个 .31和上面我列出的一样意思? 我钻牛角尖了, 因为我从来没 ...
想复杂了~ 完全可以把.或_去掉~




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-6-23 22:18
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 24 楼』:  

Originally posted by pusofalse at 2008-6-23 10:18 PM: 想复杂了~ 完全可以把.或_去掉~
谢谢, 这样我就可以慢慢看了, 我一上来就失去了信心。 不懂再向各位请教, 再次感谢。 另, 我有一点想不通,我的加密没这么复杂, 怎么到现在也没人破我的。




我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-23 22:22
查看资料  发短消息  网志   编辑帖子  回复  引用回复
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 25 楼』:  

老土神仙 这里是给.赋值阿
set .=haha
echo %.%




菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
2008-6-23 22:31
查看资料  发短消息  网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 26 楼』:  

Originally posted by quya at 2008-6-23 10:22 PM: 谢谢, 这样我就可以慢慢看了, 我一上来就失去了信心。 不懂再向各位请教, 再次感谢。 另, 我有一点想不通,我的加密没这么复杂, 怎么到现在也没人破我的。
^_^ 我看过你的那篇帖子。。。愣是没找到要解密的东东在哪~




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-6-23 22:43
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 27 楼』:  

Originally posted by pusofalse at 2008-6-23 10:43 PM: ^_^ 我看过你的那篇帖子。。。愣是没找到要解密的东东在哪~
在的,要解密的部分我贴出来了, 这儿的楼主也解了1-2步, 但没解到我要求的那一步,绝对不比这儿复杂,但比这儿繁。 原帖在这儿:www.cn-dos.net/forum/viewthrea ... [ Last edited by quya on 2008-6-26 at 06:39 PM ]




我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-23 22:51
查看资料  发短消息  网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 28 楼』:  

Originally posted by pusofalse at 2008-6-23 20:06: u p 运 c l t 运 g 运 o + 运 i f x 运 y n s 运 运 d 运 / h 运 a r - v e b @ 没有用到的都用“运”字代替了~ 九九法则~^_^
我的贴子兄弟基本上都关注过,为防别人猜出来,我还是做了点手脚,如兄弟是解出来的,请贴出这个批处理的原文,也许我还真的是以小人之心度君子之腹了,但兄弟的解是不完全对的,其实这只是给大家看一看我做的这个批量加密程序的效果,如真要求解码,绝对不会是这么简单的事的。




批处理之家新域名:www.bathome.net
2008-6-24 02:12
查看资料  发送邮件  发短消息  网志  OICQ (841615149)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 29 楼』:  

Originally posted by PPdos at 2008-6-23 21:22: 迟到了。。没赶上**! 楼上写出来 我就说下思路好了 因为变量是有序赋值的 所以找到出现的最大位数 即33 也就是密文最少要33位(空格隔开的) ...
解的思路正确,也为我下一步加密提了好的意见(我将改得更加面目全非)




批处理之家新域名:www.bathome.net
2008-6-24 02:15
查看资料  发送邮件  发短消息  网志  OICQ (841615149)  编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 30 楼』:  这是源代码

@echo off&setlocal enabledelayedexpansion
set "var=+ - * /"
for /f "tokens=1-4 delims= " %%a in ("%var%") do call :lp %%a %%b %%c %%d
pause>nul&goto :eof
:lp
for /l %%i in (1 1 9) do (
    for /l %%j in (1 1 %%i) do (
        set/a a=%%i%1%%j
        if !a! lss 10 set a= !a!
        set str=!str! %%i%1%%j=!a!
        if %%i equ %%j echo !str!&set "str="
)
)
if "%1" equ "/" goto :eof
shift
goto lp
pause>nul&goto :eof
[ Last edited by pusofalse on 2008-6-24 at 02:47 AM ]


   此帖被 +15 点积分         点击查看详情   
评分人:【 bat-zw 分数: +15  时间:2008-6-24 14:24




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-6-24 02:45
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: