Steht aber eh in der Anleitung ;-)
-keepclasseswithmembernames class * {
native <methods>;
}
Steht aber eh in der Anleitung ;-)
-keepclasseswithmembernames class * {
native <methods>;
}
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:
das Prog-Guarden geht problemlos, aberCode:-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>; }
ein java -jar jburner.jar ergibt (mit der swt-shared-lib im selben Ordner):
nun ?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)
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)
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
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