쉬운 난이도의 리버싱 문제
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 해주면
플래그를 찾을 수 있다.
반응형
'CTF > 리버싱' 카테고리의 다른 글
[Space Heroes CTF] Galactic Federation - 리버싱 / IDA (69) | 2023.05.11 |
---|---|
[Space Heroes CTF] Acheron - 리버싱 / IDA (44) | 2023.04.30 |
[Tenable CTF] Play Me - 리버싱 / VisualBoyAdvance (60) | 2023.04.08 |
[CTFlearn] Time to Eat - 리버싱 / Python (50) | 2023.03.31 |
[Tenable CTF] The only tool you'll ever need - 리버싱 / Strings (42) | 2023.03.22 |