Historique des modifications - Message

Message #5379

Sujet: Mon programme, un virus ?!


Type Date Auteur Contenu
Dernière modification 31-12-2008 17:04:27 endering
Bonjour à tous, voilà je suis pris d'un problème peu banal : lors de la compilation de mon code avast (l'antivirus sur cet ordi) ose insulter mon .exe d'être un troyen "Win32:Tibia-AF [Trj]".

J'ai tout d'abord pensé que c'était du à l'utilisation de fonctions C pour écrire et lire dans un simpe fichier text. Aucun problème lors de la lecture, c'est après avoir ajouter un 'else' pour écrire l'erreur que c'est arrivé mais maintenant même si j'enlève le 'else' j'ai toujours la même alerte.

Voici le code : main.cpp
#include <IRR/irrlicht.h>
#include <stdio.h>
#include <iostream>
#include "dataManagement.h"
#include "game.h"

using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;

using namespace std;

#ifndef DEF_ENUM
#define DEF_ENUM
enum Scene
{
    INTRO, MENU, JEUX
};
#endif

int main(void)
{
    long largeurEcran = 600, hauteurEcran = 480;
    int sceneActuelle = INTRO;
    bool pleinEcran = false;
    E_DRIVER_TYPE driverType = EDT_OPENGL;

    CData data;//Lecture et écriture de données dans les fichiers de sauvegarde.
    data.loadConfig(&largeurEcran, &hauteurEcran, &pleinEcran, &driverType);//Récupère les paramètres du device.

    IrrlichtDevice *device =
        createDevice(driverType, dimension2d<s32>(largeurEcran, hauteurEcran), 32,
            pleinEcran, true, false, 0);
    IVideoDriver* driver = device->getVideoDriver();
    ISceneManager* smgr = device->getSceneManager();
    IGUIEnvironment* gui = device->getGUIEnvironment();

    CGame game;//Gère l'organisation du jeux.

    while(device->run())
    {
        driver->beginScene(true, true, SColor(0,200,200,200));
        game.scene(&sceneActuelle);//Charge la scene actuelle.
        smgr->drawAll();
        gui->drawAll();
        driver->endScene();
    }

    device->drop();

    return 0;
}

dataManagement.cpp
#include <stdio.h>
#include "dataManagement.h"

using namespace irr;
using namespace video;

using namespace std;

CData::CData()
{
}

void CData::loadConfig(long *largeurEcran, long *hauteurEcran, bool *pleinEcran, E_DRIVER_TYPE *driverType)
{
    long driverLu = 2, ecranLu = 0;
    FILE* config = NULL;
    config = fopen("config.txt", "r");
    if (config != NULL)
    {
        fseek(config, 20, SEEK_SET);
        fscanf(config, "%ld %ld", largeurEcran, hauteurEcran);
        fseek(config, 15, SEEK_CUR);
        fscanf(config, "%ld", &driverLu);
        fseek(config, 15, SEEK_CUR);
        fscanf(config, "%ld", &ecranLu);

        switch(ecranLu)
        {
            case 0 : *pleinEcran = false;break;
            case 1 : *pleinEcran = true;break;
            default : *pleinEcran = false;break;
        }
        switch(driverLu)
        {
            case 0 : *driverType = EDT_DIRECT3D9;break;
            case 1 : *driverType = EDT_DIRECT3D8;break;
            case 2 : *driverType = EDT_OPENGL;break;
            case 3 : *driverType = EDT_SOFTWARE;break;
            default: *driverType = EDT_OPENGL;
        }
        fclose(config);
    }
    else
    {
        FILE* erreur = NULL;
        erreur = fopen("erreur.txt", "w");
        fputs("\
erreur : le fichier config est corrompu ou n'existe pas", erreur);
        fclose(erreur);
    }
}

Ce sont les seules fonctions que j'ai codées pour le moment; c'est pas vraiment du C++, c'est pas vraiment à cause d'irrlicht mais comme j'ai posté sur plusieurs forum sans réponses et que je n'ai pas trouvé la cause du problème ...

