OPEN - 正在試圖解這道題
CLOSED - 這道題還沒有打開
SOLVED - 解決了!鼓掌撒花!
Flag格式:MRCTF{}
起止時間:2020-03-27 18:00:00 - 2020-03-29 22:00:00
官網地址:https://merak-ctf.site/
參賽地址:https://merak-ctf.site/


在liunx 中使用binwalk -e 分解圖片,有了一個壓縮包,然后使用看圖Stegsolve
取出圖片,得到了zip密碼
!@#$%67*()-+

嗚嗚嗚太難了,后面看不懂,以為是rgb,弄出來也不是嗚嗚嗚
下載下來發現rar損壞,用winhex修復一下,解壓發現里面內容都消失了
然后使用winhex,發現他是有pk,壓縮格式,然后就改后綴名,找
最后找到了
使用翻譯網址
MRCTF{thEse_n0tes_ArE_am@zing~}
打開是一個程序,只需要把自己電腦時間改成2020/09/17就能獲得flag了
MRCTF{We1cOm3_70_cyber_security}
ezmisc | SOLVED |
import zlib
import struct
filename = 'flag.png'
with open(filename, 'rb') as f:
all_b = f.read()
crc32key = int(all_b[29:33].hex(),16)
data = bytearray(all_b[12:29])
n = 4095 #理論上0xffffffff,但考慮到屏幕實際/cpu,0x0fff就差不多了
for w in range(n): #高和寬一起爆破
width = bytearray(struct.pack('>i', w)) #q為8字節,i為4字節,h為2字節
for h in range(n):
height = bytearray(struct.pack('>i', h))
for x in range(4):
data[x+4] = width[x]
data[x+8] = height[x]
crc32result = zlib.crc32(data)
if crc32result == crc32key:
print("寬為:",end="")
print(width)
print("高為:",end="")
print(height)
exit(0)
高度問題,使用腳本算出高度,就能看到圖片露出flag
MRCTF{1ts_vEryyyyyy_ez!}
發現每個圖片放進winhex里面發現又zip,什么都分不出來,后來發現是zip分開放在3個圖片中,然后復制整合一下,就有了帶鎖的zip,用破解軟件,發現密碼1234,得到了
可惜還是不行嗚嗚嗚嗚,
求大哥救救
圖片和音樂中分離出來,2個文件,我覺得是兔子(rabbit)加密,
分離出來是這個key=U2FsdGVkX1/nSQN+hoHL8OwV9iJB/mSdKk5dmusulz4=
可惜還是不行嗚嗚嗚嗚,
求大哥救救
拼圖拿答案
請叫我拼圖大師~~~真的讓我徹夜未眠,嗚嗚嗚嗚
MRCTF{Why_4re_U_5o_ShuL1an??}
使用代碼
import zipfile,os def unzip(path,zfile): file_path=path+os.sep+zfile desdir=path print(desdir) srcfile=zipfile.ZipFile(file_path) for filename in srcfile.namelist(): srcfile.extract(filename,desdir,pwd= bytes(zfile.split(".")[0],"utf8")) if filename.endswith('.zip'): # if zipfile.is_zipfile(filename): path=desdir zfile=filename unzip(path,zfile) path="C:\\Users\\XMAO\\Desktop\\py" zfile="0020.zip" unzip(path,zfile)
解出一個rgb 得qr.txt
最后去掉所有得括號解得flag
from PIL import Image x = 400 #x坐標 通過對txt里的行數進行整數分解 y = 400 #y坐標 x * y = 行數 im = Image.new("RGB", (x, y)) #創建圖片 file = open('qr.txt') #打開rbg值的文件 #通過每個rgb點生成圖片 for i in range(0, x): for j in range(0, y): line = file.readline() #獲取一行的rgb值 rgb = line.replace("\n", "").split(", ") #分離rgb,文本中逗號后面有空格 print(rgb) if(rgb[0] == ''): continue im.putpixel((i, j), (int(rgb[0]), int(rgb[1]), int(rgb[2]))) im.show() #也可用im.save('flag.jpg')保存下來 im.save('flag.jpg')
MRCTF{ta01uyout1nreet1n0usandtimes}
題目給出一段錄音,初步判斷為一個電話號碼,后經過聽音鑒鍵,得到一個號碼,將其發送給公眾號得到一張圖片,圖片內容里就有flag
MRCTF{Oh!!!_Y0u_f1nd_my_secret}
題目給出一個文本,文本的內容判斷為9鍵的,解得mobilephond
然而這是錯誤的,於是根據單詞的意思,改為 mobilephone
提交成功 所以flag為
MRCTF{mobilephone}
題目給出天干地支+甲子,於是得到
根據ASCII碼轉換得GoodRob,提交發現並不是flag
轉換得Goodjob,非GoodRob
MRCTF{Goodjob}
題目給的提示是佛曰,解得:古典密碼好
題目給出一張圖片,是多種密碼混合在一起
藍色的是豬圈密碼,黃色的黑色的查了很久終於發現是聖堂武士和銀河密碼
解得FGCPFLIRTUASYON這么一串,題目又提示柵欄,於是柵欄解密后,得到FLAGISCRYPTOFUN提交后發現並不對。再次提交CRYOTIFUN,ok。
MRCTF{CRYPTOFUN}
謝謝觀看,客觀們
