CTF/리버싱

[TJCTF] take-a-l - 리버싱 / IDA

SecurityMan 2023. 4. 26. 11:00

 

쉬운 난이도의 리버싱 문제

 

IDA 라는 도구를 이용해 간단하게 해결할 수 있다.

 

 

문제에서 주어지는 파일은 chall 바이너리 파일이다.

 

 

한번 실행시켜 봤는데

 

What's your flag? 라는 문구가 출력되고 사용자의 입력을 받는다.

 

test 라고 입력했더니

 

L 이라고 답이 나왔다.

 

 

바로 IDA 를 이용해 바이너리 파일을 열어

 

F5를 눌러 main 함수의 수도코드를 살펴봤다.

 

사용자의 입력을 받아 s 에 저장하고

 

flag 배열에 있는 값과 XOR 연산을 한 뒤

 

그 값이 18 인지 비교하고 있다.

 

18이면 W 를, 18이 아니는 L 을 출력한다.

 

문제 설명에 나와있던 I need W 가 이런 의미인가 보다.

 

 

flag 배열에는 이런 값이 들어있다.

 

간단하게 18 이랑 XOR 해주면 된다.

 

 

CyberChef(https://gchq.github.io/CyberChef/) 에서

 

flag 배열의 값을 18과 XOR 해주면

 

플래그를 찾을 수 있다.

반응형