Security/System Security

[System Security] 6.5 Lena's Crackme : Ollydbg

잉숭 2021. 5. 10. 18:54

1. Registration Code 찾기

- 아무 값이나 입력하면 "Sorry ! Wrong registration code !" 경고창이 뜬다

- Ollydbg에서 해당 문자열을 찾아 spacebar/더블클릭하여 step into한다

- 스크롤을 올려 __vbaStrCmp 함수 호출 코드를 확인한다

- 전달 인자로 "I'mlena151" 문자열을 확인할 수 있다

 

2. 메시지 박스 제거

- Search for - All intermodular calls 에서 rtcMsgBox 탐색

- BP for all calls to rtcMsgBox() 선택하여 모든 호출에 BP를 건다 (총 4개)

- 4개의 BP 중 하나에만 Break 걸림 (위치 탐색 완료)

- Win32 API의 경우 stdcall 규칙에 따라 Calle인 rtcMsgBox가 직접 스택을 정리

- rtcMsgBox 호출 전과 호출 후의 ESP 값을 비교하여 함수에서 사용하는 스택의 크기를 파악

 

해결 방법

1. rtcMsgBox()가 포함된 함수의 첫 명령을 RET로 변경

2. rtcMsgBox()가 포함된 함수의 첫 명령을 JMP 마지막줄로 변경

3. " 함수를 부른 함수에서 바로 JMP