본문 바로가기

Reversing/Simples Creckme

Simples Crackme 9

Simples Crackme 9
 - Question

  · Name에 맞는 Secure Key를 찾는 문제이다.

  · Name을 다르게 할 경우 Secure Key가 달라지는 것을 확인할 수 있으며 따라서 Name에 맞게 Secure Key가 생성된 다는 것을 알 수 있다.

  · Secure Key가 맞는 다면 위와 같이 'You r too costly!'라는 Message를, 맞지 않는다면 'No no no no!Try more!'라는 Message를 출력한다.


 - Solution

  · 'Search for → All intermoduler calls'를 통해 사용된 함수를 확인하면 vba로 시작되는 함수들이 대부분이라는 것을 확인할 수 있으며 Visual Basic으로 만들어진 Program이라는 것을 알 수 있다.
  · Name으로 Secure key를 생성하며 Secure key을 생성 후 입력한 Secure key를 비교하는 함수를 찾아야한다.
  · 비교(Compare)의 약자로 Cmp를 사용하는 vbaStrCmp와 문자열을 불러오는 vbaStrMove를 기준으로 분석한다.

  · 실행을 여러 번 시켜보면 'CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrMove>]'는 생성된 Secure Key를 Stack에 저장하는 역할을 하는 것을 알 수 있다.
  · 즉 Secure Key를 생성하는 Algorithm 또는 함수는 vbaStrMove 위쪽에 존재한다는 것을 알 수 있다.

 · 실행을 여러 번 시켜보면 'CALL Simples_.00409CF0'에서 Secure Key를 생성하는 Algorithm이 존재하는 것을 확인할 수 있다.

  · vbaStrMove를 지나면 위와 같이 Stack 영역에 Key가 생성된다.


 - Answer Example
  · Name : newbie
  · Secure Key jkxiig
 

'Reversing > Simples Creckme' 카테고리의 다른 글

Simples Crackme 11  (0) 2015.08.16
Simples Crackme 10  (0) 2015.08.16
Simples Crackme 8  (0) 2015.08.16
Simples Crackme 7  (0) 2015.08.16
Simples Crackme 6  (0) 2015.08.16