SICTF Round #4|MISC

1.派森

腐乳昂木 奥普瑞特儿 阴坡尔特 艾克斯奥尔
腐乳昂木 提克有第爱慕 阴坡尔特 ⭐
弗拉格 等于 布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉
印刻 等于 左中括号右中括号
佛儿 唉 因 梯软者左括号 零,楞左括号弗拉格右括号,四右括号冒号
    印刻。鹅潘德(艾克斯奥尔(奥尔德(弗拉格【唉】),奥尔德(弗拉格【唉加二】)))
    印刻。鹅潘德(艾克斯奥尔(奥尔德(弗拉格【唉加一】),奥尔德(弗拉格【唉加三】)))
    印刻。鹅潘德(奥尔德(弗拉格【唉加二】))
    印刻。鹅潘德(奥尔德(弗拉格【唉加三】))
普瑞因恩特左括号印刻右括号
井号[16, 29, 67, 84, 31, 75, 89, 48, 30, 111, 107, 48, 49, 52, 95, 67, 6, 2, 110, 51, 44, 69, 95, 118, 74, 45, 121, 95, 70, 84, 49, 49, 0, 0, 33, 33, 0, 10, 113, 125]

大致翻一下

from operator import xor
from 提克有第爱慕 import ⭐
flag =  布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉
ink = []
for i in range( 0,len(flag),4):
    ink.append(艾克斯奥尔(ord(flag[i]),ord(flag[i+2])))
    ink.append(艾克斯奥尔(ord(flag[i+1]),ord(flag[i+3])))
    ink.append(ord(flag[i+2]))
    ink.append(ord(flag[i+3]))
print(ink)
井号[16, 29, 67, 84, 31, 75, 89, 48, 30, 111, 107, 48, 49, 52, 95, 67, 6, 2, 110, 51, 44, 69, 95, 118, 74, 45, 121, 95, 70, 84, 49, 49, 0, 0, 33, 33, 0, 10, 113, 125]

直接脚本

c = [16, 29, 67, 84, 31, 75, 89, 48, 30, 111, 107, 48, 49, 52, 95, 67, 6, 2, 110, 51, 44, 69, 95, 118, 74, 45, 121, 95, 70, 84, 49, 49, 0, 0, 33, 33, 0, 10, 113, 125]
flag = ""
for i in range(0,len(c),4):
    flag = flag + chr(c[i]^c[i+2])
    flag = flag + chr(c[i+1]^c[i+3])
    flag = flag + chr(c[i+2])
    flag = flag + chr(c[i+3])
print(flag)

SICTF{Y0u_k0nw_Ch1n3s3_v3ry_we11!!!!qwq}

2.外星信号 Ultra

脚本解码文件

import random
random.seed(496534891)
out = b""
with open("data","rb") as f:
    data = f.read()
    out = bytes([byte^random.randint(10,20) for byte in data])
f = open("deepsea.wav","wb")
f.write(out)
f.close()
print("OK")

得到解压缩密码:9982443531668,解压缩文件,Base2048解码

SICTF{Extra7err3str1al_signals_h1dd3n_1n_APPLE!}

3.模型的秘密

解压缩得到密码字典,直接爆破

得到解压缩密码:haldaemon,直接解压缩

补全文件头部

工具blender打开

SICTF{fLAG1nTheM8deL}

4.Picture

根据题目反向写脚本

'''
from random import randint
from PIL import Image
flag = Image.open('flag.png')
width, height = flag.size
image1 = Image.new(mode="RGB", size=flag.size, color="white")
image2 = Image.new(mode="RGB", size=flag.size, color="white")
for i in range(width):
    for j in range(height):
        r,g,b = flag.getpixel((i,j))
        tr, tg, tb = randint(0, 254), randint(0, 254), randint(0, 254)
        image1.putpixel((i,j),(tr,tg,tb))
        image2.putpixel((i,j),(r-tr,g-tg,b-tb))
image1.save('flag1.png')
image2.save('flag2.png')
'''
from LazyImage import *
#获取图片尺寸
w_h = Get_Img_Width_Heigh("flag1.png")
#获取图片所有像素
flag1 = Get_Img_All_Pixers("flag1.png")
flag2 = Get_Img_All_Pixers("flag2.png")
n = len(flag1)
out = []
for i in range(n):
    tmp2 = flag2[i]
    tmp1 = flag1[i]
    #反向相加,再模255
    r = (tmp2[0] + tmp1[0])%255
    g = (tmp2[1] + tmp1[1])%255
    b = (tmp2[2] + tmp1[1])%255
    tmp = (r,g,b)
    out.append(tmp)
#print(out)
Write_Pixers_Image(out,"flag.png",w_h[0],w_h[1])

SICTF{e95385d2-0c9a-4f35-91d0-dd387e74925a}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值