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 |