Verificarea dacă un API este monitorizat (conectat?)

Aplicația mea utilizează anumite API-uri, cum ar fi GetProcAddress și CreateProcess , care uneori provoacă antivirus-uri ca fiind periculoase, chiar dacă nu.

Ceea ce încerc să fac este să verific dacă un anumit API este monitorizat sau cuplat și dacă nu este, atunci nu voi numi acea parte a codului.

Cum pot verifica dacă un anumit API este conectat?

Aceasta este o aplicație Windows scrisă în C.

Mulțumiri.

0
Nu există nicio injecție dll și nu se creează un filet la distanță. Cele două API-uri se află în diferite părți ale programelor care fac diferite lucruri. Știți cum să verificați un cârlig API?
adăugat autor Mr Aleph, sursa
@alk Orice. Alege una.
adăugat autor Mr Aleph, sursa
GetProcAddress și CreateProcess singur nu ar trebui să ridice steaguri pentru AV. Faceți o injecție dll la distanță folosind CreateRemoteThread ? În acest caz, semnătura funcției dvs. se poate potrivi cu cea a unui program malware.
adăugat autor JosephH, sursa
"... verificați dacă un anumit API este ...", despre care API vorbiți?
adăugat autor alk, sursa
Și cum ați verifica dacă detectorul de monitor API nu a fost cuplat?
adăugat autor Raymond Chen, sursa
Nu există o metodă sigură pentru a verifica dacă un API a fost atașat, deoarece persoana care a atașat API poate să fi atașat detectorul API.
adăugat autor Raymond Chen, sursa

1 răspunsuri

În win32 nu există metode oficiale de detectare și/sau de plasare a cârligelor (în afară de SetWindowsHookEx() ( http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990 ) și alte funcții care acoperă doar un set foarte mic de funcționalități) .

Detectarea unui cârlig depinde de modul în care a fost aplicat cârligul.

Există două metode populare de a plasa un cârlig:

  1. Importul/exportul de patch-uri de tabele
  2. Suprascrierea codului

Pentru detalii (pro/contra) privind diferitele metode de plasare a cârligelor, luați în considerare citirea aici http: //help.madshi .net/ApiHookingMethods.htm .

Fiecare metodă de cuplare necesită o abordare diferită pentru ao detecta.

Pentru metodele de detectare a cârligelor plasate după cum sa menționat mai sus, vă rugăm să consultați "ApiHookCheck Algorithm" aici http://www.security.org.sg/code/apihookcheck.html . Există surse de probă disponibile pe această pagină, pe care am făcut-o nu .

1
adăugat
Asta e informația de care aveam nevoie. Mulțumiri!
adăugat autor Mr Aleph, sursa
Legătura cu algoritmul ApiHookCheck nu mai funcționează. Ar putea cineva să vă ofere o legătură bună cu acesta?
adăugat autor Benny, sursa
@ mulțumesc mulțumesc, am găsit această întrebare, de asemenea. Dacă este similar cu algoritmul APIHookChecking la care v-ați referit, în răspunsul dvs.?
adăugat autor Benny, sursa
@Benny: Este posibil să începeți acest lucru: security.stackexchange.com/q/17904/36769
adăugat autor alk, sursa