|
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 |
|
|
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位(空格隔开的)
然后再根据批处理习惯特征来判断吧:
比如
既然出现了">"符号 很容易让我们尝试 ">nul"
那么 我就可以先假定密文的第 18位为n 密文 第一位为 u 密文第五位 为l
依次类推:
Quote: | &%.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 楼』:
Quote: | 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 楼』:
Quote: | 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 楼』:
Quote: | 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 楼』:
Quote: | 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 楼』:
Quote: | Originally posted by pusofalse at 2008-6-23 10:43 PM:
^_^ 我看过你的那篇帖子。。。愣是没找到要解密的东东在哪~ |
|
在的,要解密的部分我贴出来了, 这儿的楼主也解了1-2步, 但没解到我要求的那一步,绝对不比这儿复杂,但比这儿繁。
原帖在这儿:http://www.cn-dos.net/forum/viewthread.php?tid=41040&fpage=4
[ 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 楼』:
Quote: | 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 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
29 楼』:
Quote: | Originally posted by PPdos at 2008-6-23 21:22:
迟到了。。没赶上**!
楼上写出来 我就说下思路好了
因为变量是有序赋值的 所以找到出现的最大位数 即33
也就是密文最少要33位(空格隔开的)
... |
|
解的思路正确,也为我下一步加密提了好的意见(我将改得更加面目全非)
|
批处理之家新域名:www.bathome.net |
|
2008-6-24 02:15 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
|
2008-6-24 02:45 |
|