Haekt‘s log

[리버싱] reversing with lena-tutorial 3 - Oops! 본문

카테고리 없음

[리버싱] reversing with lena-tutorial 3 - Oops!

Haekt 2022. 9. 25. 23:07

- 사용 툴

  • X32dbg
  • pe-explorer(직접작성한 프로그램)
  • HxD32

 

이번에 해볼 프로그램은 lena-tutorial 3 의 Oops 파일이다.

 

lena-tutorial3 를 푸는 방법을 알고싶다면, 아래에 링크가 있다. 

 

https://haekt-log.tistory.com/23

 

[리버싱] reversing with lena-tutorial 3

- 사용 툴 X32dbg HxD32 이번에 할 리버싱 파일은 lena-tutorial 3 의 RegisterMe.exe 이다. 특정 메세지창을 제외한 자잘한 메세지창을 다 지우면 성공하는 문제이다. - 01. 툴에서 메세지가 뜨는 부분 확인 실

haekt-log.tistory.com

 

이 파일은 실행했을때 lena-tutorial3 와 동일하게 정상적으로 실행되나, Ollydbg디버거로 열었을때 오류가 뜬다. 

 

이유를 알기 위해 디버거로 열어보자. 

딱히 다른 구조는안보인다. 다른점을 찾기위해 직접 만든 Pe-explorer 툴 로 두 파일을 비교해 보았다.

이 툴은 직접 코딩한 PE 파일의 정보를 보여주는 툴이다. 이 툴에 대한 내용과 PE 헤더의 내용은 추후 작성예정이다. 

 

왼쪽은 본래파일이고, 오른쪽은 Oops 파일이다.  화면에 보이는 내용은 NT 헤더의 Optional Header 정보이다.

SizeOfCode, SizeOfInitializeData, BaseOfCode, BaseOfData, SizeOfHeapCommit 부분의 정보가 다른 것을 확인할 수 있었다.

 

HxD 를 통해 정상적으로 수정을 해 보자.

 

HxD 를 켠 후 파일을 넣고, 상단 탭에서 분석을 고른뒤 데이터 비교를 골라준다. 

 

 

그리고 비교할 파일의 경로를 설정해주고, 수락을 눌러준다.

 

그럼 아래와 같이 내용이 대조되어 나온다. 클릭해 번호를 입력하면 수정된다. 

 

 

수정 후, 다음 차이점으로 이동하는 방법은 위와 아래창의 커서 위치를 맞추고 F6 을 누르면 다음 차이점으로 이동된다. 

 

이렇게 다 수정하면 ctrl + s 를 눌러 저장을 해 준다 . 

Comments