Wie mein Projekt schützen
-
Hallo, ich habe ein programm in Java geschrieben dass ich jetzt einen Kunden verkaufen möchte. Jedoch will ich mir sicher sein, dass der Kunde mein Projekt nicht decompilieren kann und somit meine idee klaut. Kann man irgendwie die ganzen class dateien dagegen schützen?
Was passiert eigentlich wenn ich mein java projekt in eine exe umwandle wie java2exe . Klar weiß ich dass sie dann plattformabhängig wird aber das wäre mir egal. Ich will nur mein projekt sichern. gibt es da eine gute lösung?
Sollte ich vieleicht mein projekt in C# umwandeln? C# soll aber genauso problemlos decompilierbar sein.
-
Es gibt sogenannte Obfuscators, die hergehen und alle Identifier und Methodennamen so umbenennen, dass es ziemlich schwierig wird daraus einen Sinn abzuleiten. Beispiele dafür gibt es im Netz genug.
Links zum stöbern:
http://www.cs.auckland.ac.nz/~cthombor/Students/hlai/
http://www.retrologic.com/
http://www.zelix.com/klassmaster/
http://www.yworks.com/en/products_yguard_about.htm
-
Hey super danke. Bringe diese auch wirklich "100%" sicherheit. Mir ist schon bewußt dass es keine 100% sicherheit gibt. Man kann genauso eine C++ mit einem deassembler manipulieren. Aber was mir nur wichtig ist, ob es denn dann genauso schwer ist die class dateien wie C++ dateien zu manipulieren?
Gibt es diese tools auch für C# ?
-
Hi
es gibt auch nativ java Compiler die deinen code in platform abhängigen binärcode übersetzen. in einer der letzten beiden IX war ein artikel drüber drin.
andere möglichkeit mit nem Dongel arbeiten, was aber wieder geld kostet. Der Dongel decodiert die verschlüsselt gespeicherten class fils. weiter erkennt die software des Dongels ob irgendwas an der vm gedreht wurde, um die entschlüsselten class fils auszulesen.
gruss
-
Nur mal so nebenbei: Du nennst dich JavaNewbie und stellst auch ne Newbie-Frage. Wie kommst du dadrauf, dass du schon schützenswerten Code produzieren könntest?!
-
Gregor schrieb:
Nur mal so nebenbei: Du nennst dich JavaNewbie und stellst auch ne Newbie-Frage. Wie kommst du dadrauf, dass du schon schützenswerten Code produzieren könntest?!
Vielleicht ist es ja für jemanden ein Entscheidungskriterium? :p
-
Das denke ich auch. Bevor man eine Entscheidung trifft mit welcher Sprache man seine Projekte erstellen will dann sind solche Kriterien auch wichtig.
Was ich empfehlen würde was auch schon gesagt wurde das Projekt mit einem Native Compiler zu übersetzen wie mit JET. Jedoch kenne ich keine Compiler die man kostenlos kommerziel benutzen darf. Kennt vieleicht jemand einen guten kostenlosen Compiler?
Wenn man den native Code erstellt, braucht noch etwas dabei an Bibliotheken um das Projekt zu starten? Was wird denn da für ein Code erstellt?
-
BlackDragon schrieb:
Das denke ich auch. Bevor man eine Entscheidung trifft mit welcher Sprache man seine Projekte erstellen will dann sind solche Kriterien auch wichtig.
Was ich empfehlen würde was auch schon gesagt wurde das Projekt mit einem Native Compiler zu übersetzen wie mit JET. Jedoch kenne ich keine Compiler die man kostenlos kommerziel benutzen darf. Kennt vieleicht jemand einen guten kostenlosen Compiler?
Wenn man den native Code erstellt, braucht noch etwas dabei an Bibliotheken um das Projekt zu starten? Was wird denn da für ein Code erstellt?So wichtig ist dieses Kriterium nicht, wie es immer wieder hochgespielt wird. Erstens tun Obfuscatoren so weit ihren Dienst, dass kaum einer mehr Bock hat, den verwirrten Code noch verstehen zu wollen.
Wenn du nicht gerade einen revolutionären Algorithmus entwickelt hast, den ganze Horden von Wissenschaftlern auch verstehen wollen, ist dein Code damit schon uninteressant.
In der Praxis ist das Problem sogar noch geringer, weil sich erstens sowieso keiner für deinen Code interessiert und oft Java-Code auch nur serverseitig ausgeführt wird (bei Servlets z.B.), weswegen Firmen, die damit Geld verdienen, auch nicht wirklich ein Problem haben.
Und wenn jemand Source klaut und zu Geld macht, kann man seinen Source genauso decompilieren und das nachweisen.Die, die am lautesten weinen, sind sowieso die Spaten, die mit Debug-Informationen compilieren.
Native Compiler sind nicht der Sinn und Zweck von Java.MaSTaH schrieb:
Vielleicht ist es ja für jemanden ein Entscheidungskriterium? :p
Soviel weiß ich inzwischen schon, dass dir praktisch jeder Grund gegen Java, egal wie gut oder schlecht, Recht ist.
-
...stimme Optimizer voll und ganz zu.
-
@Optimizer: FULL ACK!
-
Burkhardt von Optimizien ist der neue König!! Er lebe hooooooooch!!!
(Was ich damit sagen wollte: FULL ACK! )