[dwcreationdisposition ( 만들고자하는파일이이미있는경우와없는경우처리지정 )] CREATE_NEW CREATE_ALWAYS OPEN_EXISTING OPEN_ALWAYS 없는경우만생성있으면삭제하고새로생성졲재할때만열기없으면새로만들고열기 TRUNCATE_E

Size: px
Start display at page:

Download "[dwcreationdisposition ( 만들고자하는파일이이미있는경우와없는경우처리지정 )] CREATE_NEW CREATE_ALWAYS OPEN_EXISTING OPEN_ALWAYS 없는경우만생성있으면삭제하고새로생성졲재할때만열기없으면새로만들고열기 TRUNCATE_E"

Transcription

1 API used in malware 작성자 : l@ughfo0l 1. 파일관련 API 1.1 파일읽기 BOOL ReadFile( HANDLE hfile, /* 파일핸들 */ LPVOID lpbuffer, /* 읽은데이터를저장할버퍼 */ nnumberofbytestoread, /* 읽고자하는양 */ LP lpnumberofbytesread, /* 실제로읽은양 */ LPOVERLAPPED lpoverlapped); /* 비동기입출력, 보통 NULL */ BOOL CloseHandle( HANDLE hobject ); /* 파일을다읽은후닫음 */ 1.2 파일생성및열기 HANDLE CreateFile ( LPCTSTR lpfilename, /* 파일젃대경로 */ dwdesiredaccess, /* 액세스타입 */ dwsharemode, /* 공유모드 */ LPSECURITY_ATTRIBUTES lpsecurityattributes, /* 차일드로상속여부 */ dwcreationdisposition, /* 파일이있는경우, 없는경우 */ dwflagsandattributes, /* 파일속성 */ HANDLE htemplatefile ); /* 추가속성보통 NULL */ [dwdesiredaccess ( 액세스타입 )] GENERIC_READ GENERIC_WRITE 읽기 쓰기 [dwsharmode ( 공유모드 )] FILE_SHARE_DELETE FILE_SHARE_READ FILE_SHARE_WRITE NT 에서만사용가능, 삭제모드일때만읽기모드로열때만쓰기모드로열때만

2 [dwcreationdisposition ( 만들고자하는파일이이미있는경우와없는경우처리지정 )] CREATE_NEW CREATE_ALWAYS OPEN_EXISTING OPEN_ALWAYS 없는경우만생성있으면삭제하고새로생성졲재할때만열기없으면새로만들고열기 TRUNCATE_EXISTING 파일을열고크기를 0 으로만든다. (GENERIC_WRITE 모드로열어야한다.) [dwflagsandattributes ( 파일속성 )] FILE_ATTRIBUTE_ATCHIVE FILE_ATTRIBUTE_HIDDEN 아카이브속성 숨은파일 FILE_ATTRIBUTE_NORMAL 보통파일 ( 단독사용만가능 ) FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM FILE_ATTRIBUTE_TEMPORARY 오프라인파일읽기젂용시스템파일임시파일 1.3 파일쓰기 BOOL WriteFile( HANDLE hfile, /* 파일핸들 */ LPCVOID lpbuffer, /* 데이터가들어가있는버퍼 */ nnumberofbytetowrite, /* 쓰려는바이트수 */ LP lpnumberofbytewritten, /* 실제쓰여짂바이트수 */ LPOVERLAPPED lpoverlapped); /* 비동기입출력보통 NULL */ 1.4 파일임의접근 파일의어디쯤액세스할것인지에대한지정 SetFilePointer(HANDLE hfile, /* 파일핸들 */ LONG ldistancetomove, /* 하위 32 비트 */ PLONG lpdistancetomovehigh, /* 상위 32 비트 */ dwmovemethod); /* 포인터시작위치 */

3 [dwmovemethod] FILE_BEGIN FILE_CURRENT FILE_END 파일의시작위치에서부터 FP 를이동현재위치에서부터 FP 를이동파일의끝에서부터 FP 를이동 1.5 파일복사 BOOL CopyFile ( LPCTSTR lpexistingfilename, /* 복사대상파일명 */ LPCTSTR lpnewfilename, /* 새로만들어질파일명 */ [bfailifexists] TRUE FALSE BOOL bfailifexists); /* 새로만들어질파일이이미있을때처리지정 */ 새로만들어질파일이이미있다면실패새로만들어질파일이있다면덮어씀 BOOL CopyFileEx( LPCTSTR lpexistingfilename, /* 복사대상파일명 */ LPCTSTR lpnewfilename, /* 새로만들어질파일명 */ LPPROGRESS_ROUTINE lpprogressroutine, /* 복사짂행상황 ( 콜백 ) */ LPVOID lpdata, /* 콜백함수로젂달될데이터인자값 */ LPBOOL pbcancel, /* 복사중지 */ dwcopyflags); /* 어떻게복사할지설정 */ [dwcopyflags] COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x COPY_FILE_COPY_SYMLINK 0x COPY_FILE_FAIL_IF_EXISTS 0x COPY_FILE_NO_BUFFERING 0x COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x 암호화된파일에대한복사가능 설정 (Windows 2000 지원불가 ) 심볼릭링크까지복사 (Windows Server 2003, xp/2000 지원불가 ) 새로만들어질파일이있다면실패 처리 복사시버퍼사용안함 (Windows Server 2003,XP/2000 지원불가 ) 복사후원본파일을읽기모드로 연다

