Eigenes Programm als Virus erkannt

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von MVN050.

    Eigenes Programm als Virus erkannt

    Hallo!
    Ich habe ein Programm gemacht, mit dem man seine Dateien sichern kann (Backup-programm).
    Das Problem ist jetzt nachdem ich es obfuscate wird es sofort als Virus erkannt (benutze Avira) und wird sofort gelöscht.
    Ohne obfuscaten ist alles ok. Aber ich will mein Programm nicht ohne obfuscaten veröffentlichen, da viel Arbeit drinsteckt und ich keine Lust habe das es jmd. anderes klaut. Aber da macht mir Avira ein Strich durch die Rechnung. Es wird al TR/Confuser erkannt. Ich bin total ratlos. Was soll ich tun, damit ich es obfuscate aber nicht als Trojaner erkannt wird? Danke :D
    Bild: welt101.eu.pn/screenshot-1892/

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „welt101“ ()

    welt101 schrieb:

    Das Problem ist jetzt nachdem ich es obfuscate wird es sofort als Virus erkannt (benutze Avira) und wird sofort gelöscht.
    Gut so. Ich werde nie verstehen, warum man irgendwelchen Code obfuscaten muss und ihn damit langsam, ranzig und schlecht wartbar macht.

    Und das Argument, dass es jemand klaut... Jetzt mal ganz ehrlich. Im .NET-Framework, dem .NET-Core und dem ganzen Zeugs, das zur Verfügung gestellt wird, steckt sicherlich das mehr als 100-fache an Arbeit und Microsoft stellt das auch OpenSource zur Verfügung. Und trotzdem kam noch niemand auf die Idee das zu kopieren/klauen. So viele Projekte, bei denen sich das lohnen würde, sind OpenSource. Und wenn jemand an Deinen Code will, dann kommt er sowieso ran. Von daher bringt diese Maßnahme nichts, außer dass Du Dir selbst ins Bein schießt, wenn das ganze Programm verunstaltet und langsamer wird (siehe goto etc.).
    Und meist ist es so, dass irgendwelche Scriptkiddies, die Code klauen wollen, zu 95% keinen Plan von dem haben, was sie da kopieren. Folglich bringt das denen meist eh nichts, wenn das Ganze solide aufgebaut ist und sie gar nicht durchblicken. Und selbst wenn jemand 'ne Klasse von mir übernimmt, weil er sie in einem Projekt braucht, ja, dann ist mir das auch egal bzw. sogar recht. Dafür stelle ich es auch zur Verfügung. Ich kann mein Zeugs mit einer passenden Lizenz versehen und gut ist.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Hey :)

    Spar dir die Arbeit lieber mit der Obfuscation.

    So Bloed es sich anhoert aber, Jeder der An deinen Code Ran will, der kommt auch ran.
    Eine Obfuscation ist Nicht wirklich Extremst sicher und kann mittlerweile von jedem Decompilliert werden.

    Andernfalls, falls du das ganze dann doch machen willst,
    Dann schau mal zb. Hier (stackoverflow.com/questions/65…tion-looking-like-a-virus)

    Denn dieses Problem hast nicht nur du sondern auch andere, wenn man danach mal Sucht.
    Ich Empfehle dir Wirklich Herzlich, Google & Co. mal etwas Oefters zu Nutzen ;)

    lg
    Begeisterter BF4 Spieler :D
    Ausnahme in Avira einrichten?

    Edit: Und von diesem obfuscaten halte ich eh nichts. Als ob das jemanden hindern würde Code zu klauen...
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Danke! Ich denk mal nach. Aber ich hab dafür viel Zeit in Anspruch genommen und möchte halt nicht das jmd das in zwei Sekunden klaut und irgendwo verkauft.
    Aber was wenn ich im Source Code sensible daten (also Passwörter) verwende und es nicht obfuscate?
    Dann kannst Du immer noch rechtlich vorgehen. Schließlich ist es Dein geistiges Eigentum. Jetzt aber mal ehrlich: Sowas passiert extrem selten und fällt sicherlich auch recht schnell auf. Aber mal unter uns, denkst Du wirklich, dass Dein Code so besonders ist, als dass ihn jeder gleich klaut? Verstehe mich nicht falsch, ich meine das auch nicht böse. Aber es gibt sicherlich Projekte (würde ich mal jetzt schätzen), die weitaus größer und umfangreicher sind und die Entwickler machen sich da auch keine Rübe drum.
    Und Passwörter bzw. sensible Daten haben im Code nichts zu suchen! Wenn Du diese einkompilieren musst, dann hast Du bereits einen schwerwiegenden Fehler in der Architektur, den Du beheben musst.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    welt101 schrieb:

    Aber was wenn ich im Source Code sensible daten (also Passwörter) verwende und es nicht obfuscate?


    ... dann solltest du deinen Code überarbeiten, wer schreibt denn bitte Passwörter in den Code.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Wenn Du Passwörter im Code hast, dann ja. Alles andere ist nicht tragbar und saugefährlich. Um was geht es denn? FTP? Irgendwelche Verschlüsselungen?
    Jedenfalls bringt Dir da auch ein Obfuskator nichts. Wenn ich Deinen String haben will, dann bekomme ich ihn auch. Es kommt also auf dasselbe raus: Irgendwer kriegt die Daten in die Hände und was dann passiert/passieren könnte weißt Du hoffentlich. ;)

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Das ist doch völlig irrelevant, ob es da erkannt wird oder nicht. Baue Dein Projekt gescheit und sicher auf, lass den Obfuskator weg und Du bist den Ärger los.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Danke für euere Antworten :D Hab noch ne Frage: Wie machen das andere mit dem obfuscaten?

    Zum Beispiel kann ich den Chrome Browser nicht dekompilieren, aber er wird auch nicht als Virus erkannt.
    Wenn dir das reicht kannst du ja auch die Aggressivität des Obfuscators runter stellen, z.B. nur die Namensersetzung der Variablen und Klassen aktivieren.

    Trade schrieb:

    schlecht wartbar macht.
    Äh du weißt aber schon, dass der Obfuscator nicht auf den Quellcode angewendet wird, oder meinst du die User können den Code schlecht warten? :)
    Chrome ist auch nicht in einer .NET-Sprache, sondern in C++ geschrieben. Das ist nativ und läuft somit bzgl. der Übersetzung etwas anders ab. Heißt allerdings nicht, dass man native Programme nicht durch einen Disassembler werfen und die Routinen bzw. Strings rauslesen kann!

    Edit: @Bluespide Haben nicht gewisse Obfuskatoren so 'ne Art Trial? Ich meinte, dass die dann bspw. nach 30 Tagen dafür sorgen, dass das Programm nicht mehr nutzbar ist.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()

    Nein. Warum sollte es? Jede Binary ist in der Lage, Deinem Rechner zu schaden. Da spielt es keine Rolle, in welcher Sprache die geschrieben wurde.
    Es geht nur darum, dass Du 'ne C++-Binary nicht in ILSpy oder whatever werfen kannst und dann den Code einsiehst, weil das nicht zu IL, sondern direkt zu Maschinencode, übersetzt wird.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    @welt101
    ich stand vor dem gleichen Problem wie du und muss @Trade recht geben. Diese obfuscate kacke ist kacke ;) Denk mal drüber nach wer verhindern will das niemand sein Quellcode sieht? Nachdem ich lange überlegt habe kam ich nur auf eine Gruppe... HACKER! Hoffentlich kamen auch die kostenlose Antiviren programme mal auf die Idee und haben es verstanden. Ich würde jedes obfuscate Programm ganz schnell von meinem Rechner schmeissen... Jeder der sowas benutzt kennt sich entweder nicht mit c++ aus und/oder ist ein Hacker der nichts kann ;)
    Passwörter sollten NIEMALS in einem Quellcode stehen. Ich komme jetzt auch nur auf eine FTP Verbindung wo man fest die Zugangsdaten in dne quellcode reinschreiben müsste (aber die Zugangsdaten können sich ja ändern? wer ändert denn wegen so einer kacke sein programm?)
    Alle .net Anwendungen können eingesehen werden und was denkst du wieviele .net Anwendungen öffentlich verkauft werden für viel Geld? Denkste ernsthaft die machen sich gedanken das ihre Anwendung geklaut wird?
    Gerade bei einem Backup Programme ist es für Fachleute wichtig zu verstehen was im hintergrund passiert (wenn die es wissen wollen). Hast du dir mal Briefe und Pakete angesehen? die kannst du doch auch ganz leicht öffnen aber wer macht das schon und warum?

    Wenn du nichts zu verheimlichen hast dann lasse dein Programm doch "normal". Wenn du allerdings Angst hast dann schaue dir C++ an. da kann man den Quellcode nur schwer sehen (unmöglich ist es da aber auch nicht ganz). Wenn du eine Verbindung zu einem Server aufbauen musst dann gib dem Client seine Persöhnlichen Zugangsdaten (Benutzername und Passwort) und der Server regelt die Sicherheit (nicht der Client) und Verschlüssele die Übertragung zwischen Client und Server. Wenn ein Hacker zugriff zu einem PC hat und Zugangsdaten von jemanden findet... glaub mir der Besitzer hat ganz ganz GANZ andere Probleme als das nur solche Zugangsdaten gefunden würden ;) FTP ist sowieso veraltet und sollte aus Sicherheitsgründen (weil Benutzername und Passwort im Klartext übergeben werden) nicht mehr benutzt werden.
    Hast du schonmal ein Hacker gesehen der eine Signatur in seinem Programm gemacht hat? Nein? Hast du schonmal eine Firma gesehen die keine Signatur in ihrem Programm haben? Nein?
    Denk ma drüber nach warum ;)