Anzeige:
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 19 von 19

Thema: Strip für Jars?

  1. #16
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Hmm...

    Steht aber eh in der Anleitung ;-)

    -keepclasseswithmembernames class * {
    native <methods>;
    }

  2. #17
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Hi,

    hatte ich auch schon probiert. Ging aber nicht, weshalb ich dachte, man müsse für
    <methods> sämtliche nativen Methoden einsetzen...

    auf jeden Fall habe ich immer noch ein Problem mit meiner App (Swt, der Inhalt von
    swt.jar ist komplett zusammen mit dem Prog in jburner_noshrink.jar)

    die Proguard-Config sieht so aus:

    Code:
    -libraryjars  <java.home>/lib/rt.jar
    -injars       jburner_jar/jburner_noshrink.jar
    -outjar       jburner_jar/jburner.jar
    
    #-dontshrink
    -dontobfuscate
    #-overloadaggressively
    #-defaultpackage ''
    
    -keep public class org.sourceforge.jburner.JBurner {
        public static void main(java.lang.String[]);
    }
    
    -keepclasseswithmembernames class * {
        native <methods>;
    }
    das Prog-Guarden geht problemlos, aber

    ein java -jar jburner.jar ergibt (mit der swt-shared-lib im selben Ordner):
    Code:
    Exception in thread "main" java.lang.NoSuchFieldError: dwBuildNumber
    	at org.eclipse.swt.internal.win32.OS.GetVersionExW(Native Method)
    	at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:70)
    	at org.eclipse.swt.internal.win32.TCHAR.<clinit>(TCHAR.java:30)
    	at org.eclipse.swt.widgets.Widget.<clinit>(Widget.java:85)
    	at org.sourceforge.jburner.DefaultProjectProperties.<init>(DefaultProjectProperties.java:30)
    	at org.sourceforge.jburner.JBurner.<clinit>(JBurner.java:42)
    nun ?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #18
    Registrierter Benutzer Avatar von SeeksTheMoon
    Registriert seit
    22.02.2002
    Beiträge
    762
    Ihr könnt mit "-O" und "-g:none" Option kompilieren, dann werden debugs schonmal rausgeworfen.
    Dann könnt ihr einen Optimizer drüberlaufen lassen. Einen Obfuscator würde ich dafür nicht benutzen, denn die legen teilweise extra noch sinnlose Methoden usw. an, damit der Code für Cracker noch unverständlicher wird.

    jode von Sourceforge kann auch optimizen, schaut euch das Prog mal an:
    http://jode.sf.net

    (ich würde aber die CVS-Version nehmen)

    Um jars noch kleiner zu bekommen, kann man bei ihnen auch noch ein Kompressionslevel angeben.

    Bei der Angabe vom import com.text.*; werden beim kompilieren eh nur die tatsächlich benötigten Klassen eingebunden. das kann man auch sehen, wenn man so eine Klasse dekompiliert, denn dann steht anstatt den allgemeinen import-Anweisungen die genaue Klasse im import
    Geändert von SeeksTheMoon (22-06-2003 um 19:12 Uhr)
    I haven't lost my mind - It's somewhere on a backup-disc

  4. #19
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    interessanterweise gibts bei Jode in etwa den selben Fehler

    Mein Code scheint ein bisschen anti-obfuscate und anti-strip zu sein

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •