Phantom

Crackme – 17 본문

Pwnable/Crackme 처음 풀 때

Crackme – 17

Ph4nt0m_ 2016. 3. 1. 14:15
반응형

 

프로그램을 아이다에 넣으니 UPX로 시작된다.

패킹이 되어있나 보다.

Upxtool을 써서 패킹을 풀겠다.

 

 

그리고 실행해보니

전혀 다른 화면이 나온다.

안티 디버깅인것으로 알고 있다.]

IsDebuggerPresent함수의 리턴값을 변조하고 다시 실행한다.

그리고 모든 MessageBox함수에 BP를 걸고 찾다가 Certlab이 출력되는 함수를 찾았다.

 

그리고 그 아래에 CMP문과 MOV문이 있는데 EDI에 값이 있더라.

그렇다면 MessageBoxW함수 실행하는 도중 sleep이 걸렸다는 건데 보니

timeGetTime함수가 있더라.

이보다 자세한 설명이 없을 것 같아 사진을 첨부한다.

먼저 MessageBox실행된 직후 현재시간을 가져온 다음 ESI에 저장한다.

현재시간을 가져오고 현재시간에서 ESI를 빼서 EAX에 저장한다

그리고 EAX와 0x27ED를 비교한다.

0x27ED보다 크면 MessageBox가 종료되도록 Routine 쪽으로 이동한다.

0x27ED와 비교하기 때문에 걸리는 시간은 0x27ED -> 10221초가 된다.

이 값을 MD5로 인코딩하면

Md5 Hash: a59afb1b7d82ec353921a55c579ee26d

반응형

'Pwnable > Crackme 처음 풀 때' 카테고리의 다른 글

Crackme – 18  (0) 2016.03.01
Crackme – 16  (0) 2016.03.01
Crackme – 15  (0) 2016.03.01
Crackme – 14  (0) 2016.03.01
Crackme – 13  (0) 2016.03.01
Comments