[리버싱] API에 대해 알아보자
API(Application Programming Interface)란?
응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든
인터페이스를 뜻한다.
리버싱 때 유용한 API
파일 생성하거나 열기(Open)
32bit : CreateFileA
wide : CreateFileW
파일 입출력(Read&Write)
ReadFile : 읽기
WriteFile : 쓰기
파일 접근(Access)
SetFilePointer
시스템 디렉터리를 얻어오는 함수
32bit : GetSystemDirectoryA
wide : GetSystemDirectoryW
.ini 파일과 관련된 함수
32bit : GetPrivateProfileStringA, GetPrivateProfileIntA, WritePrivateProfileStringA, WritePrivateProfileIntA
wide : GetPrivateProfileStringW, GetPrivateProfileIntW, WritePrivateProfileStringW, WritePrivateProfileIntW
레지스트리와 관련된 함수 : 레지스트리의 키를 생성 혹은 삭제할 때
32bit : RegCreateKeyA, RegDeleteKeyA
wide : RegCreateKeyW, RegDeleteKeyW
현재 열린 레지스트리 키를 읽을 때
32bit : RegQueryValueA
wide : RegQueryValueW
레지스트리 키를 열 때
32bit : RegCloseKeyA, RegOpenKeyA
wide : RegCloseKeyW, RegOpenKeyW
객체에서 문자열을 읽을 때
32bit : GetWindowTextA, GetDlgItemTextA
wide : GetWindowTextW, GetDlgItemTextW
객체의 텍스트를 지정
32bit : SetWindowTextA, SetDlgItemTextA
wide : SetWindowTextW, SetDlgItemTextW
메시지 박스
32bit : MessageBoxA, MessageBoxExA
wide : MessageBoxW, MessageBoxExW
메시지 관련
32bit : SendMessageA
wide : SendMessageW
날짜와 시간 : 날짜와 시간을 구할 때
GetLocalTime
SystemTimeToFileTime
윈도우를 생성하거나 제거할 때
32bit : CreateWindowA, CreateWindowExA, DialogBoxParamA
wide : CreateWindowW, CreateWindowExW, DialogBoxParamW