Misc

1.签到

flag{welcome_to_qwb_2023}

2.SpeedUp

Text
def f(x):    res = 0    while x:        res += x % 10        x //= 10    return resfac_mem = [1]def fac(x):    if x < len(fac_mem):        return fac_mem[x]    else:        res = fac_mem[-1]        for i in range(len(fac_mem), x + 1):            res *= i            fac_mem.append(res)        return respow_mem = [1]def pow(x):    if x < len(pow_mem):        return pow_mem[x]    else:        res = pow_mem[-1]        for i in range(len(pow_mem), x + 1):            res *= 2            pow_mem.append(res)        return resfor i in range(0, 7):    print(f(fac(pow(i))), end=",")

https://oeis.org/A244060/list

找到数列直接算sha256即可

3.Wabby Wabbo Radio

看网页找到好几个Wav文件

播放发现有摩斯电码声音

Text
hint1: -.. --- -.-- --- ..- -.- -. --- .-- --.- .- -- ..--..hint2: -- .- -.-- -... . ..-. .-.. .- --. .. ... .--. -. --. .--. .. -.-. - ..- .-. .

翻译之后是

Text
DOYOUKNOWQAM?MAYBEFLAGISPNGPICTURE

QAM解码

flag文件是无损的16QAM编码

写个程序复原即可.

注意需要用png头辅助映射一下.

Text
import numpy as npfrom scipy.io import wavfileimport binasciirate, audio = wavfile.read("flag.wav")left_channel = audio[:, 0]right_channel = audio[:, 1]complex = left_channel + 1j * right_channelconstellation = { #手动映射真好玩    (-3 - 3j): "0",    (-3 - 1j): "1",    (-3 + 3j): "3",    (-3 + 1j): "2",    (-1 - 3j): "4",    (-1 - 1j): "5",    (-1 + 3j): "7",    (-1 + 1j): "6",    (3 - 3j): "c",    (3 - 1j): "d",    (3 + 3j): "f",    (3 + 1j): "e",    (1 - 3j): "8",    (1 - 1j): "9",    (1 + 3j): "b",    (1 + 1j): "a",}def demodulate_16QAM(signal):    demodulated_bits = ""    for s in signal:        closest_point = min(constellation.keys(), key=lambda point: np.abs(point - s))        demodulated_bits += constellation[closest_point]    return demodulated_bitsa = demodulate_16QAM(complex)open("out.png", "wb").write(binascii.unhexlify(a))

4.谍影重重2.0

24位数据是icao code(6个十六进制)

https://mode-s.org/decode/content/ads-b/1-basics.html

Text
import pyModeS as pmspms.tell("")

大写然后计算md5即可。