[- Disclaimer -]
아래 내용은 정보보안 공부 목적으로 작성된 것이나, 이를 토대로 허가되지 않은 대상에 실습을 진행할 경우 해킹 시도로 간주하여 법적 처벌을 받을 수 있음을 알려 드립니다.
Hungarian Naming
✦ 변수 자료형을 변수명에 Naming
✧ 변수명만 보고 자료형 판별 가능하나 자료형 변경 시 변수명 변경 필요
→ Ex) cbString, szMessage 등
cb (=Count of Bytes): Byte 수
dw (=Double WORD): 부호 없는 long형 정수 (unsinged long)
h (=Handle): Window, Bitmap, 파일 등에 대한 Handle
sz (=NULL Terminated): NULL String
ch (=Character): 문자
a (=Array): 배열
w (=WORD): 부호 없는 정수형 (unsinged Word)
i (=Integer): 부호 있는 정수형 (int)
p, lp (=Long Pointer): 포인터형
b (=BOOL): 논리형
Plain Text
복사
<Windows.h>
✦ Win32 API Header 파일
Windows가 정의한 사용자 정의 자료형
✦ 대부분 형식은 <Windows.h> 내 windef.h에 typedef로 선언 되어 있음
✦ Source 이식성을 위해 존재
✧ 환경에 따라 자료형 크기가 달라질 경우 Source 수정 없이 Header 파일 내 typedef 재정의 후 재Compile만으로 이식성 문제 해소
→ Ex) unsigned short 대신 WORD 사용 등
→ int의 경우 UINT가 있지만 C에서 Platform에 종속적인 자료형으로 정의하므로 그냥 사용
✦ 다른 플랫폼 이식 및 나중의 Data형 확장 시 상위 호환 유지를 위해 typedef 형으로 정의
BYTE: unsigned char
CHAR: char
LPSTR: char *
WORD: unsigned short
DWORD: unsigned long
LONG: long
BOOL: TRUE or FALSE
Plain Text
복사
✦ Handle을 담기 위한 자료형
HWND: unsigned 정수
HPEN: unsigned 정수
HBRUSH: unsigned 정수
HDC: unsigned 정수
Plain Text
복사
Win32 API에서의 다수 Argument 전달
✦ 하나하나 전달할 경우 옵션이 너무 많아 bitOR을 사용해 한번에 여러 Parameter에 전달
✧ winuser.h에 Parameter들이 미리 bit 별로 지정되어 있어 bit OR로 다수 Parameter 전달 가능
→ Ex) DT_CENTER | DT_BOTTOM | DT_WORDBREAK
✧ 매크로 상수명이 곧 옵션
Ex) DT_CENTER | DT_BOTTOM | DT_WORDBREAK
Plain Text
복사



