본문 바로가기
Reversing

[Lena] Lena Tutorial 08

by 8희 2023. 4. 5.

 

파일을 설치해줬다.

 

 

프로그램을 설치 후 실행해보면 등록되지 않았으니 등록하라는 내용의 팝업이 뜬다.

프로그램 생긴 것 땜에 잘못된 건가 하고 좀 당황했다

 

 

프로그램 상단에 있는 ?을 클릭해 키 코드를 등록할 수 있다.

 

 

아무 값이나 입력하면 유효하지 않은 키라는 팝업 창이 뜬다.

이를 패치시켜야 하는 것 같다.

 

 

텍스트를 검색해 해당 주소인 0043860E로 이동했다. 

 

 

0043860E 앞 쪽에 JE가 두 개가 있길래 이전과 비슷한 문제인 줄 알고

JE를 모두 무조건 점프하도록 JMP로 수정해봤으나 패치되지 않았다.

좀 더 위로 올라가봤다. 

 

 

JE를 하나 더 발견할 수 있었다.

 

 

00438601은 "Invalid Key!"를 출력하는 부분의 주소로

위 JE를 통해서 이 부분으로 이동하는 것 같다. 

JE는 값이 같으면 이동하는 명령어이므로 

값이 같지 않으면 이동하는 명령어인 JNE로 바꿔주면 이동하지 않을 것이라 추측했다.

 

 

따라서 JE를 JNE로 수정해봤다.

 

 

아무 값이나 입력해도 인증이 된다! 

근데 처음에 뜨는 팝업창은 그대로다.

이 방법은 완벽한 방법은 아닌가 보다... 또 다시 시도해봤다.

 

 

JE 분기문과 가장 가까운 CALL인 0043856E에

Enter를 이용하여 들어갔다.

 

 

함수에 들어가서 F8로 계속 실행해 보면 EAX를 0으로 초기화 하는 부분이 있다.
함수 종료 후에 EAX 값으로 인증 여부를 판단하기 때문에 
0으로 초기화 한다는 것은 인증을 통과하지 못했다는 뜻이다.

따라서 0이 되지 않도록 만들어 줘야 패치가 될 것이다.

 

 

00434D92를 NOP으로 바꿔줬더니

드디어 패치가 완료됐다!

아 힘들어

 

 

참고

https://jdh5202.tistory.com/672

 

 

 

 

 

'Reversing' 카테고리의 다른 글

[Lena] Lena Tutorial 10  (0) 2023.04.27
[Lena] Lena Tutorial 09  (0) 2023.04.05
[Lena] Lena Tutorial 07  (0) 2023.04.05
[Lena] Lena Tutorial 06  (0) 2023.03.29
[Lena] Lena Tutorial 05  (0) 2023.03.29