이번 포스트에서는 레나 튜토리얼의 Level 10 문제에 대해 다루겠다.
문제를 실행하면 다음과 같다.
## 문제 해석 :
Regcode를 입력하라고 되어 있다. 등록하고 Nag(잔소리)를 제거하면 되는 것으로 보인다.
## 문제 풀이 :
먼저 VB Decompiler를 통해 해당 파일을 열어보겠다.
"Register me!" 버튼의 이름은 Command1로 되어있으며, 이와 상응하는 메모리 주소는 402814이다. 또한 "Nag?" 버튼의 메모리 주소는 402C17인 것을 알 수 있다.
이어서 Ollydbg를 통해 해당 파일을 열어보겠다.
방금 찾은 두 주소에 BP를 걸고 실행해보겠다.
시작하자마자 Nag(402C17)이 호출되었다. 해당 명령을 동작하지 못하게 RETN으로 바꿔주겠다.
이어서 Register 버튼을 우회해보겠다. 아무값을 입력하고 Register 버튼을 누르면 다음과 같이 BP에 걸린 모습을 확인할 수 있다.
해당 부분을 시작으로 분석해본 결과 다음과 같이 vbaStrCmp 함수가 호출된 것을 확인할 수 있다.
vbaStrCmp 함수를 호출하는 바로 윗부분을 보면 수상한 문자열이 보인다. 또한 스택영역을 확인해보면 내가 입력한 값이랑 수상한 문자열을 비교하고 있다는 것을 알 수 있다.
여기서 직관적으로 Register Code가 바로 해당 문자열인 것을 알 수 있다.
### RegCode : I'mlena151
### 실행 결과 :
이로써 해당 프로그램의 Crack를 마치겠다.
'Wargame > Lena Tutorial' 카테고리의 다른 글
Lena Tutorial (Level 12) (0) | 2022.09.03 |
---|---|
Lena Tutorial (Level 11) (0) | 2022.09.02 |
Lena Tutorial (Level 9) (0) | 2022.08.31 |
Lena Tutorial (Level 8) (0) | 2022.08.30 |
Lena Tutorial (Level 7) (0) | 2022.08.29 |