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

EDI Delphi Discussion :

Déctection d'un cheval de Troie lors de la compilation d'une librairie


Sujet :

EDI Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Déctection d'un cheval de Troie lors de la compilation d'une librairie
    Bonjour à tous

    Depuis la mise a jour de mon antivirus,ce dernier me trouve un défaut a la compilation de la présence d'un cheval de troie lorsque je compile pour créer une librairie .dll.Le Nom du cheval de troie s'appelle GENERIC.CA
    La compilation se fait sous Delphi 6
    Et mon antivirus VIRUSSCAN.Et j'ai le même problème a mon bureau avec cette librairie qui est installée depuis plusieurs mois sur les divers postes.
    Sur le site MCAFEE Origine inconnu.
    L'un de vous pourrais t-il me renseigner,si le problème a été vécu par d'autres,et éventuellemnt me donner une solution.(Ne s'agirait il pas d'un défaut d'une librairie de Delphi qui occassionne ce dysfonctionnement)

    Merci à tous d'avance

    @plus

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut et bienvenue sur DVP
    Est-ce que l'inoculation des fichiers de MacAfee est activée?
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Pedro204
    Salut et bienvenue sur DVP
    Est-ce que l'inoculation des fichiers de MacAfee est activée?
    Bonjour

    Dans quel partie de Mcafee je trouve cette option
    Version Viruscan 8.0.0 SUR MON POST

    Je suis un ancien membre mais je retrouve plus ma connection et mon mot de passe
    J'ai du me réinscrire

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonjour

    Quand Je retire UnhookWindowsHookEx de la procedure suivante
    //----------------------------------------------------------------------------//
    // Arrêter le Hook //
    //----------------------------------------------------------------------------//
    Procedure HookSourisInactif; StdCall;
    Begin
    //Procedure pour désintaller le Hook
    //UnhookWindowsHookEx enleve la procédure installée par SetWindowsHookEx
    UnhookWindowsHookEx(HookDeLaSouris);
    End;
    A la compilation plus de problème,plus de cheval de troie

    Help

    @plus

  5. #5
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    C'est bizarre quand même...
    En fait, j'avais eu ce problème sous TP 7.0 en ayant activé l'inoculation de fichiers sous une vieille version de Mc Afee... En activant ça, il "voit" que l'éxé compilé change à chaque fois de taille jusqu'à ce que ton changement corresponde à la signature d'un virus ou d'un cheval de troie ... Essaye de voir s'il n'y a pas moyen d'accepter ce fichier en disant à Mc Afee que ton éxé est de source sûre
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  6. #6
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonjour

    Le probleme c'est que c'est pas un exe mais une dll
    sous windows xp çà marche quand je retire la ligne mais je ne peux plus désactiver le hook ,,et sous windows 2000 au boulot j'ai un message d'erreur.
    çà c'est surement les frivolles de microsoft dans l'ordre de lecture des librairies

    un programme qui marchait correctement depuis deux ans sans probleme,c'est enervant !!!!!!

    @plus

  7. #7
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Même un DLL peut contenir des virus et chevaux de troie Lorsqu'un antivirus scanne, les DLL sont aussi passées à la moulinette
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  8. #8
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Oui je sais que les librairies DLL sont scannées et même si on change l'extension çà ne change rien.
    La je met la source complète si quelqu'un peu tester cette librairie chez lui en delphi 6 avec virusscan il me tient au courant si cheval de troie
    @plus


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    Library SourisHook;
    //----------------------------------------------------------------------------//
    // Surveillance des évenements de la souris                                   //
    // Source initiale -->  http://www.q3.nu/trucomania/truco.cgi?415&ing         //
    // Après un peu plus de compréhension du fonctionnement d'un Hook             //
    // Traduite en français                                                       //
    //----------------------------------------------------------------------------//
     
    uses
      Windows,
      Messages;
     
    Const SURVEILLE_CALENDRIER = WM_USER + $1000;
    // Définition d'un buffer de stockage des évenements souris
    Type
      TDonneesSouris = Record
        ProgrammeRecepteur,     // Handle du programme récepteur
        wHitTestCode,           // WM_NCHITTEST -> Message envoyé à windows quand la souris est en mouvement
                                // une Valeur est retournée en fonction de l'endroit
                                // ou se trouve la souris sur une fenêtre
                                // (Ex : Bouton fermeture d'une fenêtre = 20 -->HTCLOSE
                                // les valeurs retournées sont HTBORDER HTBOTTOM HTCAPTION ETC....
                                // Voir WM_NCHITTEST dans l'aide
        x,y,                    // Position de la souris
        HandleSurvole         : hwnd; // Handle de la fenêtre survolée captée dans les évènements de la souris
    End;
    PDonneesSouris   =^TDonneesSouris;
     
     
    Var
       HookDeLaSouris  : HHook;      // Type LongWord dans windows.pas
       FichierMemoire  : THandle;
       DonneesSouris   : PDonneesSouris ;
     
    // C'est la fonction appelé par le hook de la souris
    Function CallBackDelHook( Code    : Integer;
                               wParam  : WPARAM;
                               lParam  : LPARAM
                               )       : LRESULT; StdCall;
     
    Var
       // Structure qui contient les informations des évenements de la souris dans Windows.Pas
       // Utilisée par WH_MOUSE
       // typedef struct tagMOUSEHOOKSTRUCT { // ms
       // POINT pt;
       // HWND  hwnd;
       // UINT  wHitTestCode;
       // DWORD dwExtraInfo;
       // }MOUSEHOOKSTRUCT;
     
       EvenementsSouris : PMouseHookStruct;
     
    Begin
       // Si il y a un nouvel événement de la souris...
       If Code = HC_ACTION Then
       Begin
          // Si le fichier mémoire existe
          FichierMemoire := OpenFileMapping(FILE_MAP_WRITE,False,'Calendrier Recepteur');
          //Si c'est pas le cas l'application ne peut pas recevoir de message
          If FichierMemoire <> 0 Then
          Begin
              // Création d'une vue pour pouvoir accéder à la zone de mémoire partagée
             DonneesSouris := MapViewOfFile(FichierMemoire,FILE_MAP_WRITE,0,0,0);
             If DonneesSouris <> Nil Then
             Begin
                // On ajoute les évenements dans la file
                EvenementsSouris := Pointer(lparam);
                // On garde les infos en mémoire
                DonneesSouris^.HandleSurvole := EvenementsSouris^.hwnd;
                DonneesSouris^.x             := EvenementsSouris^.pt.x;
                DonneesSouris^.y             := EvenementsSouris^.pt.y;
                DonneesSouris^.wHitTestCode  := EvenementsSouris^.wHitTestCode;
                // Informer qu'il y a un nouvel évenement de la souris
                // wParam contient le type de message (WM_LBUTTONDOWN à WM_MOUSEWHEEL)
                // lParam contient un pointeur sur une structure MOUSEHOOKSTRUCT
                PostMessage(DonneesSouris^.ProgrammeRecepteur,SURVEILLE_CALENDRIER,wParam,lParam);
                // Destruction de la vue sur la zone de mémoire partagée
                UnmapViewOfFile(DonneesSouris);
             End;
             // Détachement de la zone de mémoire partagée
             CloseHandle(FichierMemoire);
          End;
       End;
       // Faire suivre le message
       Result := CallNextHookEx(HookDeLaSouris, Code, wParam, lParam)
    End;
    //----------------------------------------------------------------------------//
    // Activer le Hook                                                            //
    //----------------------------------------------------------------------------//
    Procedure HookSourisActif; StdCall;
    //Procedure pour installer le hook
    Begin
       // WH_MOUSE pour intercepter tous les messages de Type "Souris"
       // de (WM_LBUTTONDOWN à WM_MOUSEWHEEL)
       // Utilisation de la fonction CallBackdelHook
       HookDeLaSouris := SetWindowsHookEx(WH_MOUSE, @CallBackDelHook, HInstance , 0);
    End;
    //----------------------------------------------------------------------------//
    // Arrêter le Hook                                                            //
    //----------------------------------------------------------------------------//
    Procedure HookSourisInactif; StdCall;
    Begin
       //Procedure pour désintaller le Hook
       //UnhookWindowsHookEx enleve la procédure installée par SetWindowsHookEx
       UnhookWindowsHookEx(HookDeLaSouris);
    End;
     
    Exports
      //Exporter les procédures
      HookSourisActif,
      HookSourisInactif;
    Begin
    End.

  9. #9
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    J'ai rajouter dans la fonction uses en début de programme

    Au lieu de Uses Windows,Messages

    j'ai rajouté Dialogs

    Donc uses Windows,Messages,Dialogs;

    Pour l'instant plus de cheval de troie a la compilation sous windows XP en laissant activer la ligne
    UnhookWindowsHookEx(HookDeLaSouris);
    Demain matin j'essaie au boulot sous windows 2000 et je te tiens au courant

    Bizarre Non

    àplus

  10. #10
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonjour

    En incluant DIALOGS plus de cheval de troie,et çà marche sur XP et 2000

    Bug a élucider

    @plus

  11. #11
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    598
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 598
    Points : 2 020
    Points
    2 020
    Par défaut
    Bonjour,

    Je n'ai pas McAfee, mais une toute dernière version de ZoneAlarm Security Suite et il y a une option qui ressemble à ton problème (même si ce n'est pas tout à fait comparable).

    Mais le constat de base est le même : comment faire face à un nouveau virus (alors que la base de signature ne sera actualisée que dans plusieurs heures) ?

    Détecter les comportement suspect comme des hook clavier et souris - ce qui est un comportement typique des key-logger.

    Je pense que sans la clause use supplémentaire, ton programme produit une pattern de code plus ou moins générique et commune à une famille de virus/trojan.

    Il se peut que le use 'ajouté' détruit la pattern, même si d'un point de vue algorithmique, il ne change rien.

    En tant que développeur, no EXE changent souvent, ce qui pose souvent pb avec les antivirus et les firewall.

    Cordialement
    Gabriel
    --
    vanquish

  12. #12
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonjour Gabriel

    Merci pour cette info : C'est ce que je pensais

    Ce trojan Generic n'est pas apparament détecté par Internet Sécurity 2006,car j'ai demandé a un collègue Belge de faire le test car ce dernier utilise mon programme.

    Si maintenant nos programmes se rapprochent des signatures des virus,on a pas fini d'être embêté

    Bonne journée

    Cordialement

    @plus

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/01/2009, 16h22
  2. Réponses: 16
    Dernier message: 07/12/2007, 12h11
  3. pb lors de la compilation d'une appli web avec JOnAS
    Par crabinho dans le forum JOnAS
    Réponses: 1
    Dernier message: 20/03/2007, 12h05
  4. creer le *.dcu lors de la compilation d'une DLL ?
    Par Lorenzo77 dans le forum Delphi
    Réponses: 20
    Dernier message: 03/07/2006, 15h59
  5. Cheval de Troie lors d'une recherche google
    Par SLE dans le forum Sécurité
    Réponses: 8
    Dernier message: 14/03/2006, 17h41

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