Windows System Programming
30004 STUDENTS ENROLLED
과정 개요
본 과정은 Windows 운영 체제에서 Application 을 개발하기 위한 개념과 Windows 운영체제에서 프로그램이 실행되는 방식에 대해서 자세히 배우는 과정입니다.
본 과정에서는
1. 윈도우즈 환경에서 S/W를 개발하기 위한 기본 지식을 배우게 됩니다. ( 프로세스, 스레드, 동기화, DLL, IPC, 메모리, 파일등)
2. 간단한 어셈블리 언어를 통해서 C/C++ 언어의 원리를 배우게 됩니다. ( 함수 호출의 원리, call stack, calling convention 등)
3. 다양한 후킹 기술의 기본 원리를 자세히 배우게 됩니다. (메세지 큐의 동작 방식, 메세지 훅, IAT 훅, DLL Inject 등)
4. 어플리케이션의 동작 방식을 자세히 배우게 됩니다. (.idata와 .edata의 원리, mainCRTStartup )
과정의 세부 내용은 “CURRICULUM” 탭을 참고하시기 바랍니다.
수강 참고 사항
본 과정을 수강하기 위해서는 C 언어를 사용하실수 있어야 합니다. C++ 언어는 필수는 아니지만 일부 소수 주제에서 C++의 개념이 필요한 경우도 있습니다.
본 과정에서는 GUI 프로그램 개발 방법에 대해서는 자세히 다루지 않습니다. 시스템 이해를 위해서 간단한 윈도우 생성과 메세지 처리 개념 정도만 이야기 합니다.
Course Curriculum
Section 0: Orientation | |||
WS. 실습 환경 안내 | 00:06:12 | ||
using visual c++ | 00:11:21 | ||
Section 1. 어셈블리 언어로 배우는 C/C++의 원리 | |||
WS. 인라인 어셈블리와 MASM | 00:21:24 | ||
WS. MASM 기본 문법 | 00:34:13 | ||
WS. Calling Convention | 00:33:58 | ||
WS. Stack Frame | 00:33:58 | ||
WS. C++ 과 MASM | 00:13:10 | ||
Section 2. Windows API | |||
WS. Window API 개념 | 00:42:54 | ||
WS. GUI Programming | 00:45:01 | ||
WS. 윈도우 핸들과 API | 00:46:11 | ||
WS. 실행 파일 포맷(PE) | FREE | 00:16:36 | |
Section 3. DLL | |||
WS. Static Library | 00:18:50 | ||
WS. Dynamic Link Library ( DLL ) | 00:38:09 | ||
WS. 가상주소 공간과 DLL | 00:12:00 | ||
Section 4. Kernel Object 와 Process | |||
WS. Kernel Object | 00:30:27 | ||
WS. Process ID, Handle | 00:24:59 | ||
WS. Process Creation, ExitCode, Inherit KO | 01:02:24 | ||
Section 5. Thread & Synchronization | |||
WS. Thread Basic | 00:28:34 | ||
WS. Thread Synchronization #1 | 00:30:50 | ||
WS. Thread Synchronization #2 | 00:30:00 | ||
WS. Thread ETC | 00:30:00 | ||
Section 6. Structured Exception Handling | |||
WS2_SEH | 00:30:50 | ||
Section 7. Memory Management | |||
WS2_Virtual Address Space | 00:50:54 | ||
WS2_Virtual Memory Allocation | 00:22:54 | ||
WS2_Heap Memory | 00:34:05 | ||
WS2_Stack | 00:14:09 | ||
Section 8. Advance DLL | |||
WS2_DLL Entry Point – DllMain | 00:29:16 | ||
WS2_API Hooking | 00:36:48 | ||
WS2_DLL_INJECTION | 00:26:40 | ||
Section 9. Async(Overlapped) I/O | |||
WS2_Async IO | 00:22:00 | ||
WS2_IOCP | 00:23:20 | ||
Section 10. Device Driver 개념 | |||
WS2_Hello, Driver | 00:30:10 | ||
WS2_Driver Example | 00:09:40 |