1. 개요
16bit, 8bit 이해 문제
2. 분석
코드를 보면, 앞글자를 8 bit 뒤록 밀고, 뒷글자를 붙여서 16bit 문자열을 생성합니다.
''.join([chr((ord(flag[i]) << 8) + ord(flag[i + 1])) for i in range(0, len(flag), 2)])
# 灩捯䍔䙻ㄶ形楴獟楮獴㌴摟潦弸強㕤㐸㤸扽
결과물을 하나씩 순회하면서 앞글자는 8비트 앞으로 당기고, 뒷글자는 0xff(255)와 &연산으로 알아냅니다.
res = "灩捯䍔䙻ㄶ形楴獟楮獴㌴摟潦弸強㕤㐸㤸扽"
flag = ''
for i in range(0, len(res)):
num = ord(res[i])
flag += chr(num >> 8) + chr(num & 0xff)
print(flag)
# picoCTF{16_bits_inst34d_of_8_75d4898b}
'pico CTF' 카테고리의 다른 글
[picoCTF] caas (0) | 2023.04.28 |
---|---|
[picoCTF] X marks the spot (0) | 2023.04.28 |
[pico CTF] First Find (0) | 2022.08.15 |
[pico CTF] Big Zip (0) | 2022.08.15 |
[pico CTF] WhitePages (0) | 2022.08.15 |