Kindly be advised we cannot cancel subscriptions or issue refunds on the forum.
You may cancel your Bitdefender subscription from Bitdefender Central or by contacting Customer Support at: https://www.bitdefender.com/consumer/support/help/

Thank you for your understanding.

Faux Positifs Bots Irc

Bonsoir,


J'ai un problème avec mon BD en ce moment, je suis en train d'apprendre à programmer des bots IRC en C et il semble qu'à CHAQUE FOIS que l'un de mes programmes contient la fonction send() vers un serveur IRC BitDefender le prend pour un virus répondant au doux nom de Win32.IRC-Backdoor.yCY@a86SPO et refuse de laisser l'IDE compiler.


Bref, je voudrais savoir comment faire pour éviter ce genre de petits désagréments ou au pire comment shunter BD pour pouvoir développer mon code tranquillement. Je compile (ou du moins j'essaie) avec Code::Blocks sous Windows Vista.


Merci d'avance.

Réponses

  • fedor
    fedor Defender of the month mod
    Bonsoir,


    J'ai un problème avec mon BD en ce moment, je suis en train d'apprendre à programmer des bots IRC en C et il semble qu'à CHAQUE FOIS que l'un de mes programmes contient la fonction send() vers un serveur IRC BitDefender le prend pour un virus répondant au doux nom de Win32.IRC-Backdoor.yCY@a86SPO et refuse de laisser l'IDE compiler.


    Bref, je voudrais savoir comment faire pour éviter ce genre de petits désagréments ou au pire comment shunter BD pour pouvoir développer mon code tranquillement. Je compile (ou du moins j'essaie) avec Code::Blocks sous Windows Vista.


    Merci d'avance.

    bonjour tokapi,


    envoye les programmes a -yann- pour qu'il les analyses.


    pour cela clique sur -yann- puis send message.


    bon week end.

  • Oh pour l'instant ce que j'essaie de compiler est juste un truc simpliste qui tente de se connecter à un serveur et d'envoyer les infos d'authentification de base, je mets le code ici :


    (/!\ code reconnu comme vérolé par BD)


    #if defined(WIN32)

    #include <winsock2.h>
    typedef int socklen_t; // taille d'une structure sockaddr_in

    #elif defined(linux)

    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <unistd.h>
    #define INVALID_SOCKET -1
    #define SOCKET_ERROR -1
    #define closesocket(s) close (s)
    typedef int SOCKET;
    typedef struct sockaddr_in SOCKADDR_IN;
    typedef struct sockaddr SOCKADDR;

    #endif

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    /*#include <fcntl.h>*/

    #define PORT 6667
    #define HOST "irc.quakenet.org"

    #define MAX_LEN 509 // longueur maxi d'une chaine envoyée ; > 0
    char buf[MAX_LEN + 3];


    int irc_send(SOCKET so, char* st)
    {
    int len = strlen(st);

    if(len > MAX_LEN)
    {
    len = MAX_LEN;
    }

    strncpy(buf, st, len);
    buf[len] = '\r';
    buf[len + 1] = '\n';
    buf[len + 2] = '\0';

    if(send(so, buf, len + 1, 0) != SOCKET_ERROR)
    return TRUE;
    else
    return FALSE;
    }

    int main(int argc,char *argv[])
    {
    char nick[21] = "NICK TokapiBot";
    char user[] = "USER TokapiBot a a TokapiBotTest";
    char channel[21] = "JOIN #chantest";

    WSADATA WSAData;
    if(WSAStartup(MAKEWORD(2,2), &WSAData) != 0)
    printf("erreur !\n");

    SOCKET sock;
    SOCKADDR_IN server_addr;

    struct hostent *hostinfo = NULL;
    const char *hostname = HOST;

    hostinfo = gethostbyname(hostname);

    if(hostinfo == NULL)
    {
    printf("Erreur : hostname invalide");
    exit(EXIT_FAILURE);
    }

    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(PORT);
    server_addr.sin_addr = *(IN_ADDR *)hostinfo->h_addr;
    //server_addr.sin_addr.s_addr = inet_addr("194.109.129.222");

    if(server_addr.sin_addr.s_addr == INADDR_NONE)
    printf("erreur inaddr");
    else
    printf("%s\n", inet_ntoa(server_addr.sin_addr));

    sock = socket(AF_INET,SOCK_STREAM,0);
    if(sock == INVALID_SOCKET)
    printf("socket invalide !\n");
    else
    printf("La socket %d est maintenant en mode TCP/IP\n", sock);

    if(connect(sock,(SOCKADDR*)&server_addr, sizeof(server_addr)) != 0)
    {
    printf("Connection failed with the remote host.\n");
    perror("connect()");

    closesocket(sock);
    exit(EXIT_FAILURE);
    }

    printf("Connection etablie.\n");

    irc_send(sock, nick);
    irc_send(sock, user);
    irc_send(sock, channel);

    printf("Entree pour continuer\n");
    getchar();

    irc_send(sock, "QUIT Goodbye");

    closesocket(sock);

    #if defined(WIN32)
    WSACleanup();
    #endif

    printf("Entree pour continuer\n");
    getchar();

    return 0;
    }

  • fedor
    fedor Defender of the month mod
    Oh pour l'instant ce que j'essaie de compiler est juste un truc simpliste qui tente de se connecter à un serveur et d'envoyer les infos d'authentification de base, je mets le code ici :


    (/!\ code reconnu comme vérolé par BD)


    #if defined(WIN32)

    #include <winsock2.h>
    typedef int socklen_t; // taille d'une structure sockaddr_in

    #elif defined(linux)

    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <unistd.h>
    #define INVALID_SOCKET -1
    #define SOCKET_ERROR -1
    #define closesocket(s) close (s)
    typedef int SOCKET;
    typedef struct sockaddr_in SOCKADDR_IN;
    typedef struct sockaddr SOCKADDR;

    #endif

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    /*#include <fcntl.h>*/

    #define PORT 6667
    #define HOST "irc.quakenet.org"

    #define MAX_LEN 509 // longueur maxi d'une chaine envoyée ; > 0
    char buf[MAX_LEN + 3];


    int irc_send(SOCKET so, char* st)
    {
    int len = strlen(st);

    if(len > MAX_LEN)
    {
    len = MAX_LEN;
    }

    strncpy(buf, st, len);
    buf[len] = '\r';
    buf[len + 1] = '\n';
    buf[len + 2] = '\0';

    if(send(so, buf, len + 1, 0) != SOCKET_ERROR)
    return TRUE;
    else
    return FALSE;
    }

    int main(int argc,char *argv[])
    {
    char nick[21] = "NICK TokapiBot";
    char user[] = "USER TokapiBot a a TokapiBotTest";
    char channel[21] = "JOIN #chantest";

    WSADATA WSAData;
    if(WSAStartup(MAKEWORD(2,2), &WSAData) != 0)
    printf("erreur !\n");

    SOCKET sock;
    SOCKADDR_IN server_addr;

    struct hostent *hostinfo = NULL;
    const char *hostname = HOST;

    hostinfo = gethostbyname(hostname);

    if(hostinfo == NULL)
    {
    printf("Erreur : hostname invalide");
    exit(EXIT_FAILURE);
    }

    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(PORT);
    server_addr.sin_addr = *(IN_ADDR *)hostinfo->h_addr;
    //server_addr.sin_addr.s_addr = inet_addr("194.109.129.222");

    if(server_addr.sin_addr.s_addr == INADDR_NONE)
    printf("erreur inaddr");
    else
    printf("%s\n", inet_ntoa(server_addr.sin_addr));

    sock = socket(AF_INET,SOCK_STREAM,0);
    if(sock == INVALID_SOCKET)
    printf("socket invalide !\n");
    else
    printf("La socket %d est maintenant en mode TCP/IP\n", sock);

    if(connect(sock,(SOCKADDR*)&server_addr, sizeof(server_addr)) != 0)
    {
    printf("Connection failed with the remote host.\n");
    perror("connect()");

    closesocket(sock);
    exit(EXIT_FAILURE);
    }

    printf("Connection etablie.\n");

    irc_send(sock, nick);
    irc_send(sock, user);
    irc_send(sock, channel);

    printf("Entree pour continuer\n");
    getchar();

    irc_send(sock, "QUIT Goodbye");

    closesocket(sock);

    #if defined(WIN32)
    WSACleanup();
    #endif

    printf("Entree pour continuer\n");
    getchar();

    return 0;
    }

    bonjour tokapi,


    -yann-(support technique) t'n dira plus demain matin.


    bon week end.

  • Bonjour tokapi,


    Faites moi parvenir une copie d'écran de l'alerte qui apparaît. Egalement désactivez l'analyse à l'accès dans la paramètres de l'antivirus (et/ou l'active virus control si c'est lui qui est impliqué dans la détection), puis compilez votre programme pour me le faire parvenir. Pour cela, utilisez le système d'hébergement de fichier gratuit d'OVH, http://demo.ovh.eu/fr/ (ou tout autre service d'hébergement de fichiers comme dl.free.fr fileserve.com rapidshare.com ou up.sur-la-toile.com). Une fois que les fichier sont en ligne, vous recevrez un mail vous donnant l'adresse de téléchargement, transmettez moi alors cette adresse afin que je puisse récupérer le fichier mis en ligne.

  • Bonjour tokapi,


    Quelle version de Bitdefender avez-vous ?


    Vous me dites par message privé, que même sans le parefeu, l'analyse à l'accès ou l'active virus control, le programme compilé ne peut se connecter. C'est bien ça ? Avez-vous essayé de désactiver depuis "Vie privée" les différentes fonctions ?

  • tokara
    tokara ✭✭
    Modifié (novembre 2013)

    Bonjour,


    En effet il semble que quoi que je fasse le programme est terminé à la première tentative de connection (fonction gethostbyname()), j'utilise la version 2011 internet security sur ce PC (windows vista).


    Je viens d'essayer de désactiver les options vie privée, mais j'avais oublié de désactiver AVC et IDS dans les options de l'antivirus, et lorsque j'ai lancé le programme il a été terminé par IDS, j'ai ensuite tenté de le recompiler sous un autre nom mais quoi que je fasse le nouveau programme s'arette aussi à la première tentative de connection (sans alerte cette fois).


    Je ne sais pas pourquoi bitdefender le trouve si dangereux mais du coup je vais peut être plutot essayer de faire mon apprentissage sur une machine virtuelle linux sans antivirus :unsure:

  • Bonjour tokapi,


    Je pense que vous devriez migrer au minimum à la 2013 voire à la 2014, car il est possible que ce faux positif ne se produise pas avec les nouvelles versions.