본문 바로가기
# technic/- reversing

Reversing a gameboy binary(*.gb)

by ddddh 2018. 9. 28.

Reversing a Gameboy Architecture

feat. Square CTF 2017 - mission

Processor type 
해당 게임보이 바이너리를 IDA로 분석하려면 다음과 같이 Processor type을 Zilog 80[z80]으로 지정해주면 된다.



IDALOAD
IDA에서 Load하게 되면 함수 인식 등 Disassemble이 안되는데 이를 하기전 Ctrl + 1 -> strings 기능을 이용해서 스트링 값들을 먼저 분석하는게 좋다.


Strings
그 후, IDAPython AnalyzeRange(sEA, eEA) 함수를 이용하여 디스어셈블 시키거나 직접 수동으로 Code를 찾을 수 있다. 

AnalyzeRange
주소지정은 따로 되어지지 않으니 Hex View에서 따로 Squence Byte를 검색하는 등 다른 방법으로 매칭 시켜줘야 한다.


Disassembly
이렇게 디스어셈블 된 gb 바이너리를 정적으로 먼저 분석 후 에뮬레이터 디버거인 bgb를 이용하여 동적 분석할 수 있다.

'# technic > - reversing' 카테고리의 다른 글

z3 모든 경우의 수  (0) 2018.09.30
ARM 32bit  (0) 2018.09.29
[Android] SDK 버전 패치.  (2) 2017.04.27
[python] RSA - chiper text decoe  (0) 2017.04.20
PE(Portable Executable) File Format  (0) 2017.02.28