반응형
문제:
이 프로그램은 몇 밀리세컨드 후에 종료 되는가 정답인증은 MD5 해쉬값(대문자) 변환 후 인증하시오 |
ollydbg로 열어보려고 했는데 encrypt되어있다고 한다.
PEiD로 보니, UPX로 패킹되어있음을 알 수 있다.
cmd창에서 upx로 언패킹해주었다.
이제 ollydbg로 열어보도록 한다.
ollydbg로 잘 열림을 확인했다.
종료에 대한 문제이므로 search for - intermodular calls를 확인한다.
시간과 관련 있는 문제이므로, timeGetTime에 set breakpoin on every~를 해준다.
bp건 곳으로 가니까 이 부분이 나오고 그다음 bp로 가면 프로그램이 꺼져버린다.
time 관련하여 연산하는 걸 찾아봐야 할 듯 하다.
일단 CALL EDI부분은 time과 관련이 있다.
밑에도 EDI가 있는데 비교하고 SUB하는 것이 상당히 큰 단서가 될 듯 하다.
더 진행해보면 바로 여기로 이동된다.
CMP부분을 보니,
시간을 뺀 연산을 수행하고 비교함을 확인할 수 있다.
밑에서 DS:~=337B이므로 이를 MD5 연산하면 된다.
반응형
'리버싱' 카테고리의 다른 글
[HackCTF]Reversing Me (0) | 2020.08.14 |
---|---|
[codeengn]코드엔진 Advance RCE L02 (0) | 2020.08.13 |
[CodeEngn]코드엔진 Basic RCE L20 (0) | 2020.08.09 |
[Reversing.kr]Easy crack 1번 (0) | 2020.08.07 |
[codeengn]코드엔진 Basic RCE L19 (0) | 2020.08.06 |