Proguard

Ein Java-Klassen-Dateischrumder und -Bercator.
Jetzt downloaden

Proguard Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Eric Lafortune
  • Website des Verlags:

Proguard Stichworte


Proguard Beschreibung

Eine Java-Klassen-Dateischrumder und der OBFUCCATOR. ProGuard ist eine freie Java-Klasse-Datei Shrinker, Optimierer und obfuscator. ProGuard Projekt kann nicht verwendete Klassen erkennen und entfernen, Felder, Methoden und Attribute. Es kann dann optimize Bytecode und entfernen Sie nicht verwendete instructions.Finally, kann es die übrigen Klassen, Felder und Methoden mit kurzen sinnlosen Namen umbenennen. Die resultierenden Gläser sind kleiner und schwerer Reverse-engineer.More kompakten JAR-Dateien bedeuten auch kleinere Speicheranforderungen, schnellere Übertragung von Anwendungen in Netzwerken, schnelleren Ladezeiten und kleinere Speicher footprints.ProGuard Hauptvorteil im Vergleich zu anderem Java obfuscators ist wahrscheinlich seine kompakte Vorlage -basierte Konfiguration. Einige intuitive Befehlszeilenoptionen oder eine einfache Konfigurationsdatei sind in der Regel ausreichend. Zum Beispiel erhält die folgende Konfigurationsoption alle Applets in einem Glas: -keep public class * erweitert java.applet.AppletThe Bedienungsanleitung alle verfügbaren Optionen und zeigt weitere Beispiele für diese leistungsstarke Konfiguration erklärt style.ProGuard schnell. Es dauert nur wenige Sekunden, um Prozess-Programme und Bibliotheken von mehreren Megabyte. Die Ergebnisse Abschnitt stellt tatsächliche Zahlen für eine Anzahl von applications.ProGuard ist ein Befehlszeilenprogramm mit einem optionalen grafischen Benutzeroberfläche. Es kommt auch mit Plugins für Ant und für das J2ME Wireless Toolkit. ProGuard ist eine Java-Klasse-Datei Shrinker, Optimierer und obfuscator. Der Schrumpfungsschritt erkennt und entfernt ungenutzte Klassen, Felder, Methoden und Attribute. Der Optimierungsschritt analysiert und optimiert den Bytecode der Methoden. Der Verschleierungs Schritt benennt die übrigen Klassen, Felder und Methoden kurze sinnlose Namen. Die resultierenden Gläser sind kleiner und schwerer Reverse-engineer.ProGuard kann auch auf der Liste nicht genutzten Felder und Methoden in einer Anwendung verwendet werden, und die interne Struktur von Klassendateien auszudrucken. ProGuard liest typischerweise die Eingangs Gläser (oder Kriege, Ohren, Reißverschlüsse oder Verzeichnisse). Es schrumpft dann, optimiert und verschleiert sie. Es schreibt dann die Ergebnisse an einer oder mehr Ausgabe Gläser (oder wars, Ohren, Reißverschluss oder Verzeichnisse). Die Eingangs Gläser können optional Ressourcendateien enthalten. ProGuard kopiert alle nicht-Klasse-Ressource-Dateien aus dem Eingang Gläsern mit dem Ausgang Gläsern. Ihre Namen und Inhalte bleiben unchanged.ProGuard erfordert die Bibliothek Gläser (oder wars, Ohren, Reißverschlüsse oder Verzeichnisse) der Eingangs Gläser angegeben werden. Es kann dann Klassenhierarchien und andere Klasse Abhängigkeiten rekonstruieren, die für die richtige Schrumpfen erforderlich sind, Optimierung und Verschleierung. Die Bibliothek Gläser selbst bleiben immer unverändert. Sie sollten sie nach wie vor setzen in den Klassenpfad Ihrer endgültigen application.In Ordnung, welcher Code zu bestimmen, muss beibehalten werden und welche Code kann verworfen oder verschleiert werden, müssen Sie einen oder mehrere Einstiegspunkte, um Ihren Code zu spezifizieren. Diese Einstiegspunkte sind in der Regel Klassen mit den wichtigsten Methoden, Applets, midlets, etc. * Im Schrumpfungsschritt beginnt ProGuard aus diesen Samen und bestimmt rekursiv, welche Klassen und Klassenelemente verwendet werden. Alle anderen Klassen und Klassenmitglieder werden verworfen. * In dem Optimierungsschritt ProGuard weiter optimiert den Code. Unter anderen Optimierungen, Klassen und Methoden, die nicht Einstiegspunkte sind, können endgültig gemacht werden, und einige Verfahren können inlined werden. * Im Verschleierungs Schritt benennt ProGuard Klassen und Klassenmitglieder, die nicht Einstiegspunkte sind. In diesem gesamten Prozess, den Eintrag zu halten Punkte sicherstellt, dass sie nach wie vor von ihren ursprünglichen Namen zugegriffen werden. Alle Klassen, oder Klassenmitglieder des Codes, die dynamisch erstellt oder aufgerufen werden (das heißt, durch seinen Namen) haben auch als Einstiegspunkte festgelegt werden. Im Allgemeinen ist es unmöglich, diese Fälle automatisch zu bestimmen, aber ProGuard werden einige Vorschläge anbieten, wenn einige Klassen oder Klassenmitglieder halten notwendig erscheint. Für eine korrekte Ergebnisse, sollten Sie zumindest etwas vertraut sein mit dem Code, dass Sie processing.ProGuard tut Griff Class.forName ( Someclass) und SomeClass.class baut automatisch. Die referenzierten Klassen werden in der Schrumpfungsphase erhalten und die String-Argumente sind richtig in der Verschleierungs Phase ersetzt. Mit variablen String-Argumenten, ist es in der Regel unmöglich, ihre möglichen Werte zu bestimmen (sie könnten aus einer Konfigurationsdatei gelesen werden, zum Beispiel) .Allerdings, wie erwähnt, wird ProGuard Konstrukte beachten wie (Someclass) Class.forName (variabel) .newInstance (). Dies könnte ein Hinweis darauf sein, dass die Klasse oder Schnittstelle Someclass und / oder seine Implementierungen müssen erhalten bleiben. Sie können Ihre Konfiguration entsprechend dann anpassen. Was ist neu in dieser Version: · Neue Peephol-Optimierungen hinzugefügt. · Option hinzugefügte --Optimierungen zur feinkörnigen Konfiguration von Optimierungen. · Option hinzugefügte -adapcassstrings zur Anpassung von String-Konstanten, die mit verschlüsselten Klassen entsprechen. · Option -kepterpackungen hinzugefügt, um die angegebenen Paketnamen von verschleiert zu halten. · Option - Spezielle hinzugefügte - Keptirectories zum Halten der angegebenen Verzeichniseinträge in Ausgabegläser. · Erweiterte Optionen -Dontnote und -dontwarn zur feinkörnigen Konfiguration von Notizen und Warnungen. · Option -reGex in der Rücksteuerung hinzugefügt, um alternative reguläre Ausdrücke anzugeben, um Stapelspuren zu analysieren. · Erweiterte Umbenennung von Ressourcendateien basierend auf der Verschleierung. · Vermeiden Sie den Fehler in IBMs JVM für JSE, im Optimierungsschritt. · Vermeidung von ArrayIndexoutoNoundSexception in Optimierungsschritt. · Feste Konfiguration mit Anmerkungen, die sich nicht aufbewahrt haben. · Fixierte Preferifizierung von Invokationen von Super-Konstruktoren mit Argumenten, die ternäre Betreiber enthalten. · Feste Bearbeitung von nicht erreichbaren Ausnahmehandlern. · Wiederholte Methodeneintrag fixiert. · Festines Einführen von schließlich von großen Versuchsblöcken umgebenen Blöcken, die mit JDK 1.4 oder früher zusammengestellt wurden. · Feste Optimierung komplexer Blocks, kompiliert mit JDK 1.4 oder früher. · Feste Verschleierung anonymer Klassennamen, wenn die Attributzatathoden eingehalten werden. · Feste Vernobung von inneren Klassennamen in generischen Typen festgelegt. · Feste Dekodierung von UTF-8-Saiten mit Sonderzeichen. · Festes Kopieren von Debug-Informationen und Anmerkungen beim Zusammenführen von Klassen. · Festschreiben von unbekannten Attributen. · Behobene Aktualisierung von Manifest-Dateien mit Split-Linien. · Aktualisierte Dokumentation und Beispiele.


Proguard Zugehörige Software

Narrange

ein .NET-Code-Schöner, der CODE-Mitglieder und Elemente innerhalb von .NET-Klassen automatisch organisiert ...

145

Herunterladen