Advance RCE L01

hoon·2023년 7월 23일
0

CodeEngn

목록 보기
21/21

문제

이 프로그램은 몇 밀리세컨드 후에 종료 되는가
정답인증은 MD5 해쉬값(대문자) 변환 후 인증하시오

파일 확인

UPX 패킹이 되어 있는 파일로 upx 패킹을 풀어주도록 하겠다.

Disassemble with IDA

파일 내부로 들어가면 안티 디버깅 기법이 걸려있는 것을 확인할 수 있다.
x86 dbg에서 플러그인을 사용해서 해당 안티 디버깅을 무력화해주자.

x86

전체적인 코드가 이전에 보았던 Basic 19의 문제랑 비슷하기 때문에 풀이도 비슷하게 했다.
messageboxa에 Breaking Point를 걸고 레지스터 값을 잘 확인해서 시간값을 찾을 수 있었다.
edi의 0x337B = 13179이 MessageBoxTimeoutW에 쓰이는 값인 milli second이다.

13179의 md5가 정답! (hex값 넣고 또 헤맸다...)

0개의 댓글