说下网鼎杯第四场的双色块
雙色塊
直到剛才我還一直以為標(biāo)題是雙色球。看到萌新在手動(dòng)搞這個(gè),還搞不出來。
雖然2345一直毀譽(yù)參半,不過好壓和這個(gè)看圖還是挺有用的。gif本來就是多幀圖像合起來的幻燈片,點(diǎn)擊“保存所有幀”可以直接切分成單幅,共576張。
用下面的腳本生成一個(gè)列表,當(dāng)然最后的輸入可以優(yōu)化一下,每24個(gè)輸出一次。python輸出列表有一個(gè)優(yōu)勢(shì)就是會(huì)自動(dòng)添加逗號(hào),這樣就容易寫成CSV文件,然后再Excel里使用條件格式將等于1或者等于0的涂黑。顯然這并不是條形碼。但發(fā)現(xiàn)每8個(gè)一組的情況下,第一位都是相同的。聯(lián)想ASCII的二進(jìn)制編碼,如果是可顯示字符的話,第一位就是0,那么就是綠色為0,紫色為1。改下輸出,用chr(int('0???????',2))轉(zhuǎn)化為字符,看著可能是base64或者DES。前者不對(duì),如果是后者,密碼在哪?
binwalk分析之后發(fā)現(xiàn)其實(shí)是雙圖拼接,后半段還有一個(gè)png,取出來就可以看到密碼。
1 """ 2 python3 code 3 """ 4 5 #!/usr/bin/env python 6 # -*- coding: utf-8 -*- 7 # @Author : B1u3Buf4(https://www.cnblogs.com/xiao3c/) 8 9 10 from PIL import Image 11 from pathlib import Path 12 13 14 p = Path('.') 15 tmp = [0 for i in range(576)] 16 for i in p.iterdir(): 17 if i.name[-3:] != '.py': 18 im = Image.open(i.name) 19 im = im.convert('RGBA') 20 cur = int(i.name[i.name.find('_')+1:i.name.find('.')]) - 1 21 #print(cur) 22 w, h = im.size 23 st = im.load() 24 flag = False 25 for x in range(w): 26 for y in range(h): 27 if st[x,y][1] > 250 and (st[x,y][0] < 10 and st[x,y][2] < 10): 28 if flag == False: 29 flag=True 30 tmp[cur] = 0 31 continue 32 if st[x,y][1] < 10 and (st[x,y][0] > 250 and st[x,y][2] > 250): 33 if flag == False: 34 flag=True 35 tmp[cur] = 1 36 continue 37 print(tmp)轉(zhuǎn)載于:https://www.cnblogs.com/xiao3c/p/9558789.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的说下网鼎杯第四场的双色块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Shell 判断数是否为某数的倍数
- 下一篇: 【Python+selenium Wen