J'ai fais pas mal de tests et j'ai trouvé que bien qu'UPX intervient un petit peu dans le fait que la gamme DC soit considérée comme un virus, ce n'est pas l'essentiel, c'est le compilateur qui semble en cause.Re: Problème avec Robix sur DCExel
Message par Daniel » 06 mars 2024 08:53
La question des antivirus est hors-sujet ici, il faudrait ouvrir un nouveau fil de discussion.
Au final je me suis rendu compte que la version DCTO8 pour raspberry pi n'affole aucun antivirus et est déclarée Clean.
Par contre la même version dcto8.exe est bien détectée comme un virus.
Si j'enlève l'UPX, la version décompressée est toujours détectée comme un virus mais par moins d'antivirus.
Cette version DCTO8 a été compilée avec MINGW32 et gcc 3.4.5
La dernière version de DCMOTO a été compilée avec MINGW -W64, il en est de même pour DCEXEL et DCALICE et d'autres.
Ne serait-il pas possible de compiler un émulateur de la gamme DC avec un autre compilateur gratuit (ce n'est pas ce qui manque) et voir si les problèmes d'antivirus disparaissent ?
Et avant de tester un autre compilateur on pourrait déjà tester 4 versions avec niveaux d'optimisations différents:
gcc -O1 -O2 -O3 -Ofast
Chaque niveau produisant du code différent, certains codes déclenchent peut être les antivirus et pas d'autres.
Vu la vitesse des CPU actuels même du code non optimisé ou très optimisé ne changerait rien aux émulateurs.
On parle de ce problème de compilation ici :
https://stackoverflow.com/questions/623 ... s-defender
https://stackoverflow.com/questions/646 ... s-by-avast
https://security.stackexchange.com/ques ... s-infected
Je note d'ailleurs que dans un des liens cités ci-dessus, un des utilisateurs a constaté que du code optimisé par -O3 ne déclenchait pas son antivirus, mon idée semble donc plausible. Bien qu'il faille vérifier si cela est le cas pour tous les antivirus (avec www.virustotal.com par exemple) :
I came across with the same problem, compiler tdm gcc v9.2.
The following compilation triggers a warning (kaspersky).
gcc temp.c -o temp.exe
The following does not
gcc -O3 temp.c -o temp.exe