본문 바로가기
Reversing/리버싱 핵심 원리

[리버싱 핵심 원리] 11장, Lena's Reversing for Newbies

by Y06 2020. 11. 7.

11장, Lena's Reversing for Newbies

 

확인을 누르면 아래와 같이 Regcode를 입력하는 부분이 나온다.

메세지 박스가 뜨면서 두 가지를 지시한다.

1) 모든 성가신 Nags를 없애라.

2) registration code를 찾아라.

 

전형적인 serial crackme이다. 화면의 파란 글씨를 읽어보면 registration을 위해 'SmartCheck'을 사용하라고 하고 있다.

(SmartCheck는 Numega 사에서 만든 유틸리티이며 크래커들이 애용하는 툴 중 하나이다.)

 

올리디버거로 먼저 열어보았을 때 화면은 다음과 같다.

 

 

[마우스 오른쪽 클릭] - [Search for] - [All referenced text strings] 검색을 통해 성공부분을 따라 들어가면 main 부분을 찾아 보았다.

 

메인을 시작하면 이 문구가 뜬다. 

[오른쪽 마우스] - [Search for] - [All intermodular calls] 명령을 사용하면 API 호출 목록이 나타나는데 우리가 찾아야 하는 rtcMsgBox는 총 4개 호출된다.

 

확인을 해보니 어디에서 문구가 뜨는지 확인된다.

이 부분에서 해당 함수의 프롤로그에서 리턴 하면 문구가 더이상 뜨지 않는다.

코드를 보니 이 부분에서 입력 값을 스택에 넣고 [ I'mlena151 ]도 스택에 함수 파라미터로 들어가는 것을 볼 수 있다. __vbaStrCmp() API는 VB에서 문자열을 비교하는 함수이므로 즉 내 입력 값도 저 값을 비교하는 것을 알 수 있다.