반응형

1. PE Format 완전 분석

http://hdp.null2root.org/reversing/PE_analysis_anesra.pdf


2.  Once Upon A Time In PE (번역) - 충실하게 역자주를 달아서 설명이 더 쉽게 되어 있다.(어셈블리어를 좀 알면 더 좋다)

http://web.kaist.ac.kr/~taekwonv/pe_icezlion.htm


원문: (윗글의 링크가 깨어져서 필요할 경우 참조.)

http://win32assembly.online.fr/


http://win32assembly.online.fr/pe-tut1.html (1. Overview Of PE File Format)

http://win32assembly.online.fr/pe-tut2.html (2. Detecting a Valid PE File)

http://win32assembly.online.fr/pe-tut3.html (3. File Header)

http://win32assembly.online.fr/pe-tut4.html (4. Optional Header)

http://win32assembly.online.fr/pe-tut6.html (5. Section Table)

http://win32assembly.online.fr/pe-tut7.html (6. Import Table)

http://win32assembly.online.fr/pe-tut7.html (7. Export Table )


Import Table에 대해 자세히 설명.

http://web.kaist.ac.kr/~taekwonv/pe_iat.htm


3. PE 파일 분석 - 쉬운 설명과 함께 C++ 예제로 어떻게 구현할수 있는지도 알수 있다.

http://kkamagui.springnote.com/pages/407001


4. Peering Inside the PE: A Tour of the Win32 Portable Executable File Format (by Matt Pietrek) - 1994년 (오래되었지만, 고전같이 한번 볼만한 글)

http://msdn.microsoft.com/en-us/magazine/ms809762.aspx


번역:http://blog.naver.com/gekigang/140016674843 


5. An In-Depth Look into the Win32 Portable Executable File Format (by Matt Pietrek) - 2002년

An In-Depth Look into the Win32 Portable Executable File Format, Part 2

(위의 글을 Win32의 변화에 맞추어 같은 저자가 다시 쓴 글)

http://msdn.microsoft.com/en-us/magazine/bb985992.aspx

http://msdn.microsoft.com/en-us/magazine/cc301805.aspx


http://msdn.microsoft.com/en-us/magazine/cc301808.aspx


6. Physical Layout of a .NET Assembly

http://www.informit.com/articles/article.aspx?p=25350


7. PE 레퍼런스(The PE file format by LUEVELSMEYER)

http://webster.cs.ucr.edu/Page_TechDocs/pe.txt


http://win32assembly.online.fr/files/pe1.zip


8. PE 파일 구조 다이어그램

(그림으로 PE 파일이 어떻게 구성되어 있는지 한눈에 볼수 있게 되어 있다)

http://www.openrce.org/reference_library/files/reference/PE%20Format.pdf


9. Wikipedia

http://ko.wikipedia.org/wiki/PE_%ED%8F%AC%EB%A7%B7


* PE 파일을 수정하는 여러 가지 방법들 소개

http://web.kaist.ac.kr/~taekwonv/


* 무료 PE 에디터 - Explorer Suite

http://www.ntcore.com/exsuite.php


* Visual Studio 안에 있는 툴 (...\vc\bin 폴더) - dumpbin


i.e. dumpbin /header "실행 파일"


그 파일안의 파일 헤더, Optional 헤더 등의 내용을 보여준다.

반응형
고통을 받는것은 그에게 죄가 있어서 때문만은 아냐.

그리고 고통을 받는다고 그 죄가 사라지는것은 아니고,

단지 중요한 것은 그 고통을 통해 어떤 것이라도 느끼고

깨달을 수만 있다면 그 고통의 시간이 가치를 갖는다는 것 뿐일거야.

모든것을 포기한 자에게 고통은 찾아오지 않아

하지만 고통이 찾아오지 않는곳엔 행복도 오지 않아

###################################################

소유욕은 번뇌로 이른다..

가지고자 함은 곧 잃음이요..

만남이 있으면 헤어짐이 있기 마련이다......

모든 일에는 순리가 있으며 그대로 흐른다...

모든 삼라만상이 자연의 순리로 흐른다...

동전의 양면과 같이 세상은 존재한다....

그곳에 내가 존재한다... 아픔이 있는 자의 모습으로

아픔 없는 자의 모습으로... 그렇게 존재한다....


이렇게 존재하고 싶었구나 했다.. ㅎㅎ
반응형
HANDLE WINAPI CreateFile(
            LPCTSTR lpFileName, -1
            DWORD dwDesiredAccess, -2
            DWORD dwShareMode, -3
            LPSECURITY_ATTRIBUTES lpSecurityAttributes, -4
            DWORD dwCreationDisposition, -5
            DWORD dwFlagsAndAttributes, -6
            HANDLE hTemplateFile -7
);

1. 개방할 파일 이름을 지정
2. 일기/쓰기 모드를 지정, or(|) 연산으로 결합 가능
   - GENERIC_READ 읽기 모드 지정
   - GENERIC_WRITE 쓰기 모드 지정
3. 파일 공유방식 지정
   - 0 다른 프로세스에 절대 공유 불가, 이미 개방된 파일은 중복 개방 불가
   - FILE_SHARE_READ 다른 프로세스에서 이 파일에 동신 읽기 접근 가능
   - FILE_SHARE_WRITE 다른 프로세스에서 이 파일에 도시 쓰기 접근 가능. 단 동시에 같은 영여에 데이터를 쓰는 문제를 피해야 함.
4. 보안 속성을 지정
5. 파일이 생성되는 방법을 지정
   - CREATE_ALWAYA 항상 새파일을 생성
   - CREATE_NEW 새 파일 생성(같은 이름 존재->실패)
   - OPEN_ALWAYS 기존 파일 개방, 없으면 생성
   - OPEN_EXISTING 기존 파일 개방, 없으면 실패
   - TRUNCATE_EXISTING 기존 파일의 내용 지우고 개방
6. 파일의 특성 정보를 설정, or(|)연산 가능, 기본설정(FILE_ATTRIBUTE_NORMAL)
7. 기존에 존재하는 파일과 동일한 특성을 가지는 새 파일을 만들 때 사용
8. 함수 호출이 성공하면 파일의 핸들 반환.

+ Recent posts