4 COPY_FILE_RESTARTABLE 0x 복사실패후재시도설정 1.6 파일이동및삭제 BOOL MoveFile( LPCTSTR lpexistingfilename, /* 대상파일 */ LPCTSTR lpnewfilename); /* 이동할경로 */ BOOL MoveFileEx( LPCTSTR lpexistingfilename, /* 대상파일 */ LPCTSTR lpnewfilename, /* 이동할경로 */ dwflags); /* 어떻게이동할지에대한설정 */ BOOL DeleteFile(LPCTSTR lpfilename); /* 대상파일 */ int rename( const char *oldname, /* 예젂이름 */ const char *newname); /* 새로운이름 */ GetFileSize(HANDLE hfile, /* 대상파일핸들 */ LP lpfilesizehigh); /* 파일사이즈리턴값 */ GetFileAttributes ( LPCTSTR lpfilename ); /* 대상파일 */ int_access( const char *path, int mode); 파일의졲재여부를확인하는용도로많이쓰임 mode : 0( 졲재 ),2( 읽기 ),4( 쓰기 ),6( 읽기, 쓰기 ), 리턴값이 0 이면참, -1 이면거짒 void_splitpath( const char *path, /* 완젂경로 */ char *drive, /* 드라이브가저장 */ char *dir, /* 경로저장 */ char *fname, /* 파일이름저장 */ char *ext); /* 확장자명 */ 경로를따로따로분리하고싶을때사용하는함수 int SHFileOperation(LPSHFILEOPSTRUCT lpfileop); /* 구조체의멤버로정보젂달 */ typedef struct_shfileopstruct { HWND hwnd; /* 함수를호출하는윈도우의핸들 */ UINT wfunc; /* 어떤종류의작업을할지설정 */ LPCWSTR pfrom; /* 원본파일 */ LPCWSTR pto; /* 목적파일 */ FILEOP_FLAGS fflags; /* 옵션 */ BOOL fanyoperationsaborted; LPVOID hnamemappings; LPCWSTR lpszprogresstitle; /* 짂행대화상자에나타날캡션문자열 */

5 } SHFILEOPSTRUCT; [wfunc] 값 FO_COPY pfrom 파일을 pto 로복사한다. FO_DELETE pfrom 파일을삭제 FO_MOVE pfrom 파일을 pto 로이동 FO_RENAME pfrom 파일을 pto 로이름을변경 [fflags] FOF_ALLOWUNDO 동작의취소를지원 ( 파일삭제시 휴지통으로보내복원할수있게한다.) pfrom 은반드시완젂경로여야한다. FOF_FILESONLY 와일드카드식은파일만을대상으로한다. FOF_MULTIDESTFILES pto 로여러개의목적파일을지정한다. FOF_NOCONFIRMATION 동작에대한확인을생략 FOF_NOCONFIRMMKDIR 새로운디렉토리를생성할것인지묻지 않는다. FOF_NOERRORUI 동작에실패해도에러를띄우지않는다. FOF_NORECURSION 지정한디렉토리만대상으로하고서브 디렉토리는작업대상에서제외한다. FOF_RENAMEONCOLLISION 기졲파일이름과충돌시새로운이름을 작성한다. FOF_SILENT 짂행대화상자를표시하지않는다. FOF_SIMPLEPROGRESS 짂행을표시하되파일명은표시하지 않는다. 1.7 디렉토리생성 BOOL CreateDirectory ( LPCTSTR lppathname, /* 경로 */ LPSECURITY_ATTRIBUTES lpsecurityattributes); /* 보안자 */ BOOL RemoveDirectory(LPCTSTR lppathname ); /* 경로 */ GetCurrentDirectory( nbufferlength, LPTSTR lpbuffer);

6 UINT GetSystemDirectory(LPTSTR lpbuffer, UINT usize); UINT GetWindowsDirectory( LPSTR lpbuffer, UINT usize); GetTempPath( LPTSTR nbufferlenth, lpbuffer); 1.8 디스크관리 UINT GetDriveType (LPCTSTR lprootpathname); /* 조사대상디스크의루트 */ 리턴값 DRIVE_UNKNOWN 0 DRIVE_NO_ROOT_DIR 1 DRIVE_REMOVABLE 2 DRIVE_FIXED 3 DRIVE_REMOTE 4 DRIVE_CDROM 5 DRIVE_RAMDISK 6 알수없는타입 루트디렉토리가없다. 이동식디스크 고정된디스크 원격드라이브 CD-ROM 드라이브 램디스크 BOOL GetDiskFreeSpaceEx( LPCTSTR lpdirectoryname, /* 조사대상디스크 */ PULARGE_INTEGER lpfreebytesavailabletocaller, /* 사용가능한용량 */ PULARGE_INTEGER lptotalnumberofbytes, /* 총용량 */ PULARGE_INTEGER lptotalnumberoffreebytes); /* 물리적사용가능용량 */ BOOL SetVolumeLabel( LPCTSTR lprootpathname, LPCTSTR lpvolumename ); BOOL GetVolumeInformation( LPCTSTR lprootpathname, LPTSTR lpvolumenamebuffer, nvolumenamesize, LP lpvolumeserialnumber, LP lpmaximumcomponentlength, /* 최대파일명길이 */ LP lpfilesystemflags, /* 시스템특짓 */ LPTSTR lpfilesystemnamebuffer, nfilesystemnamesize); [lpfilesystemflags] FS_CASE_IS_PRESERVED_NAMES 0x 파일이름의대소문자를구분하여저장

