이 블로그는 구글 크롬에 최적화 되어 있습니다.

블로그 사용법 클릭 !!

blogImageblogImage
GTK_LeonHeart
라이프스트림 <br><br> Game, Media , Life, Infomation.

About

LeonHeart

닉네임은 스퀘어소프트(현 스퀘어 에닉스)의 게임 Final Fantasy VIII의 주인공인 "스퀄 레온하트"에서 따 왔습니다.

Lifestream

스퀘어소프트(현 스퀘어 에닉스)의 게임 Final Fantasy VII에 등장하는 "라이프스트림"에서 따 왔으며 게임에서는 별에서 살아가는 생명들의 '정신 에너지'를 의미합니다. 별은 생명체들에게 이 정신 에너지를 줌으로서 그들이 웃고, 슬퍼하고, 화내고, 즐거워하는 등의 '감정'과 '마음', 그리고 '생각'을 갖출 수 있도록 해줍니다. 다시 말해, 지성을 가진 생명체가 그 자체로서 있을 수 있도록 그들의 영혼을 구성해주는 에너지가 바로 라이프스트림입니다.

마린 월레스

"라이프스트림. 그것은 별을 감싸고 있는 생명의 흐름. 별과 별에 살아가는 모든 것의 근원입니다."

Life

여행 또는 관심분야나 일상생활에서 생긴 일에 관한 이야기나 사진을 주로 포스팅하는 블로그입니다.

Writing

저에게 있어 글쓰기란 참으로 어려운 일이 아닐 수 없습니다. 어려서부터 원채 글이나 말하는 것에 재주가 없어 이 블로그도 생활에 관련 한 글 보다는 사진에 치중될 거 같습니다.
몇 글자 안적는데도 벌써 머리가 하얘지는군요. 그냥 그런 블로그입니다..^^

Contact

"WinAPI" 에 해당되는 글 5건

[WinAPI] 01 PE 파일 분석-헤더분석
Code Life
[WinAPI] 01 PE 파일 분석-헤더분석

개요 윈도우 시스템 프로그래밍한다는 사람치고 PE 파일에 대해서 모르는 사람은 아마 거의 없을 것이다. 윈도우 실행 파일 및 DLL, 그리고 드라이버 파일까지도 PE 파일 형태를 따르고 있으니 뭘 해도 따라다니는게 이 PE(Portable Executable) 파일 포맷이니까 말이다. PE 파일 포맷은 크게 헤더, 섹션, 데이터의 세부분으로 나뉘는데 기존 DOS 시절 사용하던 COFF(Common Object File Format)과 거의 비슷한 구조를 가지며 기본 뼈대에서 확장된 듯한 형태를 가진다. PE 실행파일이 가지고 있는 헤더를 분석함으로써 실제 데이터가 있는 위치를 파일에서 찾고 해당 영역을 분석할 수 있다. PE 파일 구조에 대해서 자세히 알아보기 전에 참고할 좋은 프로그램 몇가지를 소개한다..

[WinAPI] 02 PE 파일 분석-Import 분석
Code Life
[WinAPI] 02 PE 파일 분석-Import 분석

개요 지난번에 PE 파일의 헤더구조에 대해서 알아보았다. 잘 기억이 안나면 01 PE 파일 분석-헤더분석 문서를 다시 보자. 이번에 분석할 부분은 PE 파일에 포함된 Import 영역이다. Import 영역은 PE 파일이 실행될 때 외부로부터 당겨와서 사용하는 함수들의 목록이 포함되어있으며, Export 영역은 다른 모듈이 사용할 수 있게 노출해 놓은 함수들이 들어있다. 일단 Import 영역부터 살펴보자. Import 영역 분석 Import 영역은 PE 파일내의 특정 섹션에 자리잡고 있으며, IMAGE_OPTIONAL_HEADER의 DataDirectory에서 위치를 찾을 수 있다. DataDirectory내의 인덱스는 0x01이며 IMAGE_DIRECTORY_ENTRY_IMPORT 매크로로 WinNT..

[WinAPI] 03 PE 파일 분석-Export 분석
Code Life
[WinAPI] 03 PE 파일 분석-Export 분석

개요 지난번에 PE 파일의 헤더구조 및 Import 섹션에 대해서 알아보았다. 잘 기억이 안나면 01 PE 파일 분석-헤더분석 문서 및 02 PE 파일 분석-Import 분석 을 다시 보자. 이번에 분석할 부분은 PE 파일에 포함된 Export 영역이다. Export 영역은 내가 다른 프로그램을 위한 기능을 제공하기위해 노출한 함수 목록이 들어있다. Import 영역과 비슷한 방법으로 IMAGE_NT_HEADER의 Data Directory를 찾아서 0번째 인덱스(IMAGE_DIRECTORY_ENTRY_EXPORT)를 찾으면 Export 섹션을 구할 수 있다. 역시 RVA를 파일 내의 오프셋(Pointer Of Raw Data)로 바꾸는 작업이 필요하다. Export 섹션의 시작 Export 섹션의 첫번..

[WinAPI] 04 PE 파일 분석-Relocation 분석
Code Life
[WinAPI] 04 PE 파일 분석-Relocation 분석

개요 지난번에 PE 파일의 헤더구조 및 Import/Export 섹션에 대해서 알아보았다. 잘 기억이 안나면 01 PE 파일 분석-헤더분석 문서 및 02 PE 파일 분석-Import 분석, 그리고 03 PE 파일 분석-Export 분석 문서를 다시 보자. 일단 들어가기 전에 재배치(Relocation)이 무엇인지 알아보자. 재배치는 코드에 특정 값을 더해줘서 다른 메모리 주소에서 실행 가능하게 해주는 것을 말한다. 말 그대로 코드를 다시 배치하는 과정인데, 왜 이런걸 해야 하는 걸까? EXE 파일의 경우 윈도우에서는 굳이 재배치를 할 필요가 없다. 왜냐하면 로더가 프로그램을 로딩할때 제일 먼저 EXE 파일을 위한 메모리를 할당해주기 때문이다. IMAGE_OPTIONAL_HEADER에 ImageBase라는..

[WinAPI] Socket Programming - WINSOCK 열고 닫기, SOCKET 열고 닫기
Code Life
[WinAPI] Socket Programming - WINSOCK 열고 닫기, SOCKET 열고 닫기

123456789101112131415161718192021222324252627282930313233343536373839#include #include #pragma comment(lib,"ws2_32.lib") void err_quit(char *msg){ LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER| FORMAT_MESSAGE_FROM_SYSTEM, NULL, WSAGetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL); MessageBox(NULL, (LPCTSTR)lpMsgBuf, msg..