[C/C++] Virustotal erkennt Taschenrechner als Bedrohung

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Dot com, 6. November 2011 .

  1. 6. November 2011
    Virustotal erkennt Taschenrechner als Bedrohung

    Morgen Leute,

    lerne seit gestern c++ und hab mir nen ganz einfachen Taschenrechner zusammengefummelt.

    Wenn ich den aber auf Virustotal hochladen, dann:




    Antivirus scan for c0eceaddb75ebb8bd63087fa41024ef6 at
    2011-11-06 19:59:42 UTC - VirusTotal


    Kann mir das wer erklären ?

    Sourcecode:
    Spoiler
    #include <iostream>
    #include <cstdlib>
    #include <conio.h>


    using namespace std;

    // Void test

    int zahl1;
    int zahl2;

    void addition()
    {
    cout << "Erste Zahl ?";
    cout << endl;
    cin >> zahl1;
    cout << endl;
    cout << "Zweite Zahl ?";
    cout << endl;
    cin >> zahl2;
    cout << endl;
    cout << zahl1 << "+" << zahl2 << " = " << (zahl1 + zahl2);
    }


    int main()
    {

    int Rechenoperator;
    float zahl1;
    float zahl2;

    cout << "Taschenrechner (Simpel) / Nur Ganze Zahlen" << endl;
    cout << endl;
    cout << "Waehle: [1]. Addition" << endl;
    cout << "Waehle: [2]. Subtraktion" << endl;
    cout << "Waehle: [3]. Multiplikation" << endl;
    cout << "Waehle: [4]. Division" << endl; cout << endl;
    cin >> Rechenoperator;
    cout << endl;



    if (Rechenoperator == 1) addition();



    if (Rechenoperator == 2)
    {
    cout << "Erste Zahl ?";
    cout << endl;
    cin >> zahl1;
    cout << endl;
    cout << "Zweite Zahl ?";
    cout << endl;
    cin >> zahl2;
    cout << endl;
    cout << zahl1 << "-" << zahl2 << " = " << (zahl1 - zahl2);
    }


    if (Rechenoperator == 3)
    {
    cout << "Erste Zahl ?";
    cout << endl;
    cin >> zahl1;
    cout << endl;
    cout << "Zweite Zahl ?";
    cout << endl;
    cin >> zahl2;
    cout << endl;
    cout << zahl1 << "*" << zahl2 << "= " << (zahl1 * zahl2);
    }


    if (Rechenoperator == 4)
    {
    cout << "Erste Zahl ?";
    cout << endl;
    cin >> zahl1;
    cout << endl;
    cout << "Zweite Zahl ?";
    cout << endl;
    cin >> zahl2;
    cout << endl;
    cout << zahl1 << "/" << zahl2 << "= " << (zahl1 / zahl2);
    }




    getch();

    return 0;
    }
     
  2. 6. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Die zwei Antivirenprogramme die das als schädlich erkennen sind Schrott. Gibt genug Schrott Software, da solltest nur auf die "Großen Zehn" schauen.
     
  3. 6. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Mit welchem Compiler und welchen Optionen hast du die EXE denn erstellt? Habs gerade mit CL (x64) versucht und da kommt nix bei rum:


    Antivirus scan for fa482192b30ebef87fd53b16e6b46c71 at
    2011-11-06 20:12:02 UTC - VirusTotal
     
  4. 6. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    War mit mingw auf Win 7 x64.

    Mit dem Syntax: g++ -o kalk.exe namevonnersource.cpp
     
  5. 6. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Hab das auch mal schnell probiert. Gleiche Commandline (g++ (GCC) 4.5.2)
    VT Result: 0/ 43 (0.0%)
    Aber wie N0S schon sagte, mach dir mal keine Gedanken deswegen.
     
  6. 7. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Antwort auf die Frage wurde schon gegeben.

    Andere Frage: wie kommst du dazu, das dort hochzuladen? bringt meiner Meinung nach nix, das nimmt man doch nur zum dir unbekannte Tools zu scannen...

    Greez
     
  7. 9. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    OT:
    Auch wenn du erst seit kurzem C/C++ programmierst:
    cout << "text";
    cout << endl;
    ist das gleich wie
    cout << "text\n"; (Steuerzeichen sparen massig Zeilen und machen den Code dadurch lesbarer)
    oder
    cout << "text" << endl; (wenn man keine Steuerzeichen mag)
    4 IF-Abfragen in Reihe zu schalten ist auch nicht wirklich guter Stil, gerade wenn die Variable, die man überprüft ein einfacher Integer ist.
    Da ist switch-case eleganter und auch performanter, wenn man irgendwann mal was schreibt, wo es darauf ankommt.
    Generell solltest du versuchen deinen Code möglichst wenig doppelt zu verwenden. Die Zahlen-Eingabe könntest du z.B. in der main-Funktion machen und nur die jeweilige Rechenoperation in eine Fuktion auslagern. Wenn ich nachher Lust und Zeit hab, stell ich mal ein Beispiel ein.
     
  8. 9. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Damit ich sehe, was andere sehen würden, wenn sie selbiges täten.
    Und um dann eine adäquate Antwort zu geben
     
  9. 10. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    So, mir war gerade langweilig...

    Spoiler
    #include <iostream>

    using namespace std;

    int main(int argc, char* argv[])
    {
    int op, z1, z2;

    cout << "Taschenrechner für ganze Zahlen\n\n";
    cout << "(1) Addition\n";
    cout << "(2) Subtraktion (Zahl1 - Zahl2)\n";
    cout << "(3) Multiplikation\n";
    cout << "(4) Division (Zahl1 / Zahl2)\n";
    cout << "Operation auswaehlen:\t";
    cin >> op;
    system("cls");

    cout << "Zahl1: ";
    cin >> z1;
    cout << "\nZahl2: ";
    cin >> z2;

    long sum = 0;
    double div = 0;

    switch(op) {
    case 1:
    sum = z1 + z2;
    break;
    case 2:
    sum = z1 - z2;
    break;
    case 3:
    sum = z1 * z2;
    break;
    case 4:
    div = z1 / z2;
    break;
    }

    if(sum)
    cout << "\nErgebnis: " << sum << "\n\n";
    else
    cout << "\nErgebnis: " << div << "\n\n";

    system("PAUSE");
    return 0;
    }

    da ist mir doch glatt noch was eingefallen...
    Spoiler
    cout << "\nErgebnis: ";

    switch(op) {
    case 1:
    cout << z1 + z2;
    break;
    case 2:
    cout << z1 - z2;
    break;
    case 3:
    cout << z1 * z2;
    break;
    case 4:
    cout << z1 / z2;
    break;
    }
     
  10. 10. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Die Heuristik mancher Virenprogramme ist echt nicht der Burner.

    Die Hälfte meiner damals in VB6 erstellen Software wird mitlerweile als Virus erkannt.
    Einmal mit dem Virenscanner übers System - alles weg. Toll.
     
  11. 10. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Bei Dir darf man durch 0 teilen?
     
  12. 10. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Ist ja schön und gut, dass du das jetzt gepostet hast, allerdings wirst du wohl an meinen ersten beispiel gemerkt haben, dass ich nur Variablen erstellen kann, mit diesen Variablen rechen kann und das ergebnis auszugeben. Außerdem verstehe ich die If Schleife.

    Also bringt es mir leider gar nichts, wenn du mir nen Sourcecode hinklatscht, indem du nichtmal erwähnst was das aufgeschrieben da jetzt tut...

    Also, wenn du das noch dazu schreibst, dann haste mir geholfen
     
  13. 11. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Du hast natürlich recht...

    @Dot com
    Das einzige, was an meinem Code damit "neu" sein sollte, ist die switch(case)-Anweisung.

    Grob gesagt: Bei der switch(case)-Anweisung wird nur der Teil durchlaufen, dessen Wert zur Variable passt, die anderen Programm-Teile werden ignoriert. Bei mehreren if-Abfragen hintereinander wird jedes mal die Bedingung überprüft und ein Assembler-NOP (mache eine Runde nichts tun) ausgeführt.

    Sonst rechne ich halt, wo möglich mit Integer und nicht mit Float, weil Float recht schnell ungenau wird, dann kommt bei den Rechnungen Mist rauß. Die if-Abfrage am Ende des "vollständigen" Codes überprüft quasi, ob ich eine Division durchgeführt hab (dann ist sum weiterhin 0 und damit FALSE) oder eine der drei anderen Operationen und gibt entsprechen das Ergebnis aus.
    Der Teil, den ich dazu-editiert hab, macht die Ausgabe direkt im switch-case und kommt deshalb ohne die Abfrage am Ende aus.

    Der system("PAUSE")-Befehl sorgt dafür, dass dein Programm erst auf Tastendruck beendet wird, ohne dafür die conio.h einzubinden. Dieser Befehl sendet ein PAUSE-Command direkt an die Windows-Konsole. Man kann mit system(command) auf die Kommandozeile des jeweiligen Systems schreiben.

    mfg
     
  14. 11. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Da du am lernen bist. Ganz wichtig.
    if-schleife.de ...

    Gerne auch If-Block.
     
  15. 12. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Danke für das mega extrem kurz tut ^^ Hab mich auch schon gefragt, was dadran ne Schleife sein soll ^^

    Was ist eigentlich der unterschied zwischen nem free compiler und nem kommerziellen ?

    Also was macht ihn so besonders, dass er extrem teuer werden kann ?
     
  16. 12. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Was soll das sein? Den Witz verstehe ich nicht.

    Kommerzielle können in der Regel den Source Code besser in Maschinen Code übersetzen. Die Binärdatei ist dann in der Regel besser, entweder besser in der Größe oder besser in der Geschwindigkeit oder beides.

    Aber um das zu erfahren musst du nur die Produktbeschreibung durchlesen:
    http://software.intel.com/en-us/articles/intel-compilers/
     
  17. 12. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Die Verwendung der Bezeichnung If-Schleife ist einfach unprofessionell und falsch. Da, dieser Fehler jedoch sehr häufig gemacht wird (auch in diesem Thread/Forum), hat nun wohl jemand eine Seite dazu aufgesetzt. Das ist Vergleichbar mit seidseit.de - Unterschied von seit und seid verstehen

    Man sollte sich einfach den Unterschied zwischen Schleifen und Abfragen merken.

    OT: Wann laufen in eigentlich mal die Cronjobs durch, damit mein normaler Account entbannt wird...
     
  18. 13. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Der Unterschied liegt nicht maßgeblich beim Compiler... Die Binaries von g++ und Konsorten sind teilweise noch stärker optimiert, als das, was Visual Studio ausspuckt...
    Der Hauptunterschied liegt in der IDE (Der Entwicklungsumgebung, vor allem beim Code-Editor)
    Wer mal an einem großen Projekt mit mehreren 1000 Klassen arbeiten durfte, wird verstehen, was ich meine. Die Intellisense-DB ist dabei ein Segen, da man nicht jede Methode, jeder Klasse im Kopf haben muss. Ähnlich verhält es sich mit dem Syntax-Checking, dass seltsame Stellen direkt beim Coden unterringelt... Da macht man sich gleich gedanken und ist nachher weniger mit der Fehlersuche beschäftigt.

    Wenn du mal etwas in der Richtung ausprobieren willt, das Visual Studio gibt's in einer kostenlosen Express-Version, die reicht für viele Sachen aus, gerade wenn's um kleinere Projekte geht und IntelliSense gibt's auch in dieser Version.
     
  19. 28. November 2011
    AW: Virustotal erkennt Taschenrechner als Bedrohung

    Auch wenns Off-Topic ist, der Intel Compiler achtet beim Optimieren (verständlicherweise) darauf dass der Code gut auf Intels läuft. AMD spielt da keine Rolle. Ob das heute immer noch wirklich spürbar ist, keine Ahnung. War aber wohl mal so.

    Aber solange man keine sehr rechenintensiven Programme schreibt sind die Unterschiede zwischen den Compilern vermutlich eh kaum bemerkbar. 99% der Zeit idled die CPU meistens...
     
  20. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.