관리 메뉴

HeeJ's

[01] LENA reversing tutorial 본문

<CTF>/<LENA tutorials>

[01] LENA reversing tutorial

meow00 2021. 10. 5. 16:20

레나 튜토리얼 다운로드

https://github.com/re4lfl0w/lena_reversing

 

lena tutorial 01번 문제

Reverse Me.exe를 실행 시키면 위와 같은 창이 뜬다.

 

Ollydbg로 열어준 후, 우선 프로그램의 흐름을 이해하기 위해 F8로 계속 실행시켜 보았다.

 

이 부분에서 Jump is NOT taken이라는 것을 보면,

위의 CALL 함수 내부에서 시리얼 값과 입력 값을 비교해 아래 CMP문을 통해 Jump로 구분된다는 것을 유추해볼 수 있다.

 

그 상태로 프로그램을 그냥 실행시켜 보았더니,

라이센스를 구매하라는 창과 함께 프로세스가 종료되었다.

 

다시 아까 그 JMP문으로 와서 Zflag를 0으로 바꾸어 JMP가 실행되도록 해주었다.

 

아래의 ReadFile 내에서도 무엇이 이루어져 JUMP가 taken 되어야 할 것 같아,

아까와 동일하게 Z flag를 0으로 바꾸어주고 JMP를 해보았다.

 

 

일단은 성공 문자열이 담긴 Message Box를 실행시키는 것이 목표이기 때문에,

아래 부분의 문자열을 비교하는 부분을 전부 뛰어넘고, JMP문만을 건들여 성공 Message Box를 띄울 것이다.

 

우클릭의 New origin here 버튼을 이용해서 JMP 문부터 이어서 실행되도록 해준다.

 

 

성공 문자열이 담긴 창을 띄울 수 있다.

'<CTF> > <LENA tutorials>' 카테고리의 다른 글

[08] LENA reversing tutorial  (0) 2021.11.23
[03] LENA reversing tutorial  (0) 2021.11.10
[02] LENA reversing tutorial  (0) 2021.11.07