bref si vous avez une idée ? neutral
Création du message 31-12-2008 13:57:47 endering
Bonjour à tous, voilà je suis pris d'un problème peu banal : lors de la compilation de mon code avast (l'antivirus sur cet ordi) ose insulter mon .exe d'être un troyen "Win32:Tibia-AF [Trj]".

J'ai tout d'abord pensé que c'était du à l'utilisation de fonctions C pour écrire et lire dans un simpe fichier text. Aucun problème lors de la lecture, c'est après avoir ajouter un 'else' pour écrire l'erreur que c'est arrivé mais maintenant même si j'enlève le 'else' j'ai toujours la même alerte.

Voici le code : main.cpp
#include <IRR/irrlicht.h>
#include <stdio.h>
#include <iostream>
#include "dataManagement.h"
#include "game.h"

using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;

using namespace std;

#ifndef DEF_ENUM
#define DEF_ENUM
enum Scene
{
    INTRO, MENU, JEUX
};
#endif

int main(void)
{
    long largeurEcran = 600, hauteurEcran = 480;
    int sceneActuelle = INTRO;
    bool pleinEcran = false;
    E_DRIVER_TYPE driverType = EDT_OPENGL;

    CData data;//Lecture et écriture de données dans les fichiers de sauvegarde.
    data.loadConfig(&largeurEcran, &hauteurEcran, &pleinEcran, &driverType);//Récupère les paramètres du device.

    IrrlichtDevice *device =
        createDevice(driverType, dimension2d<s32>(largeurEcran, hauteurEcran), 32,
            pleinEcran, true, false, 0);
    IVideoDriver* driver = device->getVideoDriver();
    ISceneManager* smgr = device->getSceneManager();
    IGUIEnvironment* gui = device->getGUIEnvironment();

    CGame game;//Gère l'organisation du jeux.

    while(device->run())
    {
        driver->beginScene(true, true, SColor(0,200,200,200));
        game.scene(&sceneActuelle);//Charge la scene actuelle.
        smgr->drawAll();
        gui->drawAll();
        driver->endScene();
    }

    device->drop();

    return 0;
}

dataManagement.cpp
#include <stdio.h>
#include "dataManagement.h"

using namespace irr;
using namespace video;

using namespace std;

CData::CData()
{
}

void CData::loadConfig(long *largeurEcran, long *hauteurEcran, bool *pleinEcran, E_DRIVER_TYPE *driverType)
{
    long driverLu = 2, ecranLu = 0;
    FILE* config = NULL;
    config = fopen("config.txt", "r");
    if (config != NULL)
    {
        fseek(config, 20, SEEK_SET);
        fscanf(config, "%ld %ld", largeurEcran, hauteurEcran);
        fseek(config, 15, SEEK_CUR);
        fscanf(config, "%ld", &driverLu);
        fseek(config, 15, SEEK_CUR);
        fscanf(config, "%ld", &ecranLu);

        switch(ecranLu)
        {
            case 0 : *pleinEcran = false;break;
            case 1 : *pleinEcran = true;break;
            default : *pleinEcran = false;break;
        }
        switch(driverLu)
        {
            case 0 : *driverType = EDT_DIRECT3D9;break;
            case 1 : *driverType = EDT_DIRECT3D8;break;
            case 2 : *driverType = EDT_OPENGL;break;
            case 3 : *driverType = EDT_SOFTWARE;break;
            default: *driverType = EDT_OPENGL;
        }
        fclose(config);
    }
    else
    {
        FILE* erreur = NULL;
        erreur = fopen("erreur.txt", "w");
        fputs("\
erreur : le fichier config est corrompu ou n'existe pas", erreur);
        fclose(erreur);
    }
}

Ce sont les seules fonctions que j'ai codées pour le moment; c'est pas vraiment du C++, c'est pas vraiment à cause d'irrlicht mais comme j'ai posté sur plusieurs forum sans réponses et que je n'ai pas trouvé la cause du problème ...

bref si vous avez une idée ? neutral

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
152 invités en ligne
membre en ligne: -
RSS Feed