Security&Hacking/리버싱

Lena Reversing - tutorial 11

Dior2ky 2020. 3. 5. 18:05
반응형

Lena Reversing tutorial 11

이번 단계에서는 Flash Jigsaw Producer 프로그램을 크랙하도록 한다.

우선 주어진 설치 파일을 실행하여 설치를 진행한다. 

프로그램을 실행하면 다음과 같이 나온다. 

프로그램 실행 화면이다. 

상단의 Desk 탭의 select를 누르면 다음과 같이 나온다.

프로그램 오른쪽 하단에 있는 Register 버튼을 누르면 다음과 같이 나온다. 

password 값을 아무 값이나 넣어서 OK 버튼을 눌러주었다. 

Error 창이 뜨는 것을 볼 수 있다. 

Ollydbg로 열어 크랙해보자.

 

추가로 레나 강의에는 프로그램 타이틀에 프로그램 이름과 함께 unregistered  문구가 써있다고 한다. 

이번 단계는 현재 프로그램 타이틀에 프로그램 이름만 보이고 있지만 이와 함께 unregistered 문구가 있다고 가정하고 시작한다.

 

그럼 search for -> All referenced text strings 를 눌러 unregistered 를 검색해준다. 

더블클리하여 이동한다. 

다음과 같이 SetWindowTextA 함수가 두개 보인다. 

위쪽 함수는 Text에 unregistered 가 붙어있지 않고 아래쪽 함수는 unregistered 가 붙어있다. 

더 위를 보면 AL 값을 통해 분기하는 것이 보인다. 

AL의 값은 ESP + 4 에서 가져오기 때문에 어디서 이 값을 0으로 설정하는지를 찾아보도록 한다.

MOV AL, BYTE PTR SS:[ESP + 4] 를 눌러보면 가운데 부분에 어디서 CALL 하고 있는지 나온다.

이 두 주소로 가서 Breakpoint를 걸어주자.

이제 실행을 시키면 breakpoint에 걸리게 된다.

AL의 값은 이미 0으로 설정되어 있다.

이 위에는 PUSH EAX 가 있다. 

EAX는 그 위 CALL 에서 수정 되는 것으로 보인다. 

004047CD에 breakpoint를 걸어주고 재시작해준다.

breakpoint에 걸리면 F7을 눌러 들어가고 계속 진행해준다.

진행하다보면 RETN 전에 XOR AL, AL이 보인다. 

여기서 AL 값을 0으로 초기화 시키는 것으로 보인다. 

이 값을 MOV AL, 1로 변경시켜준다.

그 다음 프로그램을 실행시키면 Desk 탭의 select를 눌러도 오류창이 뜨지 않고 잘 나온다

register 버튼을 눌러 아무값이나 넣고 OK 버튼을 누르면 이 또한 오류창이 뜨지 않고 넘어간다.

끝.

반응형