Vérifier si une API est surveillée (accrochée?)

Mon application utilise des API telles que GetProcAddress et CreateProcess , qui permettent parfois aux antivirus de le signaler comme malveillant même s'il ne l'est pas.

Ce que j'essaie de faire est de vérifier si une API spécifique est surveillée ou connectée et si c'est le cas, je n'appellerai pas cette partie du code.

Comment vérifier si une certaine API est connectée?

Ceci est une application Windows écrite en C.

Merci.

0
Aucune injection de dll et aucune création de thread distant. Ces 2 API sont dans différentes parties des programmes faisant différentes choses. Savez-vous comment rechercher un hook API?
ajouté l'auteur Mr Aleph, source
@alk Any. Choisissez-en un.
ajouté l'auteur Mr Aleph, source
GetProcAddress et CreateProcess ne devraient à eux seuls générer aucun indicateur pour les antivirus. Faites-vous une injection de DLL à distance en utilisant CreateRemoteThread ? Si tel est le cas, la signature de votre fonction peut correspondre à celle d'un logiciel malveillant.
ajouté l'auteur JosephH, source
"... vérifier si une API spécifique est en cours ...", de quelle (s) API (s) parlez-vous?
ajouté l'auteur alk, source
Et comment vérifieriez-vous que votre détecteur de moniteur API n'a pas été accroché?
ajouté l'auteur Raymond Chen, source
Il n'existe aucun moyen fiable de vérifier si une API a été connectée, car la personne qui l'a connectée peut également avoir connecté votre détecteur d'API.
ajouté l'auteur Raymond Chen, source

1 Réponses

Sur win32, il n’existe aucune méthode officielle permettant de détecter et/ou de placer des crochets (en dehors de SetWindowsHookEx() ( http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990 ) et autres fonctions qui ne couvrent qu'un très petit ensemble de fonctionnalités) .

La détection d'un crochet dépend de la façon dont le crochet a été appliqué.

Il existe deux méthodes populaires pour placer un crochet:

  1. Correction de la table d'importation/exportation
  2. Écrasement du code

Pour plus de détails (avantages/inconvénients) sur les différentes méthodes de fixation des crochets, consultez notre site http: //help.madshi. .net/ApiHookingMethods.htm .

Chaque méthode d'accrochage nécessite une approche différente pour la détecter.

Pour connaître les méthodes permettant de détecter les crochets placés comme indiqué ci-dessus, veuillez consulter la section "Algorithme ApiHookCheck" ici http://www.security.org.sg/code/apihookcheck.html . Des exemples de sources disponibles sur cette page ont été testés par non .

1
ajouté
C'est l'information dont j'avais besoin. Merci!
ajouté l'auteur Mr Aleph, source
Le lien vers l'algorithme ApiHookCheck ne fonctionne plus. Quelqu'un pourrait-il s'il vous plaît fournir un bon lien vers elle?
ajouté l'auteur Benny, source
@alk merci, j'ai trouvé cette question aussi. Si cela ressemble à l’algorithme APIHookChecking auquel vous avez fait référence, dans votre réponse?
ajouté l'auteur Benny, source
@Benny: Cela pourrait être un point de départ: security.stackexchange.com/q/17904/36769
ajouté l'auteur alk, source