waving

chatGPT의 힘을 빌려서 풀었다. 소리 파일을 얻은 후 단어 유추하기 진짜 힘들었다..

풀이

input.wav 파일을 연산해서 output.wav 파일로 만들어주는 프로그램이다.

분석하여 역산한다면 음성파일이 하나 나오게 된다.

solve.py

# solve.py

def bit_reverse(a1):
    ret = 0
    for i in range(16):
        ret = (a1 & 1) | (ret << 1)
        a1 >>= 1
    return ret

f = open("output.wav", "rb")
res = open("flag.wav", "wb")

res.write(f.read(0x2C))

while True:
    box = f.read(2)
    if len(box) < 2:
        break
    
    val = int.from_bytes(box, byteorder='little')

    val = ((val << 8) & 0xFF00) | ((val >> 8) & 0x00FF)
    val = bit_reverse(val)
    val = ((val << 8) & 0xFF00) | ((val >> 8) & 0x00FF)
    
    res.write(val.to_bytes(2, byteorder='little'))

f.close()
res.close()

이러면 뉴진스 hype boy 가사가 있는 파일이 나오게 된다.

flag.wav

FLAG

hspace{call_my_phone_right_now_you_know_i_hype_you_boy}


classic-is-the-best

약간의 변형을 섞은 전형적인 autorev 문제이다.

python 모듈인 capstone을 사용하면 코드 짜기 조금 수월하다.

51번째 라운드부터 변형이 되는데 hex 값으로 send 해야하는 줄 모르고 삽질 좀 많이 했다.

풀이