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