Programmierung mit Mono ohne .NET Framework?

  • C#

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Thias.

    Programmierung mit Mono ohne .NET Framework?

    Guten Tag!
    Ich wurd aus Google nicht so wirklich schlau, deswegen frage ich hier nochmal nach.

    Ist es möglich unter Mono ohne .NET Framework zu arbeiten? Da mein Projekt fertig ist, aber das Problem ist, das jeder in den Source Code mit externen Tools wie ILSPy einsehen kann. (<- Gibt es einen Weg die Source zu verschlüsseln, ohne das irgendwelche Antiviren Programme einen Virus anzeigen? Am besten kostenlos)
    Und das gefällt mir nicht so. Deswegen nochmal: Ist es möglich unter Mono ohne .NET Framework zu arbeiten?

    Mit freundlichen Grüßen
    Ähm Mono ist eine quelloffene Implementierung vom .Net-Framework, wie stellst du dir das bitte vor?
    Nein es gibt da keinen Weg, da der Computer es verarbeiten können muss, kann es auch ein Mensch (zwar mit mehr Aufwand wenn es obfuskiert ist, aber es ist möglich). Nimm ne entsprechende Lizenz und gut ist. Ohne es böse zu meinen, aber so super duper wichtig wird deine Anwendung nicht sein und denk mal darüber nach was für einen Aufwand die großen (MS, Adobe, Spielestudios) betreiben ohne das es etwas bringt.
    An open-source, free protector for .NET applications: github.com/yck1509/ConfuserEx

    Anti-Virus: Hängt ganz davon ab, wie extrem Du es mit dem Schutz treibst.

    "invalid metadata" mag z.B. Bitdefender gar nicht, alles andere lässt sich auswählen.

    Langsamer wird Dein Programm auch, aber meistens ist dies im konkreten Anwendungsfall nicht spürbar - kommt aber auf Deine Anwendung an.

    Du kannst aber z.B. auch nur diverse DLLs schützen, welche Dir besonders wichtig sind, dass da niemand reinschaut - warum auch immer.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Thias“ ()

    @meikel__ Es gibt eigentlich nur 2 Möglichkeiten, warum man Code nicht zeigen möchte. Entweder er ist unsauber und schlecht programmiert, oder er enthält sensible Daten, die andere nicht sehen sollen. Egal was du tust, eine Lösung für diese Probleme existiert nicht. Sensible Daten bekommt man auch obfuskiert ohne Probleme aus dem Programm raus und "unsaubere" Programmierung spiegelt sich im Endprodukt wieder. Es soll Menschen geben, die argumentieren, sie möchten nicht, dass jemand den SourceCode "klaut". Wer sich wirklich einbildet, dass er Code geschrieben hat, der so gut ist, dass andere ihn immer kopieren würden, dem ist nicht zu helfen. 95% der Leute hier kopieren sich ihre Programme sowieso zu 50% aus StackOverflow-Antworten, würde ich jedenfalls spekulieren. @3Angle kann dir aber sicher auch Beweggründe zum "Ich obfuskiere meine Software"-Movement geben, der ist auch Vorreiter in der Beziehung. Schwachsinn ist es trotzdem.

    TL;DR: Lass es, schreib dein Programm ordentlich, und dann ists gut.

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    @Nikx

    Bei sensilben Daten gebe ich Dir ja zu 100% Recht. Sensible Datne haben ja aber auch nichts (wie auch immer verschlüsselt) in nativen C bzw. C++ Programmen zu suchen!

    Trotzdem macht obfuskieren gerade bei kommerziellen Produkten Sinn.
    Denn in den meisten EDV-Abteilungen bekommt die EDV-Mannschaft z.B. mit ILSpy oder Telerik JustDecompile das Dekompilieren gerade eben noch hin und macht sich dann durchaus gerne (auf Anweisung der Geschäftsleitung) illegale Kopien eines Programmes - um Lizenzen zu sparen - so ist das Geschäft nun einmal - da braucht man sich nicht darüber ärgen oder blauäugig zu sein!
    Wobei es zum Glück auch noch genug EDV-Abteilungen gibt, die selbst von ILSpy noch nicht gehört haben!

    Wenn aber ConfuserEx über die Anwendung gejagt wurde, dann habe ich zumindest noch keine EDV-Abteilung gesehen, die auch nur im entferntesten dazu in der Lage wäre, den Code zu klauen, um Lizenzen zu sparen.

    So eine EDV-Abteilung - die das kann - wird es sicher auch geben - aber dies sind die Ausnahmen!

    Und jetzt mal eine neugierge Frage an Dich @Nikx oder @nafets : Wie lange benötigst Du, um einen mit ConfuserEx obfuskierten Code wieder lesbar zu machen inklusive der Ressourcen?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Thias“ ()

    @Thias Lizenzsysteme kann man auch aushebeln, ohne etwas wieder Lesbar zu machen, abgesehen davon, wenn dein Programm wirklich so gut ist, dass es tausende verwenden, dann ist es doch fast egal, wenn 100 davon die Lizenzen umgehen.
    Und wenn dein programm kleiner ist, dann lohnt es sich sowieso nicht, vorallem weil es sich dann wohl kaum verbreiten wird.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    @jvbsl

    Wenn ich erst beim Kunden vor Ort das Programm kompiliere inklusive Obfuskierung und im Programm einen Hardware- und Softwareschlüssel für den entsprechenden PC einbaue - so dass das Programm nur auf dem entsprechenden PC läuft, dann bekommen es die EDV-Abteilungen es eben nicht hin, das Programm mal eben zu kopieren und die Lizenz zu umgehen - solange Sie das Programm nicht dekompiliert bekommen.

    @Thias du weißt, dass Decompiling nicht die einzigste Möglichkeit ist Lizenzen zu umgehen und um bei .Net dazwischen zufunken gibt es eben mehrere Möglichkeiten.

    Vorallem hast du bei einem .Net Programm immer zu einem bestimmten Zeitpunkt(spätestens bei der Ausführung) IL Code und IL Code zu lesen/bearbeiten ist auch keine Kunst.
    Man kann bei der CLR z.B. intercepten, oder auch mittels Mono Source ;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    @Thias habe ich, aber ich bin sicher, dass es da mehrere Leute gibt, die dazu in der Lage sind. mMn ist da der kosten nutzen Aufwand einfach in keinem Verhältnis, oder glaubst du, du hast dadurch schon so viel mehr Geld eingenommen?

    Außerdem:
    Satzzeichen sind keine Rudeltiere.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Obfuskierung ist meiner Ansicht nach nur dort vertretbar, wo zwei Entwickler als direkte Konkurrenten um Kunden kämpfen. Wenn man einen Vorteil gegenüber dem anderen hat, Obfuskiert man seinen Code, um es dem anderen unwirtschaftlich zu machen, das zu knacken und abzugucken. Wohlgemerkt unwirtschaftlich, nicht unmöglich.

    Sonst sehe auch ich darin keinen Sinn, da die paar schwarzen Schafe mit ihren ach so bösen EDV-Abteilungen sich mit Raubkopien im falle von Audits etc. sowieso mehr ärger einfangen als sie dadurch Geld gespart hätten. Nicht nur, dass die Entwicklerfirma da Lizenznachzahlungen, sowie Verlustkompensationen einklagen kann, sondern die Zertifizierung ist danach auch futsch, ganz schlecht für Unternehmen, die gut dastehen wollen.
    a) Brauche ich zum Glück gar nicht soviel Aufwand treiben, wie ich maximal treiben könnte - da dies eben keine Programmier-Entwickler-EDV-Abteilungen sind und die überhaupt kein Programmiererfahrung in VB.Net oder C+ (oder IBM RPGLE - worin ich noch mehr unterwegs bin -) haben - halt typische Server- und Netzwerk-EDV-Abteilung

    b) Ich sage dem Kunden, ich brauche für das individuell zu programmierende Programm z.B. ca. 100 Stunden - Kunde sagt zu teuer - will nur 50 Stunden als Basis bezahlen.

    Sage ich OK - für 50 Stunden auf den beiden PCs lauffähig, wo das Programm aktuell benötigt wird - dafür aber weitere 500 Euro für jeden weiteren PC / User.

    Normalerweise habe ich dann die 100 Stunden schnell raus, weil das Programm dann eben doch von noch mehr Personen bedient werden soll - dies kann ich ganz gut abschätzen, da ich meine Kunden teilweise 20 Jahre kenne.

    Ohne Schutz wird dann aber von der EDV eben doch ganz gerne getrickst, was man als Freiberufler rein sportlich nehmen muss, wenn man es (meist früher oder später) doch rausbekommt.

    @EaranMaleasi
    Wohlgemerkt unwirtschaftlich,

    Genau - darum geht es!

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „Thias“ ()