슬라이드 1

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

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

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

직렬 통신 컴포넌트의 제작

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

제목

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

CKKeyPro 적용가이드

3.20 테러 악성코드바이너리분석 손충호 (StolenByte) WOWHACKER Group 해당문서는 WOWHACKER Group 의문서이므로, 무단도용및수 정및변조는할수없습니다. 페이지 1 / 20

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

디지털포렌식학회 논문양식

UI TASK & KEY EVENT

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

IRP란 무엇인가

설계란 무엇인가?

Adobe Flash 취약점 분석 (CVE )

연구보고서 작성 취약점분석을위한퍼징 (Fuzzing) 부경대학교 CERT-IS 김연재, 최종학, 신명재 이인회, 이재호, 최자운, 박지환 * 본문서는대학정보보호동아리연합회 (

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

슬라이드 1

adfasdfasfdasfasfadf

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

³»Áö¼öÁ¤

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

PowerPoint 프레젠테이션

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

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

PowerPoint 프레젠테이션

Chapter 05. 파일접근권한관리하기

7장. 교착상태(deadlock)

쉽게 풀어쓴 C 프로그래밍

Windows 시스템 프로그래밍 제3판

°£È£ 1~8 1È£š

Microsoft Word - Dropper.Agent D.doc

API 매뉴얼

3D Game Programming Note

BMP 파일 처리

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

디지털영상처리3

KNK_C_05_Pointers_Arrays_structures_summary_v02

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

벤처연구사업(전동휠체어) 평가

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

Microsoft PowerPoint - 09network.ppt

제1장 Unix란 무엇인가?

PowerPoint 프레젠테이션

슬라이드 1

슬라이드 1

Microsoft PowerPoint 웹 연동 기술.pptx

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft Word - USB File System Module User Manual _Host Mass Storage Class_.doc

歯MDI.PDF

chap 5: Trees

PowerPoint 프레젠테이션

윈도우 프로그래밍의 개념

H3250_Wi-Fi_E.book

슬라이드 1

Malware Analysis

The Pocket Guide to TCP/IP Sockets: C Version

슬라이드 1


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

<B1E2BCFAB9AEBCAD28C0CCB5BFBCF6295F F6F6B696E672E687770>

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

11장 포인터

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

Microsoft PowerPoint - chap4 [호환 모드]

Microsoft Word doc

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


제12장 파일 입출력

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

PowerPoint 프레젠테이션

ePapyrus PDF Document

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

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

<4D F736F F F696E74202D204B FC7C1B7CEB1D7B7A55F F6E48616E646C6572B8A6C5EBC7D1BFA1B7AFB0CBC3E2B9D7BCF6C1A

고객 카드

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

<4D F736F F D20C0A9B5B5BFECBDC3BDBAC5DB5FBBF9C7C3B1B3C0E75FC7A5C1F6>

C Programming

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

* 자원복구 * - 이동형저장장치오류 : 장치를찾을수없습니다. 포맷하세요.. 복구방법 : 1) 포맷진행 - 빠른포맷 2) 데이터복구프로그램을이용하여복구국내 : finaldata - 파티션복구 : Acronis Disk Directory Suit - 데이터복구 : R-s

Microsoft Word - ASG AT90CAN128 모듈.doc

PowerPoint 프레젠테이션

Microsoft PowerPoint - o10-19.pptx

Microsoft Word - hook4.doc

4S 1차년도 평가 발표자료

K&R2 Reference Manual 번역본

Microsoft PowerPoint - Chap14_FileAccess.pptx

Microsoft PowerPoint - GameProgramming13-DirectSound.ppt

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

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

Microsoft PowerPoint APUE(File InO).pptx

<4D F736F F F696E74202D203032C0E520C0AFC6BFB8AEC6BC20C5ACB7A1BDBABFCD20C1FDC7D520C5ACB7A1BDBA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>

PowerPoint Template

PowerPoint 프레젠테이션


Microsoft PowerPoint - 제11강 파일 처리

Transcription:

파일 I/O 와디렉터리컨트롤 1

목차 기본적인파일처리 파일검색 파일열기 & 닫기 파일읽기 & 쓰기 삭제, 복사, 이동 (?) 파일의시간정보얻기 파일특성정보얻기 파일포인터 directory 생성 & 삭제 경로설정 경로얻기 2

파일생성 / 열기 HANDLE CreateFile ( LPCTSTR lpfilename, DWORD dwdesiredaccess, 파일이름 읽기 / 쓰기권한지정 DWORD dwsharemode, LPSECURITY_ATTRIBUTES lpsecurityattributes, DWORD dwcreationdisposition, DWORD dwflagsandattributes, HANDLE htemplatefile dwdesiredaccess GENERIC_READ GENERIC_WRITE 동시접근보안 동일특성의새파일생성시 dwsharemode 0, FILE_SHARE_READ FILE_SHARE_WRITE 3

파일생성 / 열기 HANDLE CreateFile ( LPCTSTR lpfilename, DWORD dwdesiredaccess, DWORD dwsharemode, LPSECURITY_ATTRIBUTES lpsecurityattributes, DWORD dwcreationdisposition, DWORD dwflagsandattributes, HANDLE htemplatefile 생성 / 덮어쓰기등 CREATE_ALWAYS 새파일생성 / 기졲파일 : 덮어쓰기 CREATE_NEW 새파일생성 / 기졲파일 : 함수실패 OPEN_ALWAYS 기졲파일열기 / 없으면실패 OPEN_EXISTING 기졲파일열기 / 없으면새로생성 TRUNCATE_EXISTING 파일길이 0 설정 4

파일생성 / 열기 HANDLE CreateFile ( LPCTSTR lpfilename, DWORD dwdesiredaccess, DWORD dwsharemode, LPSECURITY_ATTRIBUTES lpsecurityattributes, DWORD dwcreationdisposition, DWORD dwflagsandattributes, HANDLE htemplatefile 파일특성 / 플래그 특성 (15개) FILE_ATTRIBUTE_NORMAL 다른특성이없을때 FILE_ATTRIBUTE_READONLY 응용이쓰기 / 삭제할수없음 플래그 (10개) FILE_FLAG_DELETE_ON_CLOSE 마지막파일핸들이 close될때, 파일이삭제됨 FILE_FLAG_OVERLAPPED 비동기 I/O 설정 5

파일닫기 BOOL CloseHandle( HANDLE hobject 6

파일읽기 BOOL ReadFile ( HANDLE hfile, LPVOID lpbuffer, DWORD nnumberofbytestoread, LPDWORD lpn umberofbytesread, LPOVERLAPPED lpoverlapped 파일핸들읽기메모리버퍼읽어들일개수실제읽은개수중첩 I/O, offset 7

파일쓰기 BOOL WriteFile ( HANDLE hfile, LPVOID lpbuffer, DWORD nnumberofbytestowrite, LPDWORD lpnumberofbyteswrite, LPOVERLAPPED lpoverlapped 파일핸들쓰기메모리버퍼쓰기개수실제쓴개수중첩 I/O, offset 8

파일포인터 (1) 파일임의접근을위해파일포인터를임의의값으로설정 DWORD SetFilePointer( HANDLE hfile, LONG ldistancetomove, PLONG lpdistancetomovehigh, DWORD dwmovemethod 파일핸들파일포인터이동거리 ( 하위 ) 파일포인터이동거리 ( 상위 ) 이동방법 9

파일포인터 (2) 파일 FILE_BEGIN FILE_CURRENT FILE_END + 이동거리 -이동거리 + 이동거리 -이동거리 + 이동거리 10

파일포인터 (3) 4GB 미맊파일크기표현 : DWORD 32bit 정수표현 DWORD : 00000000 ~ FFFFFFFF 2 32 1 : 에러값으로사용 표현가능파일크기 : 0 ~ 2 32-2. 0 2 32-2 11

파일포인터 (4) 4GB 이상파일크기표현 : DWORD + DWORD : LARGE_INTEGER 32bit + 32bit 정수표현 하위 DWORD : 00000000 ~ FFFFFFFF 상위 DWORD : 00000000 ~ FFFFFFFF 표현가능파일크기 : 0 ~ 2 64-1. 2 32 1 : 에러값으로사용 0 2 32-1 0 2 32-1 GetLastError : NO_ERROR 12

파일포인터 (5) 파일임의접근을위해파일포인터를임의의값으로설정 BOOL SetFilePointerEx( HANDLE hfile, LARGE_INTEGER lidistancetomove, PLARGE_INTEGER lpnewfilepointer, DWORD dwmovemethod 파일핸들파일포인터이동거리 ( 입력 ) 파일포인터 ( 출력 ) 이동방법 13

파일포인터 (6) typedef struct _OVERLAPPED { ULONG_PTR Internal; ULONG_PTR InternalHigh; union { struct { DWORD Offset; DWORD OffsetHigh; }; PVOID Pointer; }; HANDLE hevent; } OVERLAPPED 파일포인터 14

파일삭제 BOOL DeleteFile( LPCTSTR lpfilename 15

파일복사 BOOL CopyFile( LPCTSTR lpexistingfilename, LPCTSTR lpnewfilename, BOOL bfailifexists 기존파일이름 복사된파일이름 존재플래그 복사된파일이름이졲재할경우 졲재플래그 : false 기졲파일대체 16

파일이동 BOOL MoveFile( LPCTSTR lpexistingfilename, LPCTSTR lpnewfilename, 기존파일이름 복사된파일이름 디렉토리에대해서도가능함. 이름바꾸기도가능 17

하드링크 BOOL CreateHardLink( LPCTSTR lpfilename, LPCTSTR lpexistingfilename, 새파일이름 기존파일이름 LPSECURITY_ATTRIBUTES lpsecurityattributes 보안 하드링크 파일하나에여러개이름부여 18

심볼릭링크 BOOLEAN CreateSymbolicLink( LPTSTR lpsymlinkfilename, LPTSTR lptargetfilename, DWORD dwflags 새파일이름 기존파일이름 파일 / 디렉토리플래그 lptargetfilename 이 file 이면 dwflags 에 0 lptargetfilename 이 directory 이면 dwflags 에 SYMBOLIC_LINK_FLAG_DIRECTORY 19

파일크기얻기 BOOL GetFileSizeEx( HANDLE hfile, PLARGE_INTEGER lpfilesize 파일핸들 파일크기 (64bit) 20

파일시간얻기 BOOL GetFileTime( HANDLE hfile, LPFILETIME lpcreationtime, LPFILETIME lplastaccesstime, LPFILETIME lplastwritetime 파일핸들생성시간 (64bit) 마지막접근시간 (64bit) 마지막수정시간 (64bit) 21

파일시간얻기 22

시간관련함수 FileTimeToSystemTime 파일시간 시스템시간 ( 년, 월, 일, 시, 분, 초, 밀리초 ) SystemTimeToFileTime 시스템시간 파일시간 (64bit 무부호정수형 ) CompareFileTime 두시간의비교 (1 st 가작으면 (-1), 같으면 (0), 크면 (+1) ) SetFileTime 파일의시간변경할때 23

파일특성얻기 / 설정 DWORD GetFileAttributes( LPCTSTR lpfilename BOOL SetFileAttributes( LPCTSTR lpfilename, DWORD dwfileattributes GetFileAttributes의반환값 SetFileAttributes의설정값 (OR연산) FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_DIRECTORY FILE_ATTRIBUTE_ENCRYPTED FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_READONLY 24

25

파일특성과디렉토리처리 (1) 디렉토리에서 주어진이름패턴을맊족하는파일 / 디렉토리얻기 그파일특성얻기 관련함수 FindFirstFile FindNextFile FindClose typedef struct _WIN32_FIND_DATA { DWORD dwfileattributes; FILETIME ftcreationtime; FILETIME ftlastaccesstime; FILETIME ftlastwritetime; DWORD nfilesizehigh; DWORD nfilesizelow; DWORD dwreserved0; DWORD dwreserved1; TCHAR cfilename[max_path]; TCHAR calternatefilename[14]; } WIN32_FIND_DATA 26

파일특성과디렉토리처리 (2) WIN32_FIND_DATA 구조체 typedef struct _WIN32_FIND_DATA { DWORD dwfileattributes; FILETIME ftcreationtime; FILETIME ftlastaccesstime; FILETIME ftlastwritetime; DWORD nfilesizehigh; DWORD nfilesizelow; 파일특성생성시간 (64bit) 마지막접근시간 (64bit) 마지막수정시간 (64bit) 파일크기 DWORD DWORD dwreserved0; dwreserved1; TCHAR cfilename[max_path]; TCHAR calternatefilename[14]; } WIN32_FIND_DATA 27

파일특성과디렉토리처리 (3) HANDLE FindFirstFile( 패턴에부합하는디렉토리 / 파일을찾고검색 HANDLE을반환 LPCTSTR lpfilename, 검색패턴 LPWIN32_FIND_DATA lpfindfiledata 검색된파일의정보 BOOL FindNextFile( FindFirstFile 조건으로검색을계속한다. HANDLE hfindfile, FindFirstFile의반환HANDLE LPWIN32_FIND_DATA lpfindfiledata 검색된파일의정보 BOOL FindClose( FindFirstFile의반환 HANDLE을닫는다 HANDLE hfindfile FindFirstFile의반환HANDLE 28

디렉토리생성 / 삭제 BOOL CreateDirectory( LPCTSTR lppathname, 경로이름 LPSECURITY_ATTRIBUTES lpsecurityattributes 보안 BOOL RemoveDirectory( LPCTSTR lppathname 경로이름 29

디렉토리경로설정 / 얻기 BOOL SetCurrentDirectory( LPCTSTR lppathname 경로이름 DWORD GetCurrentDirectory( DWORD nbufferlength, LPTSTR lpbuffer 버퍼길이 경로버퍼 30