IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

Utilisation d'une API antivirus


Sujet :

API, COM et SDKs Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut Utilisation d'une API antivirus
    Bonjour,

    Je souhaiterais savoir si il existe une API antivirus sous windows et un moyen de l'utiliser avec Delphi 7

    J'aimerais que mon programme se comporte un peu comme un logiciel d'emailing (Thunderbird ou Outlook par exemple) c'est à dire qu'il scanne des fichiers et ce en utilisant l'antivirus installé sur la machine.

    Avez vous déja implémenté ou entendu parler de quelque chose comme ca?

    D'avance merci

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    De façon "portable", à part passer par Antivirus API (composant COM), je ne vois pas comment faire. Encore faut-il que ton AV aie implémenté cet objet COM, et ça, ce n'est pas garanti... Tu as aussi Windows Security Center (Vista et plus) pour avoir un minimum d'information sur le statut de l'AV.

    Sinon, il faudra faire comme la plupart des programmes supportant un scan automatique d'antivirus : demander à l'utilisateur la ligne de commande à appliquer pour scanner le fichier... Ce qui va t'obliger à chercher les lignes de commande adéquates pour les AV les plus répandus, et à savoir les "trouver" par toi-même sur le système (utilisation de la base de registre notamment).

    Dans les deux cas, aucun souci technique pour le faire en Delphi.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Tu peux t'inspirer des sources de moonav http://sourceforge.net/projects/moonav/

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par philnext Voir le message
    Tu peux t'inspirer des sources de moonav http://sourceforge.net/projects/moonav/
    Il désire utiliser l'AV installé sur la machine, pas en développer un...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Merci Mac LAK pour cette réponse rapide.

    Concernant la 1ere solution
    En effet je vois bien en gros comment utiliser IOfficeAntiVirus, je crois que j'ai trouvé un .pas qui implémente cette interface : msoav.pas
    Le petit truc restant c'est de parcourir les objets COM disponibles et reconnaitre l'antivirus pour ensuite utiliser son GUID pour l'utiliser dans Delphi et appeler la méthode Scan.
    La condition minimum est donc que l'AV propose un interface COM (ce qui ne semble pas être le ca de celui que j'utilise apparemment : AVG free)

    Concernant la 2 eme solution si j'ai tout compris :
    je recherche pour plusieurs AV (AVG, norton, symantec ...) les lignes de commandes pour scanner un fichier.
    Puis, dans mon programme, je scanne la base de registre pour trouver quel AV est installé sur le poste et je run la bonne ligne de commande avec un shell execute.

    Je vais continuer à chercher un peu d'info avant de me décider.

    Merci

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Floverdoz Voir le message
    Le petit truc restant c'est de parcourir les objets COM disponibles et reconnaitre l'antivirus pour ensuite utiliser son GUID pour l'utiliser dans Delphi et appeler la méthode Scan.
    En fait, si tu trouves cet objet COM, tu te contrefiches de savoir quel est l'AV utilisé : il PEUT faire le scan. Il faudra tester avec un fichier connu comme étant infecté, par contre, histoire de voir que l'AV fonctionne correctement.

    Citation Envoyé par Floverdoz Voir le message
    La condition minimum est donc que l'AV propose un interface COM (ce qui ne semble pas être le ca de celui que j'utilise apparemment : AVG free)
    En effet, c'est bien une condition requise. Pour être franc, je n'avais jamais regardé cette API jusque là, je suis donc incapable de te dire quel AV possèderait une telle interface... En tout cas, si l'AV n'est pas correctement détecté par le Centre de Sécurité, il serait étonnant qu'il implémente cette fonction.

    Citation Envoyé par Floverdoz Voir le message
    je recherche pour plusieurs AV (AVG, norton, symantec ...) les lignes de commandes pour scanner un fichier.
    C'est bien ça. Cela se résume, en général, à appeler un programme particulier, avec quelques options parfois, et avec le nom du fichier à scanner.
    En règle générale, on utilise la même ligne de commande que celle utilisé lorsque l'on fait clic-droit sur un fichier et que l'on clique sur "Scanner avec XXXX". On peut même PARFOIS trouver cette ligne de commande directement dans la base de registre, suivant l'AV installé.

    Citation Envoyé par Floverdoz Voir le message
    Puis, dans mon programme, je scanne la base de registre pour trouver quel AV est installé sur le poste et je run la bonne ligne de commande avec un shell execute.
    Pour être plus précis : parmi la liste des AV supportés AUTOMATIQUEMENT, tu cherches ceux présents sur la machine. Tu proposes ensuite le choix à l'utilisateur du moteur AV à utiliser (si tu en as trouvé plusieurs), OU l'utilisation d'une ligne de commande générique pour scanner un programme.
    Si l'utilisateur a un AV courant installé, il n'a qu'à cliquer sur "OK" et c'est bon, ton programme est configuré. Sinon, il choisira le moteur à utiliser et/ou devra chercher la ligne de commande adéquate pour son AV.

    Citation Envoyé par Floverdoz Voir le message
    Je vais continuer à chercher un peu d'info avant de me décider.
    A noter que la deuxième solution ne "coûte" rien à implémenter, ou presque, et qu'elle est 100% portable. Il serait donc franchement dommage de ne pas l'implémenter.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    A noter que la deuxième solution ne "coûte" rien à implémenter, ou presque, et qu'elle est 100% portable. Il serait donc franchement dommage de ne pas l'implémenter.
    Je suis d'accord avec toi mais si ca se trouve la personne qui me paye se dira ca coute encore moins cher à implémenter de ne rien faire et de laisser l'utilisateur faire lui même son scanne manuellement avec un clic bouton droit

    En tout cas merci pour toutes ces précisions et ton aide éclairée !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Web Service] Utilisation d'une API de géolocalisation
    Par LEK dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 09/03/2010, 20h49
  2. [WD12]Utilisation d'une API VB
    Par bruce207 dans le forum WinDev
    Réponses: 3
    Dernier message: 30/03/2009, 19h39
  3. utilisation d'une API java avec du C#, est ce possible
    Par iamspacy dans le forum C++/CLI
    Réponses: 1
    Dernier message: 29/05/2007, 08h00
  4. Réponses: 20
    Dernier message: 18/10/2006, 16h09
  5. Réponses: 36
    Dernier message: 13/05/2004, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo