Historique des modifications - Message

Message #5379

Sujet: Mon programme, un virus ?!


TypeDateAuteurContenu
Dernière modification31-12-2008 17:04:27endering
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 message31-12-2008 13:57:47endering
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

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
64 invités en ligne
membre en ligne: -
RSS Feed