2021祥雲杯 Misc鳴雛戀


鳴雛戀 WP

解壓后得到 鳴雛戀.docx,使用010Editor打開發現前綴為zip文件

image

修改文件后綴解壓后得到如圖的文件夾

image

在_rels文件夾下獲得key.txt文件,使用010Editor打開,發現有大量空白字符,便想到寬字符隱寫

image

在網站上http://330k.github.io/misc_tools/unicode_steganography.html進行處理

image

得到解壓密碼 Because I like naruto best

解壓love.zip后得到如下的文件

image

根據壓縮包out和圖片遞增順序,猜測是由二維碼等大量信息轉換為圖片格式,編程Python代碼將雛田看做0,鳴人看做1,依次遍歷轉化為01串,以txt形式存儲

# 遍歷代碼
import os
import csv
import numpy
import pandas as pd
from PIL import Image
limit = 360

def trans_data_to_pair(data, index): # 將一維數組data  切分成index大小的二維數組
    contents = [
        data[i:i + index] for i in range(0, len(data), index)
    ]
    while len(contents[-1]) < limit:
        contents[-1].append(0)
    #print(len(contents))
    return contents

def detech_image(image_path):
    tmp = []
    my_txt = ""
    chutian = Image.open(os.path.join(image_path, "0.png"))
    mingren = Image.open(os.path.join(image_path, "1.png"))
    for root, dirs, files in os.walk(image_path):
        files.sort(key = lambda x:int(x[:-4])) # 從0遍歷到末尾的順序 不要刪這個!!!
        for file in files:
            image = Image.open(os.path.join(root, file))
            if (image.size == chutian.size): # 如果是雛田 那么這個位置是0
                tmp.append(255)
                my_txt += "0"
            else: # 如果是鳴人這個位置是1
                tmp.append(0)
                my_txt += "1"
    with open("my.txt", "w+") as f:
        f.write(my_txt)
    # QRcode = trans_data_to_pair(tmp, limit)
    # im = Image.fromarray(numpy.asarray(QRcode)).convert("L")
    # im.save('QRcode.png')



if __name__ == "__main__":
    detech_image(r"C:\Users\22176\Desktop\祥雲杯\鳴雛戀_2dad763070b79f50c4635a906359909a\鳴雛戀\_rels\out")
    #draw_QRCode()

將二進制嘗試轉換其他編碼,在ascii碼下發現前綴如下

image

將轉換完的base64碼提取出來,在網站https://tool.jisuapi.com/base642pic.html下進行base64到圖片的轉換,得到flag圖片

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM