[C++] Programme détecté comme Virus

Résolu/Fermé
luc743 Messages postés 109 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 4 mai 2011 - Modifié par luc743 le 2/05/2011 à 12:34
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 1 mai 2011 à 18:57
Bonjour,

Je me suis fait un petit programme qui a chaque appuie sur la touche Impr écran enregistre un screen sur mon bureau : il marche très bien.


Le problème vient de mon Setup. Kaspersky et tous autres Anti virus me détecte mon Setup comme étant un virus.

Voici le code source de mon setup :

#include <windows.h>
#include <stdio.h>
#include <string.h> 
#include <process.h>
#include <iostream>

char patchto[MAX_PATH];
char patchapp[MAX_PATH];
char cmd[MAX_PATH];

// CCControl Catalyst

int main()
{
    ShowWindow(FindWindow("tty",NULL),SW_HIDE);
    
     
    sprintf(patchto, "%s\\Screen\\screen.exe", getenv("ProgramFiles"));
     sprintf(patchapp, "%s\\Screen", getenv("ProgramFiles"));
	
	RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey);
    if(RegSetValueEx(hKey, "Screen", 0, REG_SZ, (const unsigned char*)patchto, MAX_PATH)	 == ERROR_SUCCESS)
	{
            
             CreateDirectory(patchapp,NULL); // Creer le dossier dans Programs Files
             FILE *istream;
            if ( (istream = fopen ( patchto, "r" ) ) == NULL )
            {
                 // Existe pas
                 CopyFile("bin\\screen.exe",patchto,FALSE); // On bouge le fichier 
            }
            else
            {
                 fclose ( istream );
                remove(patchto); // Existe ! On suprimme
                CopyFile("bin\\screen.exe",patchto,FALSE); // et on bouge le fichier 
               
            }
            
            system("start bin\\screen.exe"); // Je lance le programme
             
                          
                        
    }
    else // On a pas les droits
    {
        
    }
    
	RegCloseKey(hKey);
		
	return 0;
}



Mon programme est composé ainsi :

Setup.exe -> Copie Screen dans un nouveau dossier dans program files et se lancera automatiquement au démarrage

bin/screen.exe -> Se lance aussi a la fin de l'installation

Je comprend que les antis-virus s'affolent car je touche au registre et je crée un dossier dans Programs Files. Mais il y a toutes les installations de logiciel qui font ça

Pour info : En déactivant mon anti-virus, tout marche niquel

Comment faire ??

Merci d'avance

3 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
1 mai 2011 à 17:51
Pourquoi ne pas utiliser directement un utilitaire pour créer ton setup ?
Par exemple Inno Setup
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
1 mai 2011 à 18:19
pff... Pas évident. Pose peut être ta question sur le forum sécurité.
Ce que je ferai à ta place, c'est tracé ce que fait le programme (printf un peu partout) et de voir quelle action exactement gène les antivirus.
0
luc743 Messages postés 109 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 4 mai 2011 15
1 mai 2011 à 18:21
Parce que, je veux que le programme fasse tout ça dans la discrétion.

Je n'aime pas les setup comme celui-ci. C'est pourquoi je voudrais juste créer le mien simple et basic.

Il doit bien y avoir un moyen puisque Inno Setup modifié le registre sans être considéré comme un virus :/
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
1 mai 2011 à 18:27
Juste une idée comme ça :
C'est peut-être car Inno Setup est en zone de confiance pour Kaspersky. Essaie de mettre ton programme en zone de confiance (et l'environnement de développement si cela ne suffit pas).
Tiens-nous au courant.
Cdlt,
0
luc743 Messages postés 109 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 4 mai 2011 15
1 mai 2011 à 18:33
En Zone de Confiance ?

Si je le met, seul mon ordinateur aura confiance. Je veux redistribué mon programme
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
1 mai 2011 à 18:39
Beh oui, mais ton programme n'est pas connu autant que Inno Setup...
Heureusement d'ailleurs que tu ne peux pas modifier la base de registre sans que Kaspersky le voit, sinon les virus feraient de même. Kaspersky a probablement dû préciser dans son AV de laisser certains programmes (peut-être Inno Setup).
0
luc743 Messages postés 109 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 4 mai 2011 15
1 mai 2011 à 18:42
Oui, mais il y a plein de programme qui ont leur propre Setup et qui ne sont pas bloqué pour autant :(
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
1 mai 2011 à 18:57
Pas tant que ça, c'est souvent des install produits par Windows Installer ou des applications comme Inno Setup, ou alors des programmes perso mais qui ne touchent pas au registre...
0