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
'Study > Reversing' 카테고리의 다른 글
[리버싱] MOV, LEA (0) | 2017.08.24 |
---|---|
[리버싱] CD.exe 문제풀기 (0) | 2017.08.24 |
[리버싱] hello world 문자열 패치 (0) | 2017.08.24 |
[리버싱] Break Point에 대해 알아보자 (0) | 2017.08.24 |
[리버싱] 리틀 엔디언&빅 엔디언 (0) | 2017.08.23 |
댓글