前言

We are the champion!

Misc

checkin

https://discord.gg/RAvA8Y6D
use >help to show help info
PM means private message
bot only works in challenge-checkin channel

AUDIO

Bin received a piece of song from his friend yesterday. The friend told him that something was hidden in the song. Bin had listened it and found the origin version. Could you help him crack the song and find the hidden secret?

在两段音频对比之下,可以听到在三十来秒的时候有一段电话音之类的。所以我们先用audition把mp3导出为wav,然后调一下这里的反相上下和增幅,增幅-6;也可以直接写个脚本读音频,然后根据题目的意思做个减法

import wave
from scipy.io import wavfile

wav_fname = 'origin_01.wav'
samplerate, data = wavfile.read(wav_fname)
print(data)
print(data.shape[0])

wav_fname = 'fromfriends.wav'
samplerate, data1 = wavfile.read(wav_fname)
print(data1)
print(data1.shape[0])

dif = data1.shape[0]-data.shape[0]
print(dif)
data1 = data1[:-dif]
# print(len(data1))
# print(type(data1))

new = data1-data/2
print(new)
print()

from scipy.io.wavfile import write
import numpy as np
samplerate = 44100; fs = 100
t = np.linspace(0., 1., samplerate)
# amplitude = np.iinfo(np.int16).max
# print(amplitude)
# data = amplitude * np.sin(2. * np.pi * fs * t)
data = new
write("out.wav", samplerate, data.astype(np.float32))

最后莫斯解一下得到flag:SUSCTF{MASTEROFAUDIO}

ra2

玩游戏,赢flag!
Win the game and caputure the flag.
百度网盘:https://pan.baidu.com/s/1qIXYvw6B-gXpvcHy8b-v9g
提取码:2333
google:https://drive.google.com/drive/folders/1xhUYCIQAiV9weah3McU486oW_1iIQ3Mk?usp=sharing

安装相应环境,运行launch-game.cmd,然后直接玩游戏即可得到flag:SUSCTF{RED_ALERT_WINNER!!!}




Tanner

There is a special graph which describe one check matrix, find out where is the hint(maybe in the binary data?) and what is the flag.

参考文章:https://zhuanlan.zhihu.com/p/148228662
根据校验矩阵还原码字,然后根据在ID3处发现的hint将所有满足的码字的二进制数据相加之后去sha256得到flag

THE FLAG IS the sha256 of the sum ofthe proper codewords(binary plus)which satisfy the condition.(note: with no zeros front)

sha256(111111111100000)  ->  SUSCTF{c17019990bf57492cddf24f3cc3be588507b2d567934a101d4de2fa6d606b5c1}

misound

Noisy and misty, what happened?
misound hint:乘法使用ASCII码相乘
misound hint2: _的ASCII值是95

在音频中可以得到如下信息

# 频谱图提取
AnEWmuLTiPLyis_etimes_wiLLbEcomE_B

# silenteye解密然后base64
207 359 220 224 352 315 359 374 290 310 277 507 391 513 423 392 508 383 440 322 420 427 503 460 295 318 245 302 407 414 410 130 369 317

# 去掉字母后sstv然后Dotsies Font
NQHFEAOUUUSHLMCJQRFLFNMKGQAOLDWBBI

这里有点非预期了应该,将ASCII字符转换为对应的数值即‘a’–>65,使用ord函数,ord(‘a’)。反正,使用chr函数,将数值转换为对应的ASCII字符,chr(65),所以只用到了AnEWmuLTiPLyis_etimes_wiLLbEcomE_B这个字符串

num = ['207',' 359',' 220',' 224 ','352 ','315 ','359 ','374',' 290 ','310',' 277',' 507 ','391 ','513 ','423',' 392 ','508 ','383',' 440 ','322',' 420',' 427',' 503 ','460 ','295',' 318 ','245',' 302 ','407',' 414',' 410',' 130 ','369 ','317']
a = 'AnEWmuLTiPLyis_etimes_wiLLbEcomE_B'
# 一个新的乘法是e乘以u将变成b

# 369可以是用_下标或者循环求出来
# print(((ord('_') * ord('e'))/num[i]))
# 当num[i]等于369时候,值最接近整数#26.00271002710027
# 然后计算了一下95*101和369*26的是相差是1
# 猜测加密算法95*101=369*26+1
# 测试猜想:(207*26+1)/65等于82.8向上取整是83,然后是s字符

flag = ''
for i in range(len(num)):
    flag = flag + chr(round((int(num[i]) * 26 + 1)/ord(a[i])))
print(flag)

# SUSCTF{tHe_matter_iS_unremArkab1e}

预期解他本意其实是和那个sstv有关的.jpg

num = ['207',' 359',' 220',' 224 ','352 ','315 ','359 ','374',' 290 ','310',' 277',' 507 ','391 ','513 ','423',' 392 ','508 ','383',' 440 ','322',' 420',' 427',' 503 ','460 ','295',' 318 ','245',' 302 ','407',' 414',' 410',' 130 ','369 ','317']
a = 'AnEWmuLTiPLyis_etimes_wiLLbEcomE_B'
b = 'NQHFEAOUUUSHLMCJQRFLFNMKGQAOLDWBBI'
print()

#95*101=369*26+1
flag = ''
for i in range(len(num)):
    aa = ord(a[i])
    bb = ord(b[i])
    n = int(num[i])
    t = bb - ord('A')
    print((n * 26 +t)/aa)
    flag = flag + chr(round((n * 26 + 1)/aa))

print(flag)

# SUSCTF{tHe_matter_iS_unremArkab1e}