Security&Hacking/리버싱

Lena Reversing - tutorial 20_2

Dior2ky 2020. 3. 10. 22:36
반응형

Lena Reversing tutorial 20_2

20단계 두번째 프로그램이다. 

이번에는 UnPackMe_EZIP1.0 프로그램을 언팩 해보도록 한다.

이번 프로그램에서는 ESP를 이용해서 언팩을 하는 방법을 사용하도록 한다. 

 

Ollydbg로 열어준다.

바로 JMP가 나온다. 

F8을 눌러 진행해준다. 

함수 프롤로그가 나온다. 

PUSH EBP를 해주고 나면 ESP는 12FFC0가 된다. 

ESP는 Stack pointer 레지스터이다. 함수가 끝날 때 까지 해당 주소의 stack은 변하지 않고 끝나기 직전에 POP을 하게 된다.

이 값에 hardware breakpoint를 걸어준다.

이제 F9를 눌러 진행해준다.

EAX의 값으로 분기하고 있다.

004271B0로 memory map에서 확인하면 이 프로그램의 .text영역이다.

이 주소가 OEP라고 볼 수 있다. 

이제 Ollydump를 실행해준다. 

OEP를 잘 확인해주고 Rebuild Import 체크박스를 해제 해준 후 dump 해준다. 

다시 실행해보면 잘 될줄 알았지만 EP 관련된 오류창이 뜬다.

PE Tools를 사용해준다.

항목 중 dump한 파일을 찾아서 더블클릭 해준다.

Sections 버튼을 눌러준다. 

일반적인 PE 구조에 뒤에 더 붙어있는것이 보인다. 

6,7,8번 항목을 삭제해주었다. 

이번엔 Optional header를 눌러준다. 

Base Of Code, Base Of Data 부분을 Ollydbg에서 memory map을 통해 확인한 값으로 넣어준다. 

수정이 다 되었으면 PE Tools 의 Tools 탭의 Rebuild PE를 해서 rebuild해준다. 

수정된 파일을 Ollydbg에서 열어보면 이전의 오류창도 없어진 것을 확인 할 수 있다. 

끝.

반응형

'Security&Hacking > 리버싱' 카테고리의 다른 글

Lena Reversing - tutorial 20_4  (0) 2020.03.10
Lena Reversing - tutorial 20_3  (0) 2020.03.10
Lena Reversing - tutorial 20_1  (0) 2020.03.10
Lena Reversing - tutorial 19_2  (0) 2020.03.10
Lena Reversing - tutorial 19_1  (0) 2020.03.10