Legacy
-
ftp 접속방식 문제Legacy/Network 2015. 1. 29. 05:09
FTP먼저 FTP 서버가 사용하는 포트는 2개 이다. 하나는 로그인과 디렉토리 검색을 하기위해 사용되는 정보포트와 실제적으로 데이터를 업다운로드하는데 쓰이는 데이터 포트 이다. FTP 서비스는 패시브모드(Passive-mode)와 액티브모드(Active-mode) 2가지를 지원한다. Active-mode 는 클라이언트 기반 접속으로 클라이언트에 선점되지 않은(1024이상)의 포트에서 웹서버쪽에 21번 포트로 FTP를 접속한다. 클라이언트에서 서버쪽으로 port 명령어를 보내는것으로 랜덤포트를 이용하여 서버 포트로 접속하는 것으로 서버포트는 항상 21번 포트로 접속된다. 따라서 Active 모드 접속시에 문제점이 발생되는 경우는 대부분이 클라이언트측에 있다. FTP 클라이언트는 서버의 데이터포트로 실제 연..
-
2015.01.24 뇌자극 명령 프롬프트 프로젝트Legacy/뇌자극 - WinSysProg 2015. 1. 24. 19:52
명령 프롬프트 프로젝트 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143#include #include #include #include #include #define STR_LEN 256..
-
2015.01.22 커널 오브젝트 Usage CountLegacy/뇌자극 - WinSysProg 2015. 1. 21. 09:56
커널 오브젝트와 Usage Count"커널 오브젝트는 프로세스에 종속적인 것이 아니라, 운영체제에 종속적인 관계로 커널 오브젝트 소멸시기는 운영체제에 의해서 결정된다."보통 커널 오브젝트를 생성한 주체가 커널 오브젝트를 소멸시킬 권한(소멸시킬 시점을 결정지을 권한)을 가지고 있다고 생각한다. 이는 맞는 말이지만, 커널 오브젝트를 생성한 주체가 누구냐는 오해할 소지가 있다. 커널 오브젝트를 생성한 주체는 CreateProcess 함수를 호출하는 프로그래머가 아니라, 이 함수의 호출을 받은 운영제체가 커널 오브젝트 생성의 주체이다. CloseHandle 함수에 대한 정확한 이해A라는 프로세스가 생성되면, A 프로세스를 위한 커널 오브젝트가 생성된다. 이때 커널 오브젝트는 완전히 프로세스를 대표하게 된다."프..
-
2015.01.20 커널 오브젝트Legacy/뇌자극 - WinSysProg 2015. 1. 20. 22:43
커널 오브젝트커널 : 운영하는 데 있어서 중심이 되는 운영체제 핵심 부분을 뜻함커널 오브젝트 : 커널에서 관리하는 중요한 정보를 담아둔 데이터 블록 운영체제가 프로세스를 관리하기 위해 프로세스에 관련된 몇몇 정보를 저장할 수 있어야 하고, 참조 및 변경도 가능해야 한다. 이를 위해 Windows 운영체제 개발자들은 구조체 하나를 정의하기에 이른다. 이 구조체는 프로세스 상태 정보를 저장하기 위해 정의한 것.프로세스가 생성될 때마다 이러한 구조체 변수가 하나씩 생성되고, 새롭게 생성된 프로세스 정보들로 초기화되는데, 이것이 바로 커널 오브젝트(Kernel Object)이다. 프로세스가 생성될 때에만 커널 오브젝트가 생성되는 것은 아니다. 프로세스 내에서 쓰레드를 생성할 때에도, IPC(Inter Proce..
-
CommandPrmpt_Two.cppLegacy/뇌자극 - WinSysProg 2015. 1. 19. 21:53
Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384#include #include #include #include #include #define STR_LEN 256#define CMD_TOKEN_NUM 10 TCHAR ERROR_CMD[] = _T("'%s'은(는) 실행할 수 있는 프로그램이 아닙니다. \n"); int CmdProcessing(void);TCHAR * StrLower(TCHAR *); int _tmain(in..
-
CommandPrmpt_One.cppLegacy/뇌자극 - WinSysProg 2015. 1. 19. 21:50
Colored By Color Scripter™1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677#include #include #include #include #include #define STR_LEN 256#define CMD_TOKEN_NUM 10 TCHAR ERROR_CMD[] = _T("'%s'은(는) 실행할 수 있는 프로그램이 아닙니다. \n"); int CmdProcessing(void);TCHAR * StrLower(TCHAR *); int _tmain(int argc, TCHAR ..
-
2015.01.19 CreateProcess를 이용한 프로세스 생성Legacy/뇌자극 - WinSysProg 2015. 1. 19. 21:49
CreateProcess를 이용한 프로세스 생성AdderProcess.cpp Colored By Color Scripter™123456789101112131415#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 Colored By Color Scripter™12345678910111213141516171819202122232425262728293031..
-
문자열 변수와 상수Legacy/C&C++ 2015. 1. 19. 20:22
■ 문자열을 표현하는 방법은 크게 두가지가 있다. char str1[5] = "abcd"; //문자열 변수 char *str2 = "ABCD"; //문자열 상수 (1) 문자열 변수 : 요소가 char형인 str1이라는 이름의 배열을 선언하고, 대입 연산자 오른쪽에 선언된 문자열을 저장하고 있다. 따라서 str1이 저장하고 있는 문자열은 변수가 된다. [ a | b | c | d | \0 ] str1[0] str1[1] str1[2] str1[3] str1[4] (2) 문자열 상수 : 대입 연산자의 왼쪽에 char형 포인터를 선언하고, 오른쪽에는 "ABCD"라는 문자열을 선언하고 있다. 이는 포인터 str2를 이용해서 문자열 상수"ABCD"를 가리키겠다는 의미가 된다. 따라서 str2는 문자열의 첫 문자 ..