본문 바로가기

리버싱

[리버싱] API 란




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