선릉역 1번 출구

Nag Screen 본문

Hacking & Security/Malicious code and Reversing

Nag Screen

choideu 2022. 3. 20. 22:51

Nags를 없애고, 올바른 등록 코드를 찾으라고 한다.

확인 버튼을 누르면 이런 창이 뜬다. 

ollydbg로 실행한 결과다. 00401168이 EP가 되는데 위 아래 명령줄을 보니 이전 포스팅에서 보았던 indirect call을 사용하고 있습니다. 마찬가지로 JMP를 실행하면 다른 메모리 영역이 나올 것이라 예측이 가능하다.

 

일단 첫 목표는 Nags, Msgbox를 없애는 것이기 때문에 [Search for] -> All intermodular calls 를 눌러 Msgbox를 찾아보자.

Destination 정렬

모든 MsgBox에 breakpoint를 걸어준다.

 

F9를 눌러 실행시켜주면

여기가 첫 breakpoint가 되고 여기서 F9를 눌러 다음 breakpoint전까지 실행시켜주면

 

확인 클릭 후 Nag? 버튼을 다시 누르면 00402CFE에서 다시 break된다.

(첫 화면에서의 Nag Screen과 Nag?버튼을 누르면 나오는 Nag Screen은 같은 호출을 통해 출력됨을 알 수 있다)

 

왜 RETN 4를 하는 것인지 궁금했었는데 이유는 함수의 매개변수로 전달된 것까지 스택을 보정해주기 때문이다.

RETN 4는 ESP를 4만큼 증가시키는 것과 같다.

 

이렇게 패치를 하고 F9를 눌러 수정하면 Nag?버튼을 눌러도 메세지 박스가 뜨지 않는다.

 

그럼 이제 올바른 Regcode를 찾아야하는데 지난 시간처럼 text sring을 통해서 찾아도 되고 이번처럼 MsgBox를 통해 출력될 것을 안다면 좀 전처럼 MegBox의 주소로가서 스크롤을 해보면

이런 UNICODE와 CALL 명령어를 찾을 수 있다.

vbaStrCmp함수는 이름에서 유추가 가능한데 string compare -> Regcode와 내 input을 비교하는 값일거라고 쉽게 추측할 수 있다.

Regcode에 값을 입력하면 크랙에 성공한다.

 

 

'Hacking & Security > Malicious code and Reversing' 카테고리의 다른 글

Nag Screen(2)  (0) 2022.03.25
Stack Frame  (0) 2022.03.22
abex' crackme #2 분석(1)  (0) 2022.03.20
abex' crackme #1 분석  (0) 2022.03.19
Ollydbg 폰트 설정  (0) 2022.03.17
Comments