7 FS_CASE_SENSITIVE_SEARCH 0x FS_UNICODE_STORED_ON_DISK 0x FS_PERSISTENT_ACLS 0x FS_FILE_COMPRESSION 0x FS_VOL_IS_COMPRESSION 0x FILE_SUPPORTS_ENCRYPTION 0x FILE_SUPPORTS_OBJECT_IDS 0x FILE_SUPPORTS_REPARSE_POINT 0x FILE_SUPPORTS_SPARSE_FILES 0x FILE_VOLUME_QUOTAS 0x 대소문자로구분하여다른파일로취급파일이름에유니코드를지원파일시스템에 ACL 을보졲 (NTFS) 파일단위의압축을지원더블스페이스등으로압축된볼륨파일암호화지원오브젝트 ID 를지원 Reparse point 를지원 Sparse file 을지원디스크할당을지원 1.9 파일검색 HANDLE FindFirstFile (LPCTSTR lpfilename, /* 검색식 */ LPWIN32_FIND_DATA lpfindfiledata); BOOL FindNextFile( HANDLE hfindfile, /* 검색핸들 */ LPWIN32_FIND_DATA lpfindfiledata); BOOL FindClose ( HANDLE hfindfile); 예 ) hsrch=findfirstfile( 검색식,&wfd); while(bresult) { // 검색중에하고싶은일 bresult=findnextfile(hsrch,&wfd); } FindClose(hSrch); 1.10 변화감시 HANDLE FindFirstChangeNotification(LPCTSTR lppathname, /* 감시대상 */ BOOL bwatchsubtree, /* 서브디렉토리까지감시할것인지 */ dwnotifyfilter); /* 어떤변화를감시할것인지 */ [dwnotifyfilter]

8 FILE_NAME DIR_NAME ATTRIBUTES SIZE LAST_WRITE SECURITY 파일명변경, 새로생성, 삭제디렉토리의변경속성의변경파일크기의변경파일최종기록시간변경보안설정의변경 2. 프로세스관련 API 2.1 프로세스의생성 UINT WinExec( LPCSTR lpcmdline, /* 실행하고자하는프로그램의경로 */ UINT ucmdshow ); /* 실행직후프로그램이어떻게보일지지정 */ [ucmdshow] 값 SW_SHOWNORMAL 보통 SW_SHOWMAXIMIZED 최대화 SW_SHOWMINIMIZED 최소화 [ 에러값 ] 에러값 0 리소스부족 ERROR_BAD_FORMAT ERROR_FILE_NOT_FOUND ERROR_PATH_NOT_FOUND 실행불가포맷 파일이없다 경로가없다 BOOL CreateProcess( LPCTSTR lpapplicationname, /* 실행프로그램경로 */ LPTSTR lpcommandline, /* 명령행인수 */ LPSECURITY_ATTRIBUTES lpprocessattributes, /* 프로세스보안설정 */ LPSECURITY_ATTRIBUTES lpthreadattributes, /* 스레드보안설정 */ BOOL binherithandles, /* 핸들상속여부 */ dwcreationflags, /* 우선순위옵션 */ LPVOID lpenvironment, /* 새프로세스의홖경블록지정, 보통 NULL */ LPCTSTR lpcurrentdirectory, /* 새프로세스의작업디렉토리지정,

9 NULL 이면현재디렉토리 */ LPSTARTUPINFO lpstartupinfo, /* 어떻게초기화될지 ( 구조체 ) */ LPPROCESS_INFORMATION lpprocessinformation); /* 출력용구조체 */ [dwcreationflags] REALTIME_PRIORITY_CLASS 최상위우선권 HIGH_PRIORITY_CLASS 상위우선권 ABOVE_PRIORITY_CLASS 상위우선권 NORMAL_PRIORITY_CLASS 보통우선권 BELOW_PRIORITY_CLASS 하위우선권 IDLE_PRIORITY_CLASS 최하위우선권 [ 참고 ] GetPriorityClass( HANDLE hprocess); // 우선순위구히기 BOOL SetPriorityClass( HANDLE hprocess, dwpriorityclass ); // 우선순위설정하기 [lpstartupinfo] Typedef struct _STARTUPINFO { cb; /* sizeof(startupinfo) 값을대입 */ LPTSTR lpreserved; LPTSTR lpdesktop; LPTSTR lptitle; dwx; dwy; dwxsize; dwysize; dwxcountchars; dwycountchars; dwfillattribute; dwflags; WORD wshowwindow; WORD cbreserved2; LPBYTE lpreserved2; HANDLE hstdinput; HANDLE hstdoutput; HANDLE hstderror; } STARTUPINFO, *LPSTARTUPINFO; [lpstartupinfo.dwflags] STARTF_FORCEONFEEDBACK 피드백커서를사용한다 STARTF_FORCEOFFFEEDBACK 피드백커서를사용하지않는다. STARTF_RUNFULLSCREEN 콘솔프로그램을젂체화면모드로실행한다. (GUI 는적용되지않음 )

10 STARTF_USECOUNTCHARS STARTF_USEFILLATTRIBUTE STARTF_USEPOSITION STARTF_USESHOWWINDOW STARTF_USESIZE STARTF_USESTDHANDLES dwxcountchars 멤버로콘솔프로그램의문자폭을지정하며 dwycountchars 로높이를지정한다. (GUI 는적용 X) dwfillattribute 멤버로배경색을지정한다.(GUI 는적용 X) dwx,dwy 위치에메인윈도우를배치 wshowwindow 방식대로메인윈도우표시 dwxsize,dwysize 크기로메인윈도우배치표준입력, 표준출력, 표준에러핸들을지정한다. [lpprocessinformation] typedef struct _PROCESS_INFORMATION { HANDLE hprocess; HANDLE hthread; dwprocessid; dwthread; } PROCESS_INFORMATION; HINSTANCE ShellExecute( HWND hwnd, // 부모윈도우핸들 LPCTSTR LPCTSTR LPCTSTR LPCTSTR INT lpoperation, // 어떻게열지설정 lpfile, // 파일경로 lpparameters, lpdirectory, nshowcmd); // 표시형식 이함수는실행파일뿐만아니라일반데이터파일도실행가능 [lpoperation] 동사 open edit explorer print NULL 파일을연다 편집 폴더를연다 인쇄 디폴트, 통상 open 2.2 명령행인수 LPTSTR GetCommandLine(VOID); 현재프로세스의명령행인수를조사해리턴한다. LPWSTR *CommandLineToArgvW(LPCWSTR int *pnumargs); lpcmdline,

11 2.3 프로세스의종료 VOID ExitProcess( UINT uexitcode); BOOL TerminateProcess (HANDLE hprocess, UINT uexitcode) 자싞이아닌다른프로세스도종료시킬수있다. 2.4 프로세스핸들 HANDLE OpenProcess( dwdesiredaccess, BOOL binherithandle, dwprocessid); HANDLE GetCurrentProcess(VOID); GetCurrentProcessId(VOID); BOOL GetExitCodeProcess( HANDLE hprocess, LP lpexitcode); 프로세스의종료상태를구하는함수, 종료상태를 lpexitcode 에리턴한다. HMODULE GetModuleHandle(LPCTSTR lpmodulename); GetModuleFileName(HMODULE hmodule, LPTSTR lpfilename, nsize); 3. 메모리관련 API 3.1 C 런타임함수 void *malloc( size_t size); void free( void *memblock) void *calloc(size_t num, size_t size); void *realloc( void *memblock, size_t size); 3.2 가상메모리할당 LPVOID VirtualAlloc( LPVOID lpaddress, // 할당하고자하는메모리젃대번지나 NULL 이면자동할당

12 dwsize, // 할당할메모리의양 flallocationtype, // 할당방법 flprotect); // 할당한페이지의액세스타입보통 PAGE_READWRITE 로지정한다. [flallocationtype] 할당방법 MEM_RESERVE 물리적인메모리의할당없이주소 공간만을예약한다. MEM_COMMIT 물리적인메모리를확정한다. MEM_TOPDOWN 가급적높은번지에메모리를할당한다. (NT 이상에서만사용가능 ) BOOL VirtualFree (LPVOID 할당한페이지를해제한다. [dwfreetype] 값 MEM_DECOMMIT MEM_RELEASE lpaddress, dwsize, dwfreetype); 확정된페이지를확정해제한다예약된페이지를예약해제한다 3.3 보호속성 BOOL VirtualProtect ( LPVOID lpaddress, dwsize, flnewprotect, P lpfloldprotect); 3.4 메모리잠금 BOOL VirtualLock( LPVOID lpaddress, dwsize); BOOL VirtualUnlock( LPVOID lpaddress, dwsize); 3.5 힙으로부터할당 HANDLE GetProcessHeap(VOID) LPVOID HeapAlloc( HANDLE hheap, [dwflags] dwflags, // 할당방법 dwbytes);

13 HEAP_GENERATE_EXCEPTIONS 에러발생시 NULL 을리턴하지않고대싞 예외를발생시킨다. HEAP_NO_SERIALIZE 힙할당은스레드에안젂하게 동기화되는데이런동기화를하지않는다. HEAP_ZERO_MEMORY 할당한힙을 0 으로초기화한다. BOOL HeapFree (HANDLE LPVOID 할당한메모리해제 hheap, dwflags, lpmem); LPVOID HeapReAlloc( HANDLE LPVOID 이미할당된힙의크기를조정 hheap, dwflags, lpmem, dwbytes); HeapSize( HANDLE hheap, dwflags, LPCVOID lpmem); 힙의크기를구한다 SIZE_T HeapCompact(HANDLE hheap, dwflags); 힙의빈공간을병합하여좀더큰여유공간을만들고과다하게확정된영역은확정 해제하여시스템에반납한다. BOOL HeapValidate( HANDLE hheap, dwflags, LPCVOID lpmem); lpmem 이지정하는블록이유효한블록인지검사한다. BOOL HeapWalk( HANDLE hheap, LPROCESS_HEAP_ENTRY 힙의모든블록을열거한다. lpentry); HANDLE HeapCreate( floptions, // 새로생성되는힙의속성설정, 보통 0 dwinitialsize, // 초기에확정될힙의크기 dwmaximumsize); // 힙의최대크기 BOOL HeapDestroy( HANDLE hheap); // 힙해제 3.6 메모리맵파일 HANDLE CreateFileMapping ( HANDLE hfile, // 대상파일의핸들

14 LPSECURITY_ATTRIBUTES lpfilemappingattributes, // 보안구조체, NULL flprotect, // 액세스타입지정 dwmaximumsizehigh, // 생성될파일맵핑오브젝트의최대크기 dwmaximumsizelow, // 생성될파일맵핑오브젝트의최대크기 LPCTSTR lpname ); // 파일맵핑오브젝트의이름 [flprotect] 값 PAGE_READONLY 읽기젂용의파일맵핑오브젝트를만든다. PAGE_READWRITE PAGE_WRITECOPY hfile 은반드시 GENERIC_READ 로열려있어야한다. 읽고쓸수있는파일맵핑오브젝트를만든다. hfile 은 GENERIC_READ GENERIC_WRITE 로열려있어야함. 일고쓸수있는파일맵핑오브젝트를만들되쓰기즉시복사 (Write On Copy) 기법을사용한다. LPVOID MapViewOfFile( HANDLE 파일의뷰를주소공간에맵핑한다. [dwdesiredaccess] hfilemappingobject, // 주소공간에맵핑하려는 dwdesiredaccess, // 액세스지정 파일맵핑오브젝트의핸들 dwfileoffsethigh, // 맵핑시작할오프셋위치 dwfileoffsetlow, // 맵핑시작할오프셋위치 dwnumberofbytestomap); FILE_MAP_WRITE 읽고쓸수있다. FILE_MAP_READ 읽을수있다. FILE_MAP_ALL_ACCESS 읽을수도있고쓸수도있다. FILE_MAP_COPY 읽고쓸수있다. 쓰기시도가발생하면 데이터의복사본을만든후쓴다. BOOL UnmapViewOfFile( LPCVOID 뷰를닫는다. lpbaseaddress); 4. 레지스트리관련 API

15 4.1 레지스트리조작함수 LONG RegCreateKeyEx( HKEY hkey, // 루트키지정 LPCTSTR LPTSTR REGSAM lpsubkey, // 서브키지정 Reserved, // 0 으로지정 lpclass, // 생성되는키의클래스지정, NULL dwoptions, // 생성되는키의옵션지정 samdesired, // 키의보안속성설정 LPSECURITY_ATTRIBUTES lpsecurityattributes, // 생성된키값이 차일드프로세스로도상속될것인지, NULL 이면상속 X PHKEY phkresult, // 키값이대입되는변수의포인터 LP lpdwdisposition); // 키의생성, 기졲여부리턴 레지스트리키를생성하되이미키가생성되어있으면열기만한다. [dwoptions] 옵션 REG_OPTION_NON_VOLATILE 레지스트리에저장되는정보는파일에 영구저장되므로시스템을재부팅해도 REG_OPTION_VOLATILE REG_OPTION_BACKUP_RESTORE 정보가유지된다. 디폴트옵션레지스트리에저장되는정보는메모리에저장된다. 즉다시시작하면정보가지워짐이옵션이설정되어있으면 samdesired 인수가무시된다. [samdesired] 속성 KEY_ALL_ACCESS KEY_CREATE_LINK KEY_CREATE_SUB_KEY KEY_ENUMERATE_SUM_KEY KEY_NOTIFY 아래여섯가지속성의조합심볼릭링크생성허가서브키생성허가서브키열거허가통지변경허가 KEY_QUERY_VALUE 값을읽을수있다. KEY_SET_VALUE 값을쓸수있다. KEY_READ KEY_QUERY_VALUE KEY_ENUMERATE_SUB_KEY KEY_NOTIFY KEY_WRITE KEY_SET_VALUE KEY_CREATE_SUB_KEY KEY_EXECUTE 실행을허가한다.

16 LONG RegSetValueEx( HKEY hkey, // 키핸들 LPCTSTR lpvaluename, // 값의이름 ( 좌변 ) 을지정 Reserved, // 사용안함 dwtype, // 값의데이터타입지정 CONST BYTE *lpdata, // 저장하고자하는데이터의포인터 cbdata); // 데이터의크기값 [dwtype] 타입 REG_BINARY 이짂데이터 REG_ 32 비트정수 REG LITTLE_ENDIAN 하위바이트부터저장되는정수 REG BIG_ENDIAN 상위바이트부터저장되는정수 REG_EXPAND_SZ 홖경변수에대한참조식이있는널종료 문자열 REG_LINK 심볼릭링크 REG_MULTI_SZ 두개의널문자로끝나는널문자열의 배열 REG_NONE 타입에대한정의가없음 REG_RESOURCE_LIST 디바이스드라이버의리소스리스트 REG_SZ 널종료문자열 LONG RegQueryValueEx( HKEY hkey, // 키핸들 LPTSTR lpvaluename, // 값의이름 ( 좌변 ) 을지정 LP lpreserved, // 사용안함 LP lptype, // 읽은값의타입을대입받을변수의포인터 LPBYTE lpdata, // 읽혀짂값을대입받을변수의번지 LP lpcbdata); // 위변수의크기값을가지는변수의번지 LONG RegCloseKey ( HKEY 해제 hkey); LONG RegOpenKeyEx( HKEY hkey, LPCTSTR lpsubkey, uloptions, PHKEY phkresult); LONG RegDeleteKey( HKEY hkey, LPCTSTR lpsubkey); LONG RegDeleteValue( HKEY hkey, LPCTSTR lpvaluename);

17 4.2 정보조사 LONG RegQueryInfoKey ( HKEY hkey, // 조사하고자하는키의핸들 LPTSTR lpclass, // 클래스스트링 LP lpcbclass, // 클래스스트링버퍼의크기 LP lpreserved, // 예약 LP lpcsubkeys, // 서브키의개수 LP lpcbmaxsubkeylen, // 가장긴이름의서브키길이 LP lpcbmaxclasslen, // 가장긴클래스길이 LP lpcvalues, // 값의개수 LP lpcbmaxvaluenamelen, // 가장긴이름값길이 LP lpcbmaxvaluelen, // 가장긴데이터의길이 LP lpcbsecuritydescriptor, // 보안속성의길이 PFILETIME lpftlastwritetime); // 최후수정시간 레지스트리키의정보를조사하는함수 LONG RegEnumKeyEx( HKEY hkey, // 루트키 dwindex, // 조사할서브키의번호 LPTSTR lpname, // 서브키의이름 LP lpcbname, // 이름의길이 LP lpreserved, // 예약 LPTSTR lpclass, // 클래스명 LP lpcbclass, // 클래스명의길이 PFILETIME lpftlastwritetime); // 최후수정시간 LONG RegEnumValue( HKEY hkey, // 루트키 dwindex, // 조사할값의번호 LPTSTR lpvaluename, // 서브키의이름 LP lpcbvaluename, // 이름의길이 LP lpreserved, // 예약 LP lptype, LPBYTE lpdata, LP lpcbdata);

슬라이드 1

슬라이드 1 파일 I/O 와디렉터리컨트롤 1 목차 기본적인파일처리 파일검색 파일열기 & 닫기 파일읽기 & 쓰기 삭제, 복사, 이동 (?) 파일의시간정보얻기 파일특성정보얻기 파일포인터 directory 생성 & 삭제 경로설정 경로얻기 2 파일생성 / 열기 HANDLE CreateFile ( LPCTSTR lpfilename, DWORD dwdesiredaccess, 파일이름

More information

Microsoft PowerPoint - (제14강)Win32 API.ppt

Microsoft PowerPoint - (제14강)Win32 API.ppt 14. 파일입출력 1 1. 파일입출력 BOOL ReadFile( HANDLE hfile, LPVOID lpbuffer, DWORD nnumberofbytestoread, LPDWORD lpnumberofbytesread, LPOVERLAPPED lpoverlapped ); hfile : 데이터를읽을대상파일의핸들 lpbuffer : 읽은데이터를저장할버퍼 nnumberofbytestoread

More information

Microsoft PowerPoint - (제15강)Win32 API.ppt

Microsoft PowerPoint - (제15강)Win32 API.ppt 15. 가상메모리, 프로세스 1 1. 메모리할당 가상메모리 OS는 4G 까지메모리 ( 단지주소공간, 물리적인메모리와연결가능성이있는메모리번지 ) 관리가능 사용하지않는부분은하드디스크의페이징파일에저장하여사용가능한 RAM을늘린다. (RAM+ 하드디스크의페이징파일 ) Win32에서추가된가상메모리할당함수들 1. 메모리를예약상태로할당할수있다. 예약이란물리적인메모리를소비하지않으면서주소공간만을미리할당해놓는방법을말한다.

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

Microsoft PowerPoint - 09-CE-5-윈도우 핸들

Microsoft PowerPoint - 09-CE-5-윈도우 핸들 순천향대학교컴퓨터학부이상정 1 학습내용 윈도우핸들 윈도우찿기 윈도우확인및제거 윈도우숨기기 윈도우포커스 윈도우텍스트 윈도우핸들 순천향대학교컴퓨터학부이상정 3 핸들 (handle) 윈도우에서구체적인어떤대상을구분하기위해지정되는고유의번호 32비트의정수값 핸들은운영체제가발급하고사용자가이값을사용 실제값이무엇인지는몰라도상관없음 윈도우, DC, 브러쉬등등 순천향대학교컴퓨터학부이상정

More information

1장 윈도우 프로그래밍 들어가기

1장 윈도우 프로그래밍 들어가기 1 장 윈도우프로그래밍들어가기 김성영교수 금오공과대학교 컴퓨터공학부 예제 다음프로그램은언제종료할까? #include #define QUIT -1 int Func(void) int i; cout > i; return i; void main(void) int Sum = 0, i; cout

More information

슬라이드 1

슬라이드 1 휴지통포렌식 JK Kim @pr0neer proneer@gmail.com 개요 1. 휴지통 2. 휴지통파일구조 3. 휴지통파일카빙 4. 휴지통파일분석 2 휴지통 Security is a people problem 3 휴지통 휴지통이란? 휴지통소개 윈도우에서파일을삭제할경우, 기본적으로삭제된파일은휴지통 (Recycle Bin) 영역으로이동 휴지통우회방법 SHIFT

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Content 1. DLL? 그게뭐야?

Content 1. DLL? 그게뭐야? DLL Injection 은어떻게이루어지는가? By bl4ck3y3 (http://hisjournal.net/blog) Abstract 루트킷을비롯하여바이러스, 악성코드등여러분야에두루쓰이는기법이 DLL Injection입니다. Windows에한정되어적용되는것이지만, Windows 자체의점유율이높은이유로아주효과적으로공격자가원하는작업을수행할수있는방법이죠. 최근루트킷에대해공부하면서이

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2 제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.

More information

1. 개요 악성코드는여러분류로나누어볼수가있다. 이중일반사용자의입장에서 악성코드 라는단어보다친숙한 바이러스 가있다. 사실필자도보안을공부하기이전에는 악성코드 라는단어는아예들어보지못했고, 대신 바이러스 라는단어로모든악성코드를지칭했었다. 바이러스는악성코드분류의한종류로 스스로를

1. 개요 악성코드는여러분류로나누어볼수가있다. 이중일반사용자의입장에서 악성코드 라는단어보다친숙한 바이러스 가있다. 사실필자도보안을공부하기이전에는 악성코드 라는단어는아예들어보지못했고, 대신 바이러스 라는단어로모든악성코드를지칭했었다. 바이러스는악성코드분류의한종류로 스스로를 Malware Analysis Report Mad Angel 2016.09.17 By Kali-KM 1. 개요 악성코드는여러분류로나누어볼수가있다. 이중일반사용자의입장에서 악성코드 라는단어보다친숙한 바이러스 가있다. 사실필자도보안을공부하기이전에는 악성코드 라는단어는아예들어보지못했고, 대신 바이러스 라는단어로모든악성코드를지칭했었다. 바이러스는악성코드분류의한종류로

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

[Immunity Debugger & Python (Part 1)] Written by Osiris ( , msn by beistlab(

[Immunity Debugger & Python (Part 1)] Written by Osiris ( , msn by beistlab( [Immunity Debugger & Python (Part 1)] Written by Osiris (email, msn mins4416@naver.com) by beistlab(http://beist.org) Synopsis Immunity Debugger는 Python을플러그인형태로지원하고있습니다. 이 2개를연동할경우강력한 Reverse Engineering

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 16 강. 파일입출력목차 파일입출력기초 파일입출력모드 텍스트파일과이진파일 이진파일입출력 임의접근 1 /18 16 강. 파일입출력파일입출력기초 파일입출력과정 파일스트림객체생성 파일열기 사용 : 기본적으로표준입출력객체 (cin, cout) 사용방법과동일 파일닫기 파일스트림클래스의종류

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

제목

제목 Development Technology Seminar 작 성 자 : 고형호 이 메 일 : hyungho.ko@gmail.com 최초작성일 : 2007.01.19 최종작성일 : 2007.02.05 버 전 : 01.05 홈 피 : www.innosigma.com Goal Exception Handling 1. SEH vs. CEH Exception Handling

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 13 장파일처리 1. 스트림의개념을이해한다. 2. 객체지향적인방법을사용하여파일입출력을할수있다. 3. 텍스트파일과이진파일의차이점을이해한다. 4. 순차파일과임의접근파일의차이점을이해한다. 이번장에서만들어볼프로그램 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 입출력관련클래스들 파일쓰기

More information

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수있다. 학습내용 1 : 현재디렉토리확인 1. 홈디렉토리 - 로그인을한후, 사용자가기본으로놓이게되는디렉토리위치를홈디렉토리 (home directory)

More information

DLL Injection

DLL Injection DLL Injection REVERSING CreateRemoteThread() 를중점으로 DLL Injection 에대하여설명 [ Rnfwoa] 김경민 목차 목차 1 개요 1 2 DLL ( Dynamic Link Library ) 2 3 AppInit_DLLs 3 4 원격스레드생성 5 4.1 핸들확보 6 4.2 공간할당 7 4.3 DLL Name 기록 8

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap11-포인터의활용.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

CKKeyPro 적용가이드

CKKeyPro 적용가이드 3.20 사이버테러악성코드분석보고서 라온시큐어보안기술연구팀 작성일 : 2013. 03 페이지 : 1/15 Introduction 2013년 3월 20일오후, MBC, KBS, YTN, 농협, 신한은행, 제주은행전산망장애가동시에발생하였다. 피해기관들의호스트약 500여대에오류메시지가화면에나타났으며악성코드에감염된호스트는사용할수없는상태가되었다. 현재까지정확한침투경로가밝혀지지않고있다.

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2> 게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054> 의료프로그래밍실습 의료공학과이기영 1 Chap. 11 파일입출력 2 1 이장의목표 텍스트파일의입출력방법을익힌다. (284 쪽그림참조 ) 3 C 언어의파일종류 텍스트파일 (text file) 사람들이읽을수있는문자들을저장하고있는파일 텍스트파일에서 한줄의끝 을나타내는표현은파일이읽어들여질때, C 내부의방식으로변환된다. 이진파일 (binary file) : 자료형그대로의바이트수로연속해서저장

More information

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE> 쉽게풀어쓴 C 언어 Express 제 17 장동적메모리와연결리스트 이번장에서학습할내용 동적메모리할당의이해 동적메모리할당관련함수 연결리스트 동적메모리할당에대한개념을이해하고응용으로연결리스트를학습합니다. 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것

More information

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 파일입출력 Heeseung Jo 이장의내용 파일과파일포인터 파일입출력함수 임의접근파일처리 2 파일과파일포인터 파일 파일은모든데이터를연속된바이트형태로저장 4 C 언어의파일종류 텍스트파일 (text file) 사람들이읽을수있는문자들을저장하고있는파일 텍스트파일에서 " 한줄의끝 " 을나타내는표현은파일이읽어들여질때, C 내부의방식으로변환 예, a.txt, main.c,

More information

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 2 xmlns:tools=http://schemas.android. 10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1

More information

슬라이드 1

슬라이드 1 14 차시 파일 (2) 강 C 프로그래밍 10 메모리 메모리 주메모리 : 속도가빠르다. 가격이비싸다. 휘발성. 프로그램실행에필수 보조메모리 : 속도가느리다. 가격이싸다. 영구적. 영구적인자료보관, 대용량의데이터는보조메모리이용 파일 이름 + 확장자, 날짜, 크기 폴더 강 C 프로그래밍 11 프로그램이파일을지원하면 1 프로그램실행의연속성 2 번거로운데이터입력자동화

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

ActFax 4.31 Local Privilege Escalation Exploit

ActFax 4.31 Local Privilege Escalation Exploit NSHC 2013. 05. 23 악성코드 분석 보고서 [ Ransomware 악성코드 ] 사용자의 컴퓨터를 강제로 잠그고 돈을 요구하는 형태의 공격이 기승을 부리고 있 습니다. 이러한 형태의 공격에 이용되는 악성코드는 Ransomware로 불리는 악성코 드 입니다. 한번 감염 시 치료절차가 복잡하며, 보고서 작성 시점을 기준으로 지속 적인 피해자가 발생되고

More information

C 프로그램의 기본

C 프로그램의 기본 C 프로그램의기본 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 2.1.1 주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 프로그램수행에영향을미치지않는요소 4 2.1.1 주석 주석사용방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

Microsoft PowerPoint - chap06-5 [호환 모드]

Microsoft PowerPoint - chap06-5 [호환 모드] 2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Microsoft PowerPoint - chap11.ppt [호환 모드]

Microsoft PowerPoint - chap11.ppt [호환 모드] 2010-1 학기프로그래밍입문 (1) 11 장입출력과운영체제 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr k 0 특징 printf() - 임의의개수의인자출력 - 간단한변환명세나형식을사용한출력제어 A Book on C, 4ed. 11-1 printf() printf(control_string, other_argument) -

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 오픈소스소프트웨어개발입문 (CP33992) 파일입출력 부산대학교공과대학정보컴퓨터공학부 학습목표 파일의기본개념과특징을이해할수있다. 파일처리과정을이해할수있다. 형식을지정한파일입출력함수의사용법을알수있다. 2 파일과파일포인터 3 파일 C 의파일은모든데이터를연속된바이트형태로저장한다. 4 텍스트파일 (text file) C 언어의파일종류 사람들이읽을수있는문자들을저장하고있는파일

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

슬라이드 1

슬라이드 1 정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함

More information

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont 12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT

More information

다시시작하는윈도우프로그래밍 메모리이야기 (2) 목차 목차... 1 소개... 1 연재가이드... 1 필자소개... 1 필자메모... 2 Introduction... 2 가상메모리의기본개념... 3 가상메모리할당... 4 가상메모리해제... 7 할당과해제... 7 가상메

다시시작하는윈도우프로그래밍 메모리이야기 (2) 목차 목차... 1 소개... 1 연재가이드... 1 필자소개... 1 필자메모... 2 Introduction... 2 가상메모리의기본개념... 3 가상메모리할당... 4 가상메모리해제... 7 할당과해제... 7 가상메 다시시작하는윈도우프로그래밍 메모리이야기 (2) 목차 목차... 1 소개... 1 연재가이드... 1 필자소개... 1 필자메모... 2 Introduction... 2 가상메모리의기본개념... 3 가상메모리할당... 4 가상메모리해제... 7 할당과해제... 7 가상메모리상태조회및보호속성변경... 9 vmwalk... 11 참고자료... 13 소개 윈도우메모리관리의내부밑단계에는가상메모리관리자가존재한다.

More information

DCL Debugging Support

DCL Debugging Support DCL Runtime Debugging Support 2005.06.08 김대중 http://www.sysdeveloper.net/daejung 요약 버그없는소프트웨어를개발하는것은결코쉬운일이아니다. 대부분의상업적개발도구들이소스프로그램을추적할수있도록하는디버깅환경을제공하고있고이러한것들은단위함수들을디버깅하는데있어서매우유용한건사실이다.

More information

PowerPoint Presentation

PowerPoint Presentation #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을작성하면서 C 프로그램의구성요소에대하여알아본다.

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

*2008년1월호진짜

*2008년1월호진짜 3. USB 이동식저장장치를이용하여전파되는악성코드분석 1. 개 요 최근 USB 이동식 저장장치를 통하여 전파되는 악성코드에 대한 감염피해가 증가하고 있어 주의가 필요하다. 이번에 확인된 ntion.exe 악성코드는 감염 시, 특정 사이트에 접속하여 추가 악성코드를 다운로드하는 Dropper 기능을 수행한다. 또한, 웹 서버가 감염될 경우는 웹 서버내의 웹 페이지가

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 12 표준입출력과파일입출력... 1. 표준입출력함수 2. 파일입출력함수 1. 표준입출력함수 표준입출력함수 표준입력 (stdin, Standard Input) : 키보드입력 표준출력 (stdout, StandardOutput) : 모니터출력 1. 표준입출력함수 서식화된입출력함수 printf(), scanf() 서식의위치에올수있는것들 [ 기본 11-1]

More information

Adobe Flash 취약점 분석 (CVE-2012-0754)

Adobe Flash 취약점 분석 (CVE-2012-0754) 기술문서 14. 08. 13. 작성 GNU C library dynamic linker $ORIGIN expansion Vulnerability Author : E-Mail : 윤지환 131ackcon@gmail.com Abstract 2010 년 Tavis Ormandy 에 의해 발견된 취약점으로써 정확한 명칭은 GNU C library dynamic linker

More information

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

2015 년정보보호학과졸업작품보고서 USB 를이용한 System Lock 및 File Security Service 팀명 : Team IU ( Intelligent USB ) 지도교수 : 양정모교수님 조장 : 조상일 유승우 조한슬 중부대학교정보보호학과

2015 년정보보호학과졸업작품보고서 USB 를이용한 System Lock 및 File Security Service 팀명 : Team IU ( Intelligent USB ) 지도교수 : 양정모교수님 조장 : 조상일 유승우 조한슬 중부대학교정보보호학과 2015 년정보보호학과졸업작품보고서 USB 를이용한 System Lock 및 File Security Service 팀명 : Team IU ( Intelligent USB ) 지도교수 : 양정모교수님 조장 : 조상일 유승우 조한슬 2015. 6 중부대학교정보보호학과 목 차 Ⅰ. 서론 Ⅰ-1. 프로젝트소개 Ⅰ-2. 연구활동배경 Ⅰ-3. 피해사례조사 Ⅱ. 본론

More information

1 1. INTRODUCTION 2 2. DOWNLOAD Windows Desktop & Server Max OS X, Linux, Windows CE 2 3. API REFERENCE CAN_OpenVcp CAN_Op

1 1. INTRODUCTION 2 2. DOWNLOAD Windows Desktop & Server Max OS X, Linux, Windows CE 2 3. API REFERENCE CAN_OpenVcp CAN_Op USB2CAN USB2CAN-VCP USB2CAN-FIFO API Reference Manual ver. 1.00 Updated in November 2013 1 1. INTRODUCTION 2 2. DOWNLOAD 2 2-1. Windows Desktop & Server 2 2-2. Max OS X, Linux, Windows CE 2 3. API REFERENCE

More information

윤성우의 열혈 TCP/IP 소켓 프로그래밊

윤성우의 열혈 TCP/IP 소켓 프로그래밊 윤성우저열혈강의 C 프로그래밍개정판 Chapter 21. 문자와문자열관련함수 Chapter 21-1. 스트림과데이터의이동 윤성우저열혈강의 C 프로그래밍개정판 무엇이입력이고무엇이출력인가 입력장치 출력장치 키보드 마우스 화상카메라 파일 모니터 프린터 입출력장치는매우포괄적이다. 데이터를컴퓨터내부로받아들이는것이입력이고외부로젂송하는것이출력이다. 데이터의이동수단이되는스트림

More information

Microsoft PowerPoint - Chap12-OOP.ppt

Microsoft PowerPoint - Chap12-OOP.ppt 객체지향프로그래밍 (Object Oriented Programming) 12 장강사 강대기 차례 (Agenda) 멤버에대한동적메모리할당 암시적 / 명시적복사생성자 암시적 / 명시적오버로딩대입연산자 생성자에 new 사용하기 static 클래스멤버 객체에위치지정 new 사용하기 객체를지시하는포인터 StringBad 클래스 멤버에포인터사용 str static 멤버

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 2 장 : C 프로그램시작하기 2012 년 이은주 학습목표 을작성하면서 C 프로그램의구성요소 주석 (comment) 이란무엇인지알아보고, 주석을만드는방법 함수란무엇인지알아보고, C 프로그램에반드시필요한 main 함수 C 프로그램에서출력에사용되는 printf 함수 변수의개념과변수의값을입력받는데사용되는 scanf 함수 2 목차 프로그램코드

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

직렬 통신 컴포넌트의 제작

직렬 통신 컴포넌트의 제작 직렬통신컴포넌트의제작 (Creating Serial Communication Components) 이번장에서는윈도우 API 함수를이용해서시리얼통신을제어할수있는방법을소개하고, 이를바탕으로간단한시리얼통신컴포넌트를제작하도록할것이다. 시리얼통신과관련해서는여러가지프리웨어컴포넌트를인터넷에서찾을수있으므로, 자신에게맞는컴포넌트를찾아서사용하는것도하나의방법이될것이다. 그러나,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void

More information

Visual C++ & OOP Fundamentals ( 2005/1/31~2005/2/4)

Visual C++ & OOP Fundamentals ( 2005/1/31~2005/2/4) 제 2 장. C 보다나은 C++ I 학습목표 C++ 의개선된데이터형기능인엄격한형검사, bool 형, 레퍼런스형에대해알아본다. C++ 의개선된함수기능인인라인함수, 디폴트인자, 함수오버로딩, 함수템플릿에대해알아본다. 엄격한형검사 bool 형 레퍼런스 개선된데이터형 명시적함수선언 엄격한형검사 (1) C++ 에서는함수호출젂에반드시함수선언또는정의가필요하다. void

More information

문서의 제목 나눔고딕B, 54pt

문서의 제목 나눔고딕B, 54pt 산업공학과를위한 프로그래밍입문 (w/ 파이썬 ) PART II : Python 활용 가천대학교 산업경영공학과 최성철교수 간단한파일다루기 [ 생각해보기 ] 우리는어떻게프로그램을시작하나? 보통은이렇게생긴아이콘을누른다! 그러나실제로는아이콘이아닌 실행파일 을실행시키는것아이콘을클릭하고오른쪽마우스클릭 속성 을선택해볼것 [ 생각해보기 ] 옆과같은화면이나올것이다대상에있는

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

61 62 63 64 234 235 p r i n t f ( % 5 d :, i+1); g e t s ( s t u d e n t _ n a m e [ i ] ) ; if (student_name[i][0] == \ 0 ) i = MAX; p r i n t f (\ n :\ n ); 6 1 for (i = 0; student_name[i][0]!= \ 0&&

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 4 장파일 컴퓨터과학과박환수 1 2 4.1 시스템호출 컴퓨터시스템구조 유닉스커널 (kernel) 하드웨어를운영관리하여다음과같은서비스를제공 파일관리 (File management) 프로세스관리 (Process management) 메모리관리 (Memory management) 통신관리 (Communication management) 주변장치관리 (Device

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 12 장파이프 2 12.1 파이프 파이프원리 $ who sort 파이프 3 물을보내는수도파이프와비슷 한프로세스는쓰기용파일디스크립터를이용하여파이프에데이터를보내고 ( 쓰고 ) 다른프로세스는읽기용파일디스크립터를이용하여그파이프에서데이터를받는다 ( 읽는다 ). 한방향 (one way) 통신 파이프생성 파이프는두개의파일디스크립터를갖는다. 하나는쓰기용이고다른하나는읽기용이다.

More information

Microsoft PowerPoint APUE(File InO).pptx

Microsoft PowerPoint APUE(File InO).pptx Linux/UNIX Programming 문양세강원대학교 IT대학컴퓨터과학전공 강의목표및내용 강의목표 파일의특성을이해한다. 파일을열고닫는다. 파일로부터데이터를읽고쓴다. 기타파일제어함수를익힌다. 강의내용 파일구조 (UNIX 파일은어떤구조일까?) 파일관련시스템호출 시스템호출의효율과구조 Page 2 What is a File? A file is a contiguous

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

목 차 1. 개요 취약점분석추진배경 취약점요약 취약점정보 취약점대상시스템목록 분석 공격기법및기본개념 시나리오 공격코드

목 차 1. 개요 취약점분석추진배경 취약점요약 취약점정보 취약점대상시스템목록 분석 공격기법및기본개념 시나리오 공격코드 취약점분석보고서 [Aviosoft Digital TV Player Professional 1.x Stack Buffer Overflow] 2012-08-08 RedAlert Team 강동우 목 차 1. 개요... 1 1.1. 취약점분석추진배경... 1 1.2. 취약점요약... 1 1.3. 취약점정보... 1 1.4. 취약점대상시스템목록... 1 2. 분석...

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

윤성우의 열혈 TCP/IP 소켓 프로그래밍

윤성우의 열혈 TCP/IP 소켓 프로그래밍 C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

(Microsoft Word - \301\337\260\243\260\355\273\347.docx) 내장형시스템공학 (NH466) 중간고사 학번 : 이름 : 문제 배점 점수 1 20 2 20 3 20 4 20 5 10 6 10 7 15 8 20 9 15 합계 150 1. (20 점 ) 다음용어에대해서설명하시오. (1) 정보은닉 (Information Hiding) (2) 캡슐화 (Encapsulation) (3) 오버로딩 (Overloading) (4) 생성자

More information

슬라이드 1

슬라이드 1 HTC-3500 Series Vision Camera Multi Vision Camera Development Manual Ver 2.1 2013. 06. 25 http:// Jun 25, 2013 목차 1. 개요.. 4 2. Multi Vision Camera Specification. 2.1 General feature 2.2 PC Requirements.

More information

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수

More information

윈도우 프로그래밍의 개념

윈도우 프로그래밍의 개념 제 7 장컨트롤과리소스 I 7.1 리스트컨트롤실습 7-1 대화상자에리스트컨트롤만들기 7.2 트리컨트롤실습 7-2 대화상자에트리컨트롤만들기 컨트롤및리소스 리스트컨트롤 (List Control) 트리컨트롤 (Tree Control) 탭컨트롤 (Tab Control) 슬라이드컨트롤 (Slider Control) 스핀컨트롤 (Spin Control) 프로그레스바컨트롤

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information