Code mehrfach schützen!

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Mokki.

    Obfuskieren macht den Code unleserlicher, es gibt aber entsprechende Deobfuscator.
    Mach es, wenn dus nötig hast, aber ich verspreche dir, du hast nix in deinem Code was den Aufwand wert ist.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

    Cheffboss schrieb:

    Ist es sinvoll seinen Programm Code mehrmals mit verschiedenen .net obfuscator zu schützen?
    Nein. Es ist nicht mal sinnvoll, das überhaupt zu obfuskieren.

    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 :!:
    Wenn du was zu schützen hast, dann Lager den Algorithmus bzw den schützenswerten Vode/Teil in eine Native DLL aus. Die spricht du dann per PInvoke bzw DllImport an.
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Nein, es gibt keinen Schützenswerten Code, wenn den jemand ausliest und verwendet und du nachweisen kannst, dass er deinen Code verwendet hat, dann ist es dein geistiges Eigentum.
    Wenn du Code aufgrund von Sicherheitsmechanismen schützen musst, dann ist der Code schlecht, da helfen auslagern in native-dlls oder obfuscatoren überhaupt nichts.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Und warum werden dann viele Programme(DVDVideosoft) obfuskiert?

    Ist der code etwa schlecht?
    Nein!
    Die Entwickler wollen einfach nicht, dass jeder lesen kann WIE genau sie dies oder das gemacht haben.
    Nur weil jemand obfuskiert oder Code in Native dlls auslagert, muss das noch lange nicht heißen das der Code schlecht ist. Nur dass der Entwickler ned will, dass jeder lesen kann, wie ein Problem genau gelöst wurde

    Außerdem musst du ja erst einmal nachweisen, DASS dein Code kopiert wurde
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Ich kenn den SourceCode von DVDVideosoft nicht, aber ich würde niemals ausschließen, dass der Code schlecht ist, nur weil er von einem Unternehmen gemacht wurde, kann ich natürlich nicht nachweisen, weil obfuskiert.

    Aber genauso kannst du mir nicht beweisen, dass deren Code gut ist.
    Außerdem sprach ich von Einzelentwicklern und nicht von Unternehmen. Und auslagern in Native dlls macht man nicht um Code zu verstecken, das gehört sich einfach nicht. Das macht man aus ganz anderen Gründen:
    -Der Native Code bestand bereits
    -Der Code muss möglichst schnell sein
    -Der Code wird mit unterschiedlichen Sprachen wiederverwendet
    - evlt. noch andere
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Code in native DLLs auslagern bringt auch nur begrenzt was. Kannste auch hergehen, in 'nen Disassembler schmeißen und die Routinen rauslesen.
    Und zum Obfuskieren: Es lohnt sich einfach nicht. Wenn jemand Deinen Code haben will, bekommt er ihn auch. Das Obfuskieren macht Dein Programm allerdings nur ranzig + langsam (goto-Anweisungen etc.) und schlecht wartbar.
    Nehmen wir doch z. B. mal das .NET-Framework, welches auch OpenSource ist. Warum? Jeder kann den Code einsehen, mithelfen, diesen zu verbessern und evtl. besser Lösungen für seine Probleme finden.
    Und woher schließt Du aus, dass größere "Firmen" so besonders guten Code schreiben? Gibt mehr als genügend Fälle in der IT-Branche, wo ich klar das Gegenteil behaupten würde.

    Jeder hier im Forum, der OpenSource-Software entwickelt (mit mir eingeschlossen) könnte auch seinen Code verstecken, weil man Angst haben könnte, irgendwelche Kiddies könnten den kopieren. Doch ehrlich gesagt: Juckt mich nicht. Irgendwelche Kinder, die Code klauen wollen, machen dies eh nur, weil sie selbst keine Ahnung von der Materie haben. Wenn mein Projekt jetzt 'ne gute Architektur hat, stark auf OOP achtet und einfach auch gut zusammenhängend ist, kannste das eh knicken, da Du davon ausgehen kannst, dass die das eh nicht verstehen und so oder so dann irgendwann aufgeben. Spätestens dann, wenn es darum geht, Bugs zu fixen etc.

    Auch hat OpenSource bspw. den Vorteil, dass jeder den Code nachvollziehen kann und dann wird es umso schwerer, den zu kopieren. Und trotzdem kannste ja immer noch mit entsprechenden Lizenzen arbeiten, wenn Du drauf bestehst.

    Ich sehe es vielleicht ein, dass man kommerzielle Programme obfuskiert, da es da um Geld geht. Allerdings wirst Du da wohl kaum die 0815-Obfuskatoren finden, die i. d. R. so benutzt werden. Die investieren dann schon in entsprechende Lösungen, die auch mächtig Geld kosten und sich dann soweit auch lohnen. Und dennoch: 100%ige Sicherheit haste nie.
    Da ich mal davon ausgehe, dass der TE genauso wie 90% der Member des restlichen Forums einfach ein Hobbyprogrammierer ist, wird das also kaum der Fall sein und dann verweise ich auf die oben genannten Punkte.

    Kostenlose Software, die übermäßig obfuskiert und nicht wirklich bekannt (bzw. bewährt gut) ist, führe ich persönlich sowieso nicht aus.

    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 :!:
    Sicher ist bei mir nur eine Methode(benutz die aber nicht): Nen sicherer Webserver auf dem der Teil des Codes der relevant ist laufen soll. Hab dazu schon mal was geschrieben. Ich edit den Beitrag sobald ichs gefunden hab.

    Edit: So hier der Link: Visualbasic script schützen!?

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    Fakt ist: Wenn ich im Besitz der Dateien bin, kann ich mit mehr oder weniger Aufwand die Funktionsweise verstehen.

    thefiloe schrieb:

    Egal welche Sprache. Computer kann es lesen => Mensch hat Computer gebaut => Mensch kann es lesen. Schluss fertig aus.
    Mit freundlichen Grüßen,
    Thunderbolt
    In dem verlinkten Beitrag listest Du ja selber die Nachteile/Probleme auf, die imho diese Methode schon disqualifizieren.

    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 :!:
    Für mich sind nur 3 Probleme relevant. Der Server muss den Client erkennen. Der Client muss immer online sein(und selbst das ist bzw. wird bald nichtmehr das Problem sein) und der Server muss sicher sein. Zwar ist es so das man viel über Sicherheit lesen kann usw. aber ich denke man kann da sehr schnell Fehler machen...

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread