티스토리 뷰

CodeEngn Basic RCE의 19번 문제입니다.






해당 프로그램이 몇 밀리세컨드 후에 종료되는지를 물어보는 문제입니다.


먼저 프로그램을 다운로드 받겠습니다.






'19.exe'라는 이름의 파일입니다.


실행시켜보면..






메시지창이 뜨고 약 12초 정도 후에 종료됩니다.


먼저 PEID로 파일의 정보를 보겠습니다.





UPX로 패킹 되어있네요.


빠르게 UPX툴로 언패킹 하겠습니다.






이제 올리디버거로 열어서 보겠습니다.





프로그램에서 사용되는 함수들을 살펴보던 중에 timeGetTime 함수들이 나와서 BP를 걸어주었습니다.


timeGetTime 함수란?


윈도우가 시작되고 난 뒤 지난 시간을 데이터로 얻는 함수입니다.






그리고 한 줄씩 실행시키다 보면..






DWORD PTR DS : [EBX+0x4]에 있는 값인 2B70과 0을 비교해서 같으면 프로그램이 종료되는 것 같습니다.


2B70을 10진수로 바꾸면 11120인데요.


이 말은 이 프로그램이 11120밀리세컨드 후에, 즉 11.12초 후에 종료된다는 것을 알 수 있습니다.


코드엔진 사이트에 정답을 인증해보겠습니다.








댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함