일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- array
- query
- Call-by-reference
- java
- CSS
- 노드
- algorithm
- CLASS
- meta
- Kafka
- 포인터
- function
- 윈도우즈
- C
- API
- 자료구조
- windows
- 투자
- HTML
- jsp
- c++
- beans
- System
- Sort
- WebProgramming
- request
- OOP
- UTF-8
- 악성코드
- JavaScript
- Today
- Total
목록System (4)
hahahia
ㅇ 사실 월요일에 갔는데이제서야 간단하게라도 후기를 쓰네요....ㅋㅋ결과적으로 정말 가길 잘한거같아요 저번주 부터 리눅스를 다뤄보기시작한 시점이고, 리버스 엔지니어링도 직접 해볼 기회가 없어서 망설였는데많은 공부가 된듯 합니다.밑에 txt파일은 제가 시스템 해킹 파트에 대해서 txt 파일로 강의를 듣고요약한 내용들입니다.
/* thread.c made by hahahia */ #include #include #include DWORD WINAPI print2(LPVOID lpParams){ while(1) { printf("Thread2"); Sleep(800); } } DWORD WINAPI print1(LPVOID lpParam) { while(1) { printf("Thread1"); Sleep(500); } } int main() { int a; CreateThread(NULL, 0, print1, NULL, 0 , NULL); CreateThread(NULL, 0, print2, NULL, 0, NULL); while(1) { scanf("%d", &a); printf("%d\n", a); } }
커널(Kernel) - 컴퓨터를 운영하는 데 있어서 중심이 되는 운영체제 핵심부분 커널 오브젝트(Kernel Object) - 커널에서 관리하는 중요한 정보를 담아둔 데이터 블록 프로세스를 예를 들자면 프로세스를 생성하는 실질적인 주체는 프로그래머가 아니라 운영체제라고 해야 정확한 것이다. 이렇게 운영체제가 프로세스를 관리하기 위해서는 프로세스에 관련된 정보들을 저장해야 한다. 그 과정에서 구조체를 하나 정의를 하는데 이 구조체가 바로 커널 오브젝트입니다. - 커널 오브젝트에 대한 도식화(프로세스) - Windows 운영체제는 프로세스, 쓰레드 혹은 파일과 같은 리소스(Resource)들을 원활히 관리하기 위해 필요한 정보를 저장해야 한다. 이 때 데이터를 저장한는 메모리 블록을 가리켜 커널 오브젝트라 ..
- 부모 프로세스에서 받은 두개의 인자를 자식 프로세스에서 받아 두 개의 합을 출력하는 프로그램입니다.... /* Process.cpp */ // 자식 프로세스 #include #include #include int _tmain(int argc, TCHAR* argv[]) { DWORD val1, val2; val1 = _ttoi(argv[1]); val2 = _ttoi(argv[2]); _tprintf(_T("%d + %d = %d\n"), val1, val2, val1+val2); _gettchar(); // 프로그램의 실행을 잠시 멈추기 위해 return 0; } /* CreateProcess.cpp */ // 부모 프로세스(자식 프로세스를 생성) #include #include #include #..