CTF/리버싱

[Tenable CTF] Play Me - 리버싱 / VisualBoyAdvance

SecurityMan 2023. 4. 8. 11:00

 

Tenable CTF 에서 처음 접해본 게임 리버싱 문제

 

재밌는 문제였다.

 

반응형

 

game.gb 파일이 문제로 주어지는데

 

이건 VisualBoyAdvance 를 이용해 실행시킬 수 있다.

 

 

실행시키면 이런 화면이 나온다.

 

슈퍼마리오 같은 간단한 게임이다.

 

점프해서 장애물을 넘어 오른쪽 끝으로 가면 된다.

 

 

순조롭게 진행되다가 이 부분 이후로는 게임을 더이상 진행시킬 수 없다.

 

마지막에 보이는 발판은 발판이 아니라 그냥 배경그림이다..

 

그래서 아무리 점프를 해도 저 발판을 밟을수가 없다.

 

 

VisualBoyAdvance 의 기능을 이용해 본다.

 

Tools 메뉴에서 Memory viewer 기능을 선택한다.

 

 

그럼 게임이 진행되는 동안 메모리 상태를 실시간으로 확인할 수 있다.

 

주목할 부분은 C0AC, COAE 부분의 값이다.

 

지금은 41, 78 로 되어있는데

 

 

캐릭터를 좌우로 움직이다 보면 이렇게

 

해당 부분의 값이 바뀐다.

 

이 부분이 게임 내 캐릭터의 X, Y 좌표를 의미하는 것이다.

 

 

해당 부분의 값을 조작하면 플래그를 찾을 수 있다.

 

X 좌표는 FF 03 으로, Y 좌표는 00 00 으로 바꿔보니 플래그가 나왔다.

 

어느정도 게싱이 들어갔는데

 

진행할 수 있는 맵 끝까지 가서 X 축이 어느정도 길이가 되는지 확인한 뒤

 

적당한 값을 집어넣어줬다.

반응형