본문 바로가기
리버싱/Win32 API

DebugActiveProcess() API

by J.. 2018. 11. 18.

 DebugActiveProcess API는 디버거가 실행중인 프로세스를 디버깅할 때 필요한 API


문법 체계는 아래와 같다.

BOOL WINAPI DebugActiveProcess(
  _In_ DWORD dwProcessId
);


기억해야 하는 내용은 다음과 같다.

1.위의 API의 실행이 제대로 이루어지지 않았다면 0을 리턴하게 되며, 성공을 했다면 0이 아닌 값을 출력하게 된다.

2.dwProcessID는 PID의 값(정수형)을 의미한다.



2번 내용에 PID의 값(정수형)이라 쓴 것은 입력을 받은 값이 123이라고 한다면 123의 형태가 사실 문자의 가능성이 있기 때문에 이 부분을 확실하게 주의해야한다. atoi(), atol() 함수들을 추가로 알아두는 것도 나쁘지 않다. 

또, 함수의 성공유무가 리턴값이 0인지 아닌지에 따라 판단이 가능하기 때문에 if문과 같은 조건문과 함께 쓰이기에 적절한 듯 하다. 

ex) if (!DebugActiveProcess(4885)) { ~~~ }

'리버싱 > Win32 API' 카테고리의 다른 글

OpenProcess() API  (0) 2018.11.19