API (Application Programming Interface)
API는 응용 프로그램에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 즉 프로그램과 운영체제 사이의 중간매체이다. 운영체제가 응용프로그램을 위해 제공하는 함수의 집합이다.
Windows API
파일 열기 (Open)
: 파일을 생성하거나 열 때
16bit : CreateFile
32bit : CreateFIleA
wide : CreateFileW
파일 입출력 (Road&Write)
: 파일 입출력할 때
ReadFile : 읽기
WriteFile : 쓰기
파일 접근 (Access)
SetFilePointer : 포인터 조정
시스템 디렉토리에서 얻어오는 함수
16bit : GetSystem Directory
32bit : GetSystem DirectoryA
wide : Getsystem DirectoryW
.ini 파일과 관련된 함수
: ini 구성 설정에 관련된 함수들
16bit
- GetPrivateProfileString
- GetPrivateProfileint
- WritePrivateProfileString
- WritePrivateProfileInt
32bit
- GetPrivateProfileStringA
- GetPrivateProfileIntA
- WritePrivateProfileStringA
- WritePrivateProfileIntA
wide
- GetPrivateProfileStringW
- GetPrivateProfileIntW
- WritePrivateProfileStringW
- WritePrivateProfileIntW
레지스트리와 관련된 함수
1) 레지스트리의 키를 생성 혹은 삭제할 때
16bit
- RegCreateKey
- RegDeleteKey
32bit
- RegCreateKeyA
- RegDeleteKeyA
wide
- RegCreateKeyW
- RegCreateKeyW
2) 현재 열려진 레지스트리 키를 읽을 때
16bit : RegQueryValue
32bit : RegQueryValueA
wide : RegQueryValueW
3) 레지스트리 키를 열 때
16bit
- RegCloseKey
- RegOpenKey
32bit
- RegCloseKeyA
- RegOpenKeyA
wide
- RegCloseKeyW
- RegOpenKeyW
객체에서 문자열을 읽을 때
16bit
- GetWindowText
- GetDlgItemText
32bit
- GetWindowTextA
- GetDlgItemTextA
wide
- GetWindowTextW
- GetDlgItemTextW
GetDlgItemInt (정수 여부)
객체의 텍스트를 지정
16bit
- SetWindowText
- SetDlgItemText
32bit
- SetWindowTextA
- SetDlgItemTextA
wide
- SetWindowTextW
- SetDlgItemTextW
메시지 박스
16bit
- MessageBox
- MessageBeep
32bit
- MessageBoxA
- MessageBoxExA
wide
- MessageBoxW
- MessageBoxExW
메시지 관련
16bit : SendMessage
32bit : SendMessageA
wide : SendMessageW
날짜와 시간
: 날짜와 시간을 구할 때
- GetSystemTime
- GetLocalTime
- SystemTimeToFileTime
윈도우(창) 생성 & 제거
: 창을 생성하거나 제거할 때
16bit
- CreateWindow
- DialogBoxParam
- CreateWindowEx
- DestroyWindow
- EndDialog
- ShowWindow
32bit
- CreateWindowA
- CreateWindowExA
- DialogBoxParamA
wide
- CreateWindowW
- CreateWindowExW
- DialogBoxParamW
출처 : http://sone.tistory.com/57
http://carpedm20.blogspot.kr/2012/09/api.html
'리버싱' 카테고리의 다른 글
[리버싱] 브레이크포인트란 (0) | 2017.08.27 |
---|---|
[리버싱] 인터럽트란 (0) | 2017.08.26 |
[리버싱] 레지스터란 (0) | 2017.08.25 |
과제 (0) | 2017.08.23 |
[리버싱] 리틀엔디안 빅엔디안 (0) | 2017.08.22 |