상세 컨텐츠

본문 제목

[Write-up] CodeEngn Basic RCE 12

Reversing Write-Up/02.CodeEngn Basic

by RACC8N 2020. 1. 19. 20:46

본문

문제 : Key를 구한 후 입력하게 되면 성공메시지를 볼 수 있다. 이때 성공메시지 대신 Key 값이 MessageBox에 출력 되도록 하려면 파일을 HexEdit로 오픈 한 다음 0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다.
Key값과 + 주소영역을 찾으시오

 

풀이 : 

 

프로그램 실행 모습이다.

 

디버거를 켜서 확인해 보자.

 

바로 OEP로 진입한걸 보아 패킹되지 않았음을 알 수 있다.

 

문자열 검색을 해보자.

 

Key값을 맞췄을 때의 문자열을 예상할 수 있다. 해당 위치로 가보자.

 

key가 맞았을 때 뜨는 MessageBox로 가기 위한 분기문은 JNE 401098임을 알 수 있다.

 

이로인해 key값은 cmp eax, 0x7A2896BF에서 비교대상인 0x7A2896BF임을 예상할 수 있다.

 

10진수로 바꿔서 입력해보니 Congratulation문구가 떴다.

 

이제 Key값을 알아냈으니, 저 Messagebox에서 Congratulation 문구 대신 Key값이 뜨게 해보자. 

 

40353B부분을 KEY값으로 덮어쓰면 될 것 이다.

 

HXD를 켜보자.

 

해당부분을 ASCII표를 참고하여 Key값으로 바꿔보겠다.

 

프로그램을 실행시켜보겠다.

 

관련글 더보기

댓글 영역