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("\nerreur : 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 ?
Dernière modification par endering (31-12-2008 18:04:27)
Hors ligne
Le code est exactement le même mais l'alerte a disparue sans que je comprenne pourquoi
Hors ligne
Je vais essayer vite fait avant la fin de journée, et je te tiens au courant...
Hors ligne
le fichier config.txt a côté de l'exe est celui-ci si tu en as besoin :
taille de l'écran : 800 600
driver type : 2
plein écran : 0
de plus les .exe 'infectés' ne font que la moitié de la taille du .exe 'propre', j'ai beau chercher je ne comprend pas
Hors ligne
Fait un petit zip sinon, car il manque un #if dans ton premier code, ainsi que la 'dataManagement.h'...
Hors ligne
Voilà un (très petit !) zip : http://www.portail-irrlicht.fr/_upload/ … orming.zip
il manque juste la dll d'irrlicht, mais après plusieurs recompilations et en changeant le code je n'ai pas eu a nouveau ce problème.
Hors ligne
Donc, je viens d'essayer avec ton archive, et pas de soucis, pas de cris de Avast..
J'ai Avast 4.8 version familiale si cela peut t'aider... et je compile avec VC++ 2005 Express Edition.
Désolé de ne pouvoir t'aider plus....
Hors ligne
Merci quand même, j'ai aussi avast 4.8 familiale, je ne comprend toujours pas ce qui s'est passé mais bon ça à l'air de marcher pour le moment.
Hors ligne