정보보안/Reversing.Kr

Music Player[Reversing.Kr]

b1ackhand 2022. 7. 17. 16:36

문제는 다음과 같은 MP3 Player 프로그램이다.

mp3형식의 노래를 듣다가 보면 (어떤 mp3파일은 안되기도 하였다.)

1분이 되면 미리듣기만 가능하다고 나온다.

문제에서 요구하는것은 1분 이상으로 듣게 하는 것이다.

먼저 MsgBox가 나오는 것은 특정 dll이나 window api에서 사용하는것이라고 추측하여

Search for > All Modules > Intermodular Calls 를 이용하여 MsgBox를 불러내는 모든 코드에 

BreakPoint를 걸어놓고 1분이 됬을때 나오는 MsgBox를 찾았다.

찾았다. 

위아래를 보면서 1분인지 아닌지 비교할만한 코드를 찾아서 그 부분을 바꿔주면 해결 될 것이다.

cmp ~~에 관한 부분을 찾다보니 

찾게 되었다. EA60은 60000으로 60000ms를 의미하는것같다.

따라서 해당 부분을 최대로 변경해주었더니

Runtime 오류가 뜬다. 추가로 해결해줘야 되는 부분이 있는 것이다.

내려가면서 if문 들에 대해서 bp를 설정해주면서 진행하다보니 해당 부분에서 

Runtime Error 메세지를 내는 것을 보고 해당 부분을 건너 뛰기로 했다.

 

그렇게 하고 패치를 하면 1:00이상으로 시간이 되면서 비밀번호가 제목에 나오게 된다.

 

마지막에 RuntimeError가 나는것에 대해서는 다른 Write up에서 다음 실행 주소를 stack에 push 한상태로 돌아오지 못해서 나오는 오류라고 한다.

'정보보안 > Reversing.Kr' 카테고리의 다른 글

EasyELF[Reversing.Kr]  (0) 2022.08.07
Position[Reversing.Kr]  (0) 2022.08.07
ImagePrc[Reversing.Kr]  (0) 2022.08.03
Replace[Reversing.Kr]  (0) 2022.08.01
Easy Keygen[Reversing.Kr]  (0) 2022.07.05