리버싱CTF/EmbededSecurity CTF

Reykjavik

우와해커 2019. 12. 27. 10:59

Key Point

1. 코드를 인크립트로 인해 볼 수 없음, Current Instruction을 보고 풀어야 함
2. 어떤 부분을 분석해야할지 포인트를 잘 잡아야함.
3. 내 입력 값이 어떻게 영향을 줄 수 있는가 ?
4. 시스템은 리틀엔디안이니까 디스어셈블러에 보이는 것과 반대로 입력하자.

 

 

문제 풀이 스포를 자제하기 위해 흰글씨 처리로 가렸습니다. 

 

시작부터 끝까지 드래그 해주세요

시작

값 입력 후

pop sr
ret
add #0x6, sp                   : sp+0x6은 내가 입력한 값 첫번쨰 바이트에 위치임
cmp #0x70ab, -0x24(r4)     : -0x24(r4) 또한 내가 입력한 첫번째 바이트 위치를 가리킴 (이부분이 핵심이다.) 
jnz $+0xc                       : 0xc로 분기되면 프로그램이 그냥 종료된다.
? push #0x7f
? call #0x2464 : 0x2464 is Unlock the door....
add #0x20, sp
pop r4
pop r11
ret
clr r15

'리버싱CTF > EmbededSecurity CTF' 카테고리의 다른 글

Whitehorse  (0) 2019.12.27
Cusco  (0) 2019.12.24
Hanoi  (0) 2019.12.24
Sydney  (0) 2019.12.23
New Orleans  (0) 2019.12.23