Tenable CTF 에서 처음 접해본 게임 리버싱 문제
재밌는 문제였다.
반응형
game.gb 파일이 문제로 주어지는데
이건 VisualBoyAdvance 를 이용해 실행시킬 수 있다.
실행시키면 이런 화면이 나온다.
슈퍼마리오 같은 간단한 게임이다.
점프해서 장애물을 넘어 오른쪽 끝으로 가면 된다.
순조롭게 진행되다가 이 부분 이후로는 게임을 더이상 진행시킬 수 없다.
마지막에 보이는 발판은 발판이 아니라 그냥 배경그림이다..
그래서 아무리 점프를 해도 저 발판을 밟을수가 없다.
VisualBoyAdvance 의 기능을 이용해 본다.
Tools 메뉴에서 Memory viewer 기능을 선택한다.
그럼 게임이 진행되는 동안 메모리 상태를 실시간으로 확인할 수 있다.
주목할 부분은 C0AC, COAE 부분의 값이다.
지금은 41, 78 로 되어있는데
캐릭터를 좌우로 움직이다 보면 이렇게
해당 부분의 값이 바뀐다.
이 부분이 게임 내 캐릭터의 X, Y 좌표를 의미하는 것이다.
해당 부분의 값을 조작하면 플래그를 찾을 수 있다.
X 좌표는 FF 03 으로, Y 좌표는 00 00 으로 바꿔보니 플래그가 나왔다.
어느정도 게싱이 들어갔는데
진행할 수 있는 맵 끝까지 가서 X 축이 어느정도 길이가 되는지 확인한 뒤
적당한 값을 집어넣어줬다.
반응형
'CTF > 리버싱' 카테고리의 다른 글
[Space Heroes CTF] Acheron - 리버싱 / IDA (44) | 2023.04.30 |
---|---|
[TJCTF] take-a-l - 리버싱 / IDA (58) | 2023.04.26 |
[CTFlearn] Time to Eat - 리버싱 / Python (50) | 2023.03.31 |
[Tenable CTF] The only tool you'll ever need - 리버싱 / Strings (42) | 2023.03.22 |
[DiceCTF] babymix - 리버싱 / IDA / Python (62) | 2023.03.05 |