Proguard

Een Java Class-bestandsnipper en obfuscator.
Download nu

Proguard Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Eric Lafortune
  • Uitgever website:

Proguard Tags


Proguard Beschrijving

Een Java-klasse-bestandsnuist en obfuscator. Proguard is een gratis Java Class-bestandsklinker, optimizer en obfuscator. Poguard-project kan ongebruikte klassen, velden, methoden en attributen detecteren en verwijderen. Het kan dan de bytecode optimaliseren en ongebruikte instructie verwijderen. Feestelijk kan het de resterende klassen, velden en methoden wijzigen met behulp van korte betekenisloze namen. De resulterende potten zijn kleiner en moeilijker om te ingenieur. Meer Compact Jar-bestanden betekent ook kleinere opslagvereisten, een snellere overdracht van toepassingen tussen netwerken, sneller laden en kleinere geheugenvoetafdrukken. Proguard's belangrijkste voordeel in vergelijking met andere Java-obfuscators is waarschijnlijk de compacte sjabloon -gebaseerde configuratie. Een paar intuïtieve opdrachtregelopties of een eenvoudig configuratiebestand zijn meestal voldoende. De volgende configuratieoptie behoudt bijvoorbeeld alle applets in een JAR: -Keep Public Class * verlengt Java.Appplet.ApppletDe gebruikershandleiding Verklaart alle beschikbare opties en toont meer voorbeelden van deze krachtige configuratiestijl. Proguard is snel. Het duurt slechts enkele seconden om programma's en bibliotheken van verschillende megabytes te verwerken. De resultatensectie presenteert actuele cijfers voor een aantal applicaties.proguard is een opdrachtregelgereedschap met een optionele grafische gebruikersinterface. Het wordt ook geleverd met plug-ins voor mier en voor de J2ME draadloze toolkit. Proguard is een Java Class-bestandsklinker, optimizer en obfuscator. De krimpende stap detecteert en verwijdert ongebruikte klassen, velden, methoden en attributen. De optimalisatiestap analyseert en optimaliseert de byTecode van de methoden. De obfuscatiestap hernoemt de resterende klassen, velden en methoden met behulp van korte betekenisloze namen. De resulterende potten zijn kleiner en moeilijker voor omgekeerde ingenieur.proguard kan ook worden gebruikt om ongebruikte velden en methoden in een toepassing in te stellen en om de interne structuur van klassenbestanden af te drukken. Proguard leest meestal de ingangspotten (of oorlogen, oren, ritsen of mappen). Het krimpt dan, optimaliseert en verduistert ze. Het schrijft vervolgens de resultaten op een of meer uitgangspotten (of oorlogen, oren, ritsen of mappen). De invoerpotten kunnen optioneel resourcebestanden bevatten. PROGUARD kopieert alle niet-klasse resourcebestanden van de ingangspotten naar de uitgangspotten. Hun namen en inhoud blijven ongewijzigd. Proguard vereist dat de bibliotheekpotten (of oorlogen, oren, ritsen of mappen) van de ingangspotten moeten worden opgegeven. Het kan vervolgens klassenhiërarchieën en andere klassenafhankelijkheden reconstrueren, die nodig zijn voor de juiste krimpen, optimalisatie en obfuscatie. De bibliotheekpotjes blijven zichzelf altijd ongewijzigd. U moet ze nog steeds in het klassenpad van uw definitieve toepassing plaatsen. Om te bepalen welke code moet worden bewaard en welke code kan worden weggegooid of gedroogd, moet u een of meer invoerpunten op uw code opgeven. Deze toegangspunten zijn typisch klassen met hoofdmethoden, applets, midlets, enz. * In de krimpende stap begint Proguard van deze zaden en bepaalt recursief welke klassen en klasse-leden worden gebruikt. Alle andere klassen en klasleden worden weggegooid. * In de optimalisatiestap optimaliseert Proguard de code verder. Onder andere optimalisaties, klassen en methoden die geen toegangspunten zijn, kunnen definitief worden gemaakt en sommige methoden kunnen worden ingezet. * In de obfuscatiestap, Hernoot Proguard Hernootschappen en Klasse-leden die geen toegangspunten zijn. In dit hele proces zorgt het bijhouden van de invoerpunten ervoor dat ze nog steeds toegankelijk zijn voor hun oorspronkelijke namen. Alle lessen of klasse-leden van uw code die dynamisch zijn gemaakt of aangeroepen (dat wil zeggen, op naam) moeten ook als toegangspunten worden opgegeven. Het is over het algemeen onmogelijk om deze gevallen automatisch te bepalen, maar PROGUARD zal enkele suggesties aanbieden als de lessen of klassenleden nodig zijn. Voor goede resultaten moet u op zijn minst enigszins bekend zijn met de code die u verwerkt. Proguard doet de klasse.ForName ("SOMECLASS") en SOMECLASS.Class automatisch. De klassen waarnaar wordt verwezen worden bewaard in de krimpende fase, en de tekenreeksargumenten worden correct vervangen in de obfuscatiefase. Met variabele stringargumenten is het in het algemeen onmogelijk om hun mogelijke waarden te bepalen (ze kunnen bijvoorbeeld worden gelezen vanuit een configuratiebestand). Hoe vermeldt, zoals vermeld, proguard opmerkt constructies zoals "(someclass) class.forName (variabele) .newinstance () ". Deze kunnen een indicatie zijn dat de klasse of interface somclass en / of de implementaties ervan mogelijk moet worden bewaard. U kunt vervolgens uw configuratie dienovereenkomstig aanpassen. Wat is er nieuw in deze release: · Voegde nieuwe kijkgatimalisaties toe. · Optie -Optimisaties toegevoegd voor een fijnkorrelige configuratie van optimalisaties. · Toegevoegd optie -AdaptClassstrings voor het aanpassen van stringconstanten die overeenkomen met obscateerde klassen. · Optie - KEEPPACKAgenames voor het beëindigen van gespecificeerde pakketnamen van ontbrekend. · Optie - KEEPDIRESSIES toegevoegd voor het bijhouden van gespecificeerde mapvermeldingen in uitvoerkruiken. · Uitgebreide opties -Dontnote en -dontwarn voor een fijnkorrelige configuratie van notities en waarschuwingen. · Toegevoegd optie -Regex in Retrace, voor het opgeven van alternatieve reguliere expressies om stapelsporen te ontleden. · Uitgebreide hernieuwing van resource-bestanden op basis van obfuscation. · Vermijd bug in IBM's JVM voor JSE, in optimalisatiestap. · Vermijd arrayindexoutofboundsexception in optimalisatiestap. · Vaste configuratie met annotaties die zichzelf niet bewaard zijn. · Vaste preverapering van aanroepingen van superconstructeurs met argumenten die ternaire operators bevatten. · Vaste verwerking van onbereikbare uitzonderingshandlers. · Vaste herhaalde methode die inlining is. · Vaste inlining van eindelijk blokken omgeven door grote try-blokken, samengesteld met JDK 1.4 of eerder. · Vaste optimalisatie van complex eindelijk blokkeert, samengesteld met JDK 1.4 of eerder. · Vaste obfuscatie van anonieme klasnamen, als bijsluitsmethodattributen worden bewaard. · Vaste obfuscatie van innerlijke klasnamen in generieke typen. · Vaste decodering van UTF-8 snaren die speciale tekens bevatten. · Vast kopiëren van debug-informatie en annotaties bij het samenvoegen van klassen. · Vast het schrijven van onbekende kenmerken. · Vast bijwerkende manifestbestanden met gesplitste lijnen. · Bijgewerkte documentatie en voorbeelden.


Proguard Gerelateerde software