16 Stimmen

Java-Obfuskatoren

Ich bin auf der Suche nach einem guten Java Obfuscator.

Ich habe die folgenden Java-Obfuskatoren untersucht: proguard, yguard, retroguard, dasho, allatori, jshrink, smokescreen, jobfuscate, marvin, jbco, jode, javaguard, jarg, joga, cafebabe, donquixote, mwobfu, bbmug, zelix klassmaster, sandmark, jcloak, thicket, blufuscator, und java code protector.

Ich versuchte proguard und es hat eine wirklich schöne GUI, scheint wirklich stabil, und scheint die beliebteste zu sein, aber es schien nicht wie einige Aufzählung auf eine referenzierte jar-Datei (nicht innerhalb der Code, den ich versuchte, zu verschleiern), die seltsam war. Yguard scheint eine Interaktion mit Ant zu erfordern, über die ich nicht allzu viel wusste.

Was ist ein guter Java Obfuscator? Er muss nicht kostenlos sein, er muss nur gut funktionieren und einfach zu bedienen sein.

0 Stimmen

Auch wichtig: ich habe ein ziemlich großes Projekt, das Reflexion und Aufzählung beinhaltet

1 Stimmen

Könnten Sie erklären, warum Sie einen Obfuscator benötigen? Sie können nicht bekommen gute Stack Traces, wenn Sie es obfuscator...

0 Stimmen

Ich brauche einen Obfuscator, weil das Projekt, für das ich arbeite, seinen Code vor Konkurrenten schützen will

20voto

Lawrence Dol Punkte 61053

Ich benutze ProGuard für alle meine Release-Builds und ich habe festgestellt, dass es hervorragend ist. Ich kann es nicht genug empfehlen!

I haben Ich bin mehrmals auf obskure Fehler gestoßen, die durch seine Optimierungen verursacht wurden, und habe die Optimierungen jetzt generell deaktiviert - seitdem hatte ich kein Problem mehr, das durch ProGuard verursacht wurde. Obwohl, um fair zu sein, waren diese alle einige Versionen vor - YMMV.

Ich habe die GUI verwendet nur um eine Konfiguration in Gang zu bringen, und dann bearbeite ich die Textkonfiguration selbst, was wirklich sehr einfach zu machen ist. Heutzutage mache ich die Konfiguration von Hand.

Ich habe ziemlich komplexe Projekte, die alle dynamisches Laden und Reflexion beinhalten. Ich verwende Reflection auch intensiv für eine Callback-Implementierung. ProGuard hat diese Aufgaben sehr gut gemeistert.

EDIT: Wir verwenden auch DashO Pro für eines unserer Produkte - ich habe es mir für die Verpackung der Produkte, für die ich verantwortlich bin, angeschaut und bin zu dem Schluss gekommen, dass die Konfiguration zu kompliziert und komplex ist; auch die Integration in das Build-Skript schien mir etwas mühsam zu sein. Aber, um fair zu sein, das war ungefähr 2001... also könnte es in aktuellen Versionen besser sein.

0 Stimmen

Die Unterstützung von DashO-Build-Skripten umfasst sowohl eine Befehlszeilenschnittstelle als auch einen Ant-Task.

11voto

Eine gute Sammlung von Links zu kostenlosen und kommerziellen Tools finden Sie in diesem Artikel

"Schützen Sie Ihren Java-Code - durch Obfuskatoren und darüber hinaus"

Der Autor erörtert auch die Stärken und Schwächen der Bytecode-Verschleierung

0 Stimmen

+1 für die Verlinkung eines großartigen Artikels.

3voto

VonC Punkte 1117238

Was ist das Problem mit ProGuard? (das sowohl von diese Frage y diese ).

Es gibt einen Abschnitt von Fehlersuche über den Zähler, aber sie scheinen berücksichtigt zu werden sehr gut .

Allerdings macht Obfuscation einige Reflection-Versuche zunichte, obwohl moderne Obfuscators die Verwendung von Reflection in dem Code, den sie verschleiern, erkennen und bis zu einem gewissen Grad anpassen können.

0 Stimmen

Das Problem ist, dass die Anwendung Code in einem externen Jar verwendet und ich die Dateien, die Enumeration in meinem eigenen Jar-Code verwenden, "behalten" habe, aber zur Laufzeit bekomme ich immer noch Probleme im Code des externen Jars, der sich auf die Enumeration bezieht. Ich habe die Proguard-Fehlerbehebung so gut ich konnte befolgt.

0 Stimmen

Haben Sie die Fehlermeldungen, die Proguard erzeugt?

0 Stimmen

Ja, ich habe sie als Antwort in diesem Thema veröffentlicht.

2voto

Huntrods Punkte 2513

Ich habe Zelix Klassmaster mehrere Jahre lang in einer kommerziellen Anwendung eingesetzt und fand es ausgezeichnet. Ich habe ziemlich viele Ressourcen auf den verschleierten Code verwendet und war nicht in der Lage, ihn zu "brechen". Es ist zwar teuer, aber gut.

Ich habe erst aufgehört, es zu benutzen, als meine Version so alt wurde, dass die Kosten für ein Upgrade erheblich waren. Meine Bedürfnisse hatten sich geändert, und ich brauchte die Klassen nicht mehr wirklich zu verschleiern. Sollte sich der Bedarf jedoch wieder ergeben, würde ich dafür bezahlen und es sofort einsetzen.

Zum Wohl,

-Richard

0 Stimmen

Ich benutze das auch schon lange. Es ist sehr gut. Zusätzlich ist das IntellJ Idea Plugin verfügbar. blogs.jetbrains.com/idea/2006/08/

1voto

FoxyBOA Punkte 5762

Wir verwenden Zelix Klassmaster seit einigen Jahren und ich kann es empfehlen.

0 Stimmen

Ich stimme Ihnen zu. Siehe auch: stackoverflow.com/a/26717791/2132826

0 Stimmen

Ist es möglich, auch doppelte Anführungszeichen zu verschleiern? Wir verwenden derzeit Proguard in Android Studio, aber es gibt einige Einschränkungen. Deshalb suchen wir nach einem anderen Tool, dexguard commercial, klassmaster.

0 Stimmen

Ja, AFAIK. Ich hatte noch nie Probleme mit Zeichenfolgen in doppelten Anführungszeichen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X