Hacking/Windows API

CreateFile 함수

H0R1N 2020. 3. 21. 05:06
HANDLE CreateFileA(
  LPCSTR                lpFileName,
  DWORD                 dwDesiredAccess,
  DWORD                 dwShareMode,
  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  DWORD                 dwCreationDisposition,
  DWORD                 dwFlagsAndAttributes,
  HANDLE                hTemplateFile
);

파일을 생성 또는 여는 함수

 

- lpFileName

파일 이름 (경로를 포함해도 된다.)

 

- dwDesiredAccess

액세스 권한 지정

 

- dwShareMode

파일의 공유 모드 지정

 

- lpSecurityAttributes

 SECURITY_ATTRIBUTES 구조체에 대한 포인터 주로 NULL

 

- dwCreationDisposition

파일의 존재 유무에 따른 행동

CREATE_NEW (1) 파일이 존재하지 않을 시에 파일 생성
CREATE_ALWAYS (2) 항상 새 파일 생성
OPEN_EXISTING (3) 파일이 존재할 시 파일을 연다.
OPEN_ALWAYS (4) 무조건 파일을 연다.
TRUNCATE_EXISTING (5) 파일이 존재할 시 열고 파일 크기를 0으로 설정

 

- dwFlagsAndAttributes

생성될 파일의 속성 지정

 

개인적인 생각으로 dwCreationDisposition 값만 알면 될 거 같다.

 

출처 - https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea