WeChall_Enlightment (Encoding)

 

解题:

  刚开始一看这题就蒙逼了,完全没思路,过了几天后再仔细去想想,应该是二进制的ascii码,但是原来的三张图虽然都是8的倍数,但完全转换不成有用的东西,题目的意思能否找到光,百度了一下关于三原色的知识,有如下图。  

 

有点思路了,三种颜色刚好对应数字的颜色,于是便想,将三个颜色的二进制数相同的位置统计1的数量,只要数量大于0,这点便取1,然后写了个python程序生成处理后的二进制串。

a = '00000000011000000110000000000000000000000100000000010000000000000111000000100100001000000110100100010000000000000010100101100101011001000010000000000000000000000101010000000000011000100010000100101100011000000101000000100000001010010000001000000000000000000000100100000010011101000010000101000000011000010100001000010100011000010100011000100000001000000000010000000010000101110000010101101000001010000010000001100100000000010000000001000010001011100000000001110100000000100010000000010100011000000100000100100000000001100010010001011000011101000010000000100011011101000100000100100111010001000000110000000000010001100010001100100000011101000100100001100001010100000100010100110010000010010000101000000000001000010000000000010000001100010010000100110000001100000001000000010001001000000000000000100001000000000010000000110001000100000000000000000000001000000011000000000001000100000001000100000000000100000011000100000000000000010011000000000000001000000000110100001000000100000001000000100000001000000011000000000001000000000000000100100000000100010010000000010000001000010001000100000001000100000011000000010001001100000000000000010001000000000000000000010000000000000000000100100001000000000011000000110001000000000011000000001000000000000000000000000000000100010011000000100000000100010000000000110000000100000010000100110000000100000010000000110000001100000001000100100000001000000001000000010000001000000000000000000000000100000010000000010000001100000001000100000000001000000001000000010000000010000000100000100000001100000001000000010000000000000000000000010000001100000000000000110001001000010001000100000000000100000000000000000000001100000001000100110001001100000000000100110000000100000011000000000000000100000001000100110000000100000011000000000000000100000000000100000000'
b = '01000001011010000010000000000000000000000000000101100100000000000100000000100100010001000000010000100010000000000011100101000110011000000000000000100101010011000010000000000000001100110100100101100000001001010000000001000000001010000010011001100110001000000110100001000100010000000100010100110010001000000010000000110000001010010110000000000101000000010000100000001000010101110010000101000100010011000010000001000000001001100000000001100000000011010000000000010000011011100010000001100000001000000100010000000000011011000100010100010000001100000000000000110000000100000110000101100000011001010000110000000000010001010100010100100000000001000110100000000101011100100110010000000000000011010000000000110000000000000001000000110000000000000011000000010000000000000001000000010000000000010001000000110000000100000001000000000000000100000001000100110000000100000011000000110000001000010010000000010000000100010000000100110000000100010010000000010000001100000000100000000010001000000011000000010001000100000001000000100000001100000001000000010000001100000001000000000000000100000001000100110000001000010011000000100000000100000011000000100000001100000011000000010000000100000011000100010001001100000010000000000001000000000000000000000100000000100011000000100001001100010010000000110000001000010001000100000000000000000000000000100001001000000001000000100000000000000000000100010000000100000010000100100000001000000011000000000000001100000000000000010000001000010011000100110000000000000011000100010000000011000000100000010000000100000000000100010000001100010001000100000001001000000011000000100001001000000011000000000000000100000010000000110000001000000010000100100000000000000001000000100000001100000000000000110000001100010001000100110000001000000001000000110000000000000000100000001000'
c = '01000001010000000110000100100001001000000000100001000100001000000101001101100001011000010100000101100011001000000110000001001101000100010000000001100011001000110011010000100000010100110010111001001001011000010110010000101000011010000110110000100001000000000010000000101010000100000010010100010000000001000001001101000100000000000110110001000110000000010000010100001000000000010110010101100100011000000010000000110000010011110010000001000101010010100010000001000100000010110010000000100000000010000010000000000000011001000110000001101000001000000000000001000000001000000110000000000101000001010010100000100000001001110000111000100000001100000000100000000100000100100000010000001010000001000000101000010000000100010010000000000000000100000000000000000000001100000010000000100000000100000010000000100001001100000010000000110001001100000010000000000001000100000010000000010001000000000001000100100000001100010000000000000000001100000001000000100000000100000000100100001000000000000000000000100000000000010001000000110000000100010010000100110000001000000001000000100001001000000011000000110000001000010011000000000000000000000010000000110000000000010011000000100000001100000010000000110000000000000000000000110001001100000001000100000101000010000000000000010001001000010000000100010000001000000010000000110000001100000001000000010000001000000011000000110001001000000011000000000000001000010010000000100000000100010001000100110000000000000001000000100000001000010010000100010000001100000011000000100000000001010000001000100000000000000011000000100000000100010010000000110000000000000011000000010000000100010010000000110000001100000011000000100000001000000000000100010001001100000010000000010000001100000000000000000000000000000010000000000001001000000000000000000000001000000000110000001010'

for i in range(len(a)):
    if int(a[i])+int(b[i])+int(c[i]) > 0:
        print('1',end = '')
    else:
        print('0',end = '')
        

 

得到的结果为:

01000001011010000110000100100001001000000100100101110100001000000111001101100101011001010110110101110011001000000111100101101111011101010010000001100111011011110111010000100000011100110110111101101101011001010111010001101000011010010110111001100111001000000110100101101110011101000110010101110010011001010111001101110100011010010110111001100111001000010000110100001010010101110110010101101100011011000010000001110100011011110010000001100111011011110010000001110100011011110010000001110100011010000110010100100000011011100110010101111000011101000010000001110011011101000110000101100111011001010010110000100000011001110110111100100000011101000110100001100101011100100110010100111010000011010000101000110000001100010011000000110000001100010011000100110000001100000011000000110001001100010011000000110001001100000011000000110001001100000011000100110001001100000011000000110001001100010011000100110000001100010011000100110000001100010011000000110000001100000000110100001010001100000011000000110001001100010011000000110001001100010011000100110000001100010011000000110001001100010011000100110001001100010011000000110001001100000011000000110001001100010011000000110000001100000011000100110001001100000011000000110001001100000011000100001101000010100011000000110001001100010011000100110000001100010011000100110000001100000011000100110001001100000011000000110001001100000011000100110000001100010011000100110000001100010011000100110000001100000011000000110000001100010011000100110000001100000011000100110000000011010000101000110000001100000011000100110000001100010011000100110001001100000011000000110001001100010011000100110000001100000011000000110000001100000011000100110001001100000011000100110000001100000011000000110000001100010011000100110001001100000011000000110000001100000000110100001010

在将串数放入JPocketKnife v4.06a软件将串按8位分组,然后用acsii解码,卧槽,hhh。

得到如下信息:

Aha! It seems you got something interesting!
Well to go to the next stage, go there:
01001100011010010110011101101000
00110111010111110100110001100101
01110110011001010110110000110010
00101110011100000110100001110000

再将解出的二进制串做相同处理。

得到:Ligh7_Level2.php

于是打开http://www.wechall.net/challenge/anto/enlightment/Ligh7_Level2.php

卧槽,居然还藏着第二个页面,这次字符串的颜色变了,再去找相关资料。

 

心里想着应该是一样的套路,看图的话,应该是三个加起来<3,用python输出后发现结果不对,试了下 and ,结果也不对,又试了下^ 符号,结果看起来挺正常的,用JPocketKnife v4.06a软件处理后,果然出来了结果。

 

a = '00111111100011011000011000101111001101001000000011010011100101000101010101011000000010111111001001110001001111000110100000001010010101010101111010010100100110000010000000100001000011100101011011001100011001101100001010101001000110011101111001101101110010100110110010000011000101010100111110010010010010001100000000000110010100110011000011011100000000110101010110011010111000010010001110001100010001101000101101101110110111000000100011000101110000011001110011001000101010011001010000111100110100000100111100011101010000000010000011001000011011011001010101110110110111010111111010111011011000010110000000010000000010011001010010011100010001000010011100111001100000001010011010111110101000010000111110111011010011010000001000010111010001001000100110000101111110101100100011000000100110101100010001010110011100001000011011001011101100110000000100010000100001001000001010011001010000100011100101011110'
b = '00100011111000111001101101001101000000101101111010100000111000011010001000100101111101011001101110000101010001100001000101011001001010011000001010101011001101110100011101110010000001000011101000111000100010101001000011000111110001110010000100011010100101100001111000100010100001100100011111100001101001001011000000100001000111010000100010000001100010001101000110101100000111010100010010111011000000110100100111011011001101111001110110101111000010010011000100010001100000000101100100000001001001111000010010011010000100010100010001010101010100100000000001111001110101001101100111010000100010000000011000110111101000000100000011110010101010000100100000110111000110100100100111000111110100110000110000100010010000101001000011000001001100011100110000111010100001100011110000110001101001111010001001011000000011011111110111100001000010011001110011000000111011000011100110000100101100011100101011101100'
c = '01001000000111000111010000010010010110100011101101011110001011011101101000110010101011000100010111010100000010000001000000110100000101001010100000000000101000100110110100010100011110000000100110010101100110000111001101001110100101101001101000000101001110010101001011001000111000000010100000000100100001000001000101010011011011100100000100110010111111101010010001000101100101000000100001000010001010011010011010010101100010011111000001001010101001001100001010110110010000101010010001010011100100001110101111100001001111100001011010110011000100011011101100000010000000111000010100101100100000000000101101001010110011001000101100101010100011010011000001000010111100111000100000010001000001100010000110010100000001011111011110111000000000010010000011001101010111001000000010011001010101000001010100101110000111000000100000001010110010101111110010100011000110111100110001110010100000011001011110010011'

for i in range(len(a)):
    if int(a[i])^int(b[i])^int(c[i]):
        print('1',end = '')
    else:
        print('0',end = '')

结果:

01010100011100100110100101110000011011000110010100101101010110000010110101001111010100100010110000100000011100100110100101100111011010000111010000111111000011010000101001000111011100100110010101100001011101000010000100100000010010000110010101110010011001010010000001101001011100110010000001110111011010000110000101110100001000000111100101101111011101010010000001110011011010000110111101110101011011000110010000100000011000100110010100100000011011000110111101101111011010110110100101101110011001110010000001100110011011110111001000101110001011100010111000001101000010100010001001000111011010010110110101101101011001010101111101000100011000010101111101001100011010010110011101101000011101000010001000001101000010100110010101101110011101000110010101110010001000000111010001101000011010010111001100100000011000010111001100100000011100000110000101110011011100110111011101101111011100100110010000100001

处理后得到:

Triple-X-OR, right?
Great! Here is what you should be looking for...
"Gimme_Da_Light"

 

hhh,问题解决了,至于为什么是异或,我也想不出原因= =!

 

posted @ 2016-09-09 15:01  zzzzzzzzhu  阅读(666)  评论(0编辑  收藏  举报