Thursday, March 5, 2009

HTS Prog 10 & 12 Done

先做的12
题目很简单,但是很长,长得让人觉得啰嗦
无非就是取出单个的素数合数,然后分别求和再乘积
最后取全串前25个非数字的字符,分别ascii ++
合并

仅此而已
没觉得有多大意义



10
题目也不算复杂,但是很难想到
主要是ie对png支持不好,于是第一次下下来的是一个bmp文件,ie转换后的
winhex打开,跳到最后往前看
结果发现,居然颜色代码都是连续的
于是思路很简单了
下个png版的,然后gd载着,逐行把imagecolorat的结果echo出来,看看结果
很明显的,每行都有个很诡异的数字
取一下这个数字所在的offset
并不是所有行都有这个数字的
所以,取出那么多行的就是了
然后转成ascii的字符
于是,很明显的编码痕迹
decode
一个超长hash
绝对不是md5,反正也是一种通用hash算法
既然它提示了密码的结构

那就for 两个range(a,z)和range(A,Z)
然后排列呗
算法很简单

111000
从左往右扫
第一个 10 的组合 换成 01 -> 110100
同时这个左侧的1全都从最左侧起重排
结果就是
110100
101100
011100
110010
101010
011010
100110
010110
001110
110001
101001
011001
100101
010101
001101
100011
010011
001011
000111

组合呗

算法跟prog5其实类似
不过很不幸的是,prog5的某个字符的个数实在太少了,导致0.1s搞定的可能性太大了

有了结果的组合,有了hash算法
无非就是爆破

跑吧

so easy.

No comments:

Post a Comment