
[BoB CTF] rev) 01_TEAtime
·
BoB/write-up
이번 대회에서 유일한 C++ 코드이다. 개인적으로 C++을 정말 좋아하지만, 바이너리를 디컴파일해서 나오는 모습은 정말 징그럽더라 flag.txt, flag.txt.enc 두 개의 fd를 생성하고 TEA 알고리즘을 이용해 FLAG를 암호화한 내용을 ~.enc 파일에 작성해 저장한다. 그렇다면 우리는 위의 코드를 그대로 역연산해서 복호화하면 끝난다. 사실 이런 간단한 단순 연산 작업은 GPT한테 맡겨도 잘 나오지만... 디컴파일한 main 함수를 조금 더 자세히 살펴보면, FLAG 문자열을 8바이트씩 끊어 하나의 블록으로 처리하고 있다. 각 블록은 sub_2778 함수로 넘겨 암호화 작업을 수행한다. 또한 암호화 과정에 사용되는 키 역시 main 함수에서 정의하고 있는데 자세한 키 값을 아래와 같다. v9..