'리버싱' 카테고리의 다른 글

실행파일 포맷 PE는..  (0) 2013.03.31
리버싱이란..  (0) 2013.03.30

PE(Portable Executable)은 윈도우 운영체제에서 실행가능한 파일들에 대한 형식을 나타냅니다.

윈도우에서 실행가능하는 파일 확장자에는 exe,scr,dll,ocx,sys,obj 등이 있으며

obj는 사용자가 직접 실행할 수 없는 파일이며

dll,ocx,sys는 탐색기에서 직접 실행할수 있는 형태의 파일은 아닙니다.

exe,scr은 탐색기에서 직접 실행할 수 있다.

(PE실행파일형식에 대한 구조는 C를 아신다면 winnt.h에 선언되어있다)

 

PE 구조는 다음과 같다 

 DOS header

 DOS stub 

 NT header(PE header)

 Section header들

 각 Section에 포함된 데이타 

Dos header, Dos stub, NT header, Section header들을 PE Header라 한다.

PE Header에는 메모리에 맵핑되는 정보,실행정보,섹션 정보,DOS정보 들을 가지고 있습니다.

각 Section에 포함된 데이터를 PE Body라 한다.

Window 상에서 실제 실행되어지는 코드와 필요한 데이터들

 

이 내용은 메모리에 맵핑(번지수가 실행 파일 내용에 맞게 수정되어 메모리에 저장)되어 저장된다

 

다음은 예제로 사용할 샘플 실행 파일이다.

단순이 윈도우에 Hellow World를 표시하는 실행파일이다.

 WIN32.zip

실행시 표시되는 창 이미지는

 

(전체장이 이미지는 너무 커서 창에 글자가 표시되는 부분임)

다음은 실행파일을 헥사 에디터로 보았을때이다

 

헥사 에디터는 여러 종류가 있다. 그중 하나를 사용하면 된다.

(제가 사용한 헥사 에디터는  http://www.x-ways.net/winhex/index-m.html 가면 WinHex라는

헥사 에디터 툴을 다운로드 받을수 있다.)

 

옵셋(Offset)은 지정한 위치에서 알만큼 떨어진 위치임을 나타냅니다.

위 이미지에서 왼쪽의 옵셉은 파일의 첫벗째 바이트 부터의 16진수로 표시한 옵셋입니다.

 

다음번에는 PE Header중에 DOS header에 대해 알아보갰습니다.

 

 

 

 

 

 

 

 

 

'리버싱' 카테고리의 다른 글

PE Header의 DOS Header  (0) 2013.04.01
리버싱이란..  (0) 2013.03.30

Reverse Engineering

은 역공학을 말하며

어떤 사물의 구조,동작등을 분석하는것을 말한다.

 

소프트웨에서 Reverse Engineering

소프퉤어에 역공학을 말한다 즉 사물이 소프트웨어로 한정된다.

Reverse Engineering을 다른 말로

리버싱,역공학,Revese Code Engineering(RCE),Reverse Engineering(RE) 등으로 표현한다.

'리버싱' 카테고리의 다른 글

PE Header의 DOS Header  (0) 2013.04.01
실행파일 포맷 PE는..  (0) 2013.03.31

+ Recent posts