728x90
- Music_Player
이 예제는 파일을 다운받아서 먼저 Readme 를 열어서 읽어 보니까 mp3 플레이어가 1분으로 제한되어 있는 것을 1분 이상으로 실행하도록 만드는 예제로 다운받은 파일에 MP3 Player 실행파일을 실행해서 아무 음원이나 넣었을 때, 1이 되었을 때 "1분 미리듣기만 가능합니다" 라는 메세지 창이 뜨게 된다.
디버거를 통해 메세지가 출력되는 곳을 찾아 jl문을 jmp 문으로 변경하는 것으로 1분이 지났을 때도 메세지가 출력되지 않겠금 하였다.
하지만 런 타임 에러...
런 타임 에러가 뜨는 이유는 프로그램을 잘못 짜거나, 특수한 상황을 고려하지 못한 경우가 발생하면 뜨게 된다. 수정한 부분 주변을 살펴 보았다.
살펴보니까 jge 부분에서 매 초가 지날 때마다 걸리는 예외 상황이 있었다. 비교 결과값이 0이거나 큰 경우에 에러 메세지를 내는 부분으로 넘어가는 것으로 보여 이러한 부분을 건너뛰게끔 jmp 명령어로 바꿔주었다.
jmp music_player.4046BF
다시 실행하니 1분이 지나서도 재생이 되는 것을 확인 할 수 있었다.
http://reversing.kr/challenge.php
Reversing.Kr
Copyright © 2012-2022 Gogil All Right Reserved.
reversing.kr
'문제 풀이' 카테고리의 다른 글
[CodeEngn] Basic RCE L12 (0) | 2022.02.25 |
---|---|
[CodeEngn&Dreamhack] Music Player & rev-basic4 (0) | 2022.02.24 |
[Reversing.kr&CodeEngn] Easy_ELF & Basic RCE L02 (0) | 2022.02.23 |
[Reversing.kr & HackCTF] Easy_Keygen & Reversing me (0) | 2022.02.18 |
[Dreamhack & Reversing.kr] rev-basic #02 & easy unpack (0) | 2022.02.17 |