문제
리버싱 문제로 유니티로 만든 게임 파일을 제공해주었고, 게임 내에서 비행기를 몰고 맵 끝까지 도달하면 플래그를 획득하는 방식
풀이
문제 파일은 요렇게 생겼고 유니티 리버싱에 필요한 Assembly-CSharp.dll 파일은 제공되지 않았음
피지컬에 자신이 있어서 맵 끝까지 가보려고 했지만, 일정 시간이 경과하면 유도 미사일이 비행기를 격추시켜 게임 파일 변조 없이 끝까지 가는건 불가능했다 ㅎ...ㅎ;;
유니티 리버싱은 처음이라 검색해보던 중 Il2CppDumper라는 툴을 이용하면 게임 오브젝트들을 제어하는데 이용되는 Assembly-CSharp.dll 파일을 추출가능하다는 정보를 얻었다.
툴을 설치하고 바이너리 파일을 지정해주면 Assembly-CSharp.dll 파일을 추출할 수 있었다.
ILSpy를 이용해 Assembly-CSharp.dll 파일을 열면 디컴파일된 코드를 볼 수 있으니 프리다를 이용해 게임 파일을 변조하면 끝!
충돌 데미지와 미사일 스폰을 False로 변경하는 코드를 작성해서 플래그를 획득했다.
CTF대회에서 처음 풀어본 리버싱 문제인데 게임 리버싱 문제라서 특히 더 재밌게 풀었던것 같다.
이제 리버싱 문제도 틈틈히 풀어봐야겠다 재밌네 ㅎㅎ
'CTF' 카테고리의 다른 글
[LINE CTF 2024]jalyboy-jalygirl (0) | 2025.02.19 |
---|---|
[LINE CTF 2024]jalyboy-baby (0) | 2025.02.19 |
[Digital Overdose 2022 Autumn CTF] Arrow (0) | 2022.12.08 |
[Digital Overdose 2022 Autumn CTF] Zazu vs. Carl -3 (0) | 2022.12.08 |
[Digital Overdose 2022 Autumn CTF] Zazu vs. Carl -2 (0) | 2022.12.08 |