'리버싱' 카테고리의 다른 글
실행파일 포맷 PE는.. (0) | 2013.03.31 |
---|---|
리버싱이란.. (0) | 2013.03.30 |
실행파일 포맷 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를 표시하는 실행파일이다.
실행시 표시되는 창 이미지는
(전체장이 이미지는 너무 커서 창에 글자가 표시되는 부분임)
다음은 실행파일을 헥사 에디터로 보았을때이다
헥사 에디터는 여러 종류가 있다. 그중 하나를 사용하면 된다.
(제가 사용한 헥사 에디터는 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 |