Controleren of een API wordt bewaakt (verslaafd?)

Mijn applicatie gebruikt een aantal API's zoals GetProcAddress en CreateProcess die ervoor zorgen dat antivirussen het als kwaadaardig bestempelen, hoewel dat niet het geval is.

Wat ik probeer te doen, is controleren of een specifieke API wordt gecontroleerd of verslaafd en als dat het geval is, zal ik dat gedeelte van de code niet bellen.

Hoe controleer ik of een bepaalde API is aangesloten?

Dit is een Windows-applicatie geschreven in C.

Bedankt.

0
Geen dll-injectie en geen externe thread-creatie. Die 2 API's maken deel uit van de verschillende programma's die verschillende dingen doen. Weet je hoe je moet controleren op een API-haak?
toegevoegd de auteur Mr Aleph, de bron
@alk Any. Kies er een.
toegevoegd de auteur Mr Aleph, de bron
GetProcAddress en CreateProcess alleen mogen geen vlaggen genereren voor AV's. Doet u een remote dll-injectie met CreateRemoteThread ? Als dat het geval is, kan de handtekening van uw functie overeenkomen met die van een malware.
toegevoegd de auteur JosephH, de bron
"... controleren of een specifieke API wordt ...", over welke API ('s) hebt u het?
toegevoegd de auteur alk, de bron
En hoe zou u controleren of uw API-monitordetector niet is aangesloten?
toegevoegd de auteur Raymond Chen, de bron
Er is geen betrouwbare manier om te controleren of een API is verslaafd, omdat de persoon die de API heeft gehackt mogelijk ook uw API-detector heeft aangesloten.
toegevoegd de auteur Raymond Chen, de bron

1 antwoord

Op win32 zijn er geen officiële methoden om haken te detecteren en/of te plaatsen (naast de SetWindowsHookEx() ( http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990 ) en functies die slechts een zeer klein aantal functies dekken) .

Het detecteren van een haak hangt af van hoe de haak werd toegepast.

Er zijn twee populaire methoden om een ​​haak te plaatsen:

  1. Patchingtabel voor importeren/exporteren
  2. Code overschrijven

Raadpleeg voor meer informatie (voors en tegens) over de verschillende manieren om hooks te plaatsen http: //help.madshi .net/ApiHookingMethods.htm .

Elke methode om haakjes te maken, heeft een andere benadering om het te detecteren.

Voor methoden om haken te detecteren die zijn geplaatst zoals hierboven vermeld, kijk hier onder "ApiHookCheck-algoritme" http://www.security.org.sg/code/apihookcheck.html . Er zijn voorbeeldbronnen beschikbaar op deze pagina, die ik niet niet heb getest.

1
toegevoegd
Dat is de informatie die ik nodig had. Bedankt!
toegevoegd de auteur Mr Aleph, de bron
De link naar het ApiHookCheck-algoritme werkt niet meer. Kan iemand hier een goede link naar maken?
toegevoegd de auteur Benny, de bron
@alk thanks, ik heb die vraag ook gevonden. Als het vergelijkbaar is met het APIHookChecking-algoritme waarnaar u verwees, in uw antwoord?
toegevoegd de auteur Benny, de bron
@Benny: dit kan een goed begin zijn: security.stackexchange.com/q/17904/36769
toegevoegd de auteur alk, de bron