느낀 점

인생 처음으로 Codegate에 출전하게 됐습니다!!! 청소년부로 할 수 있었지만, 청소년부에서 수상하려면 성인부에서도 예선은 통과할 정도는 되어야 된다고 생각했기 때문에, 저는 그냥 팀으로 할 수 있는 일반부로 지원해서 하게 되었습니다.

결과는 다음과 같이 crypto 1문제 rev 1문제로 총 500점 밖에 못 얻었네요 ㅜㅜ…

이번 대회를 통해서 지금까지 저의 태도에 대해서 5가지 정도 배운 것 같네요!

  1. Rust, Go와 같은 언어도 해보면 재밌다.
  2. 100번은 연습해서 완벽하게 체득해야 한다.
  3. 알고리즘 말고도 암호학도 잘 알아야 한다.
  4. 기본기가 제대로 되어야 한다.
  5. 아무리 피드백을 많이 받고 태도를 바꿔야겠다 생각해도 안 하면 의미 없다. Reversing 문제 중에서 Go 언어로 된 문제가 있었는데, 접근조차 하기 힘들더라고요… 만약 Codegate를 Reversing으로 준비하고 계신다면, 꼭 Rust, Go와 같이 뜨고 있는 언어는 한 번쯤 리버싱해 보시는 게 좋을 것 같습니다!

문제 풀이

1. Rev - Greybox

hexview를 통해 정적 분석을 하면 다음과 같은 문자열을 찾을 수 있다.

해당 문자열이 출력되는 곳을 따라가면 다음과 같이 플래그를 출력하는 함수를 알 수 있다.

2. Crypto - Ghost