본문 바로가기
Reversing

[Lena] Lena Tutorial 11

by 8희 2023. 4. 27.

 

문제를 실행하면 이런 팝업 창이 뜬다.

여기서 Next 버튼을 클릭하면 프로그램이 실행되긴 하는데

후에 이뮤니티 디버거에서 제대로 리버싱을 진행할 수 없으므로

꼭 제대로 다운 받은 뒤에 진행해야 한다.

처음에 이걸 몰라서 엄청 당황했다.

 

 

프로그램을 실행하면 이런 화면이 뜬다. 

 

 

show를 클릭했을 때 보이는 이미지가 엄청 귀엽다!

 

 

Desk > Select를 클릭하면 등록이 되어 있지 않다고 한다.

 

 

Register 버튼을 클릭했다.

 

 

Password에 임의의 값을 넣어 보면 역시나 유효하지 않다고 한다.

Password를 찾거나 등록을 무시하도록 해야 겠다고 추측했다.

 

 

이뮤니티 디버거에서 등록 관련 문자열을 찾아서 해당 위치로 이동했다.

 

 

캡처는 없지만 004046E4에 TEST AL, AL 명령어가 있다.

이를 이용해 register 버전인지 unregister 버전인지 확인하는 것 같다.

그래서 004046E4 바로 위인 004046E0으로 이동하는 CALL 위치인 004047D3에 갔다. 

 

 

여기서 조금 위로 올라가면 XOR AL, AL 명령이 있는 0040465E에 BP를 걸고 실행해 봤다.

이 명령은 AL을 0으로 초기화 시킨다는 뜻이다.

 

 

BP를 건 0040465E까지는 Z 플래그가 0이다.

 

 

0040465E를 지나면 Z 플래그가 1로 변한다.

0040465E에서 AL을 0으로 초기화 시켜서 004046E4에서 비교할 때,

결과가 0으로 나오면 unregistered라고 판단하는 것 같다.

 

 

unregistered라고 판단하지 않도록 0040465E를 NOP 처리했다.

 

 

그리고 패치 파일을 저장했다.

 

 

패치 파일을 실행해 보니 Desk > Select에서 사진 셀렉이 가능했다.

 

'Reversing' 카테고리의 다른 글

[Lena] Lena Tutorial 13  (0) 2023.05.03
[Lena] Lena Tutorial 12  (0) 2023.04.27
[Lena] Lena Tutorial 10  (0) 2023.04.27
[Lena] Lena Tutorial 09  (0) 2023.04.05
[Lena] Lena Tutorial 08  (0) 2023.04.05