superblaubeere27 / obfuscator

A java obfuscator (GUI)
MIT License
845 stars 233 forks source link

what happend to --packageMainClass #73

Open Patty2300 opened 4 years ago

Patty2300 commented 4 years ago

Hello,

I saw on your YouTube Video that you entered your main class under --packageMainClass and after obfuscating the jar again, the package names where changed. I wanted tha same thing and noticed that the variable --packageMainClass isn't available anymore in your newest version. Is there a way to change the package names now? The Code from me is perfectly obfuscated.

Kind Regards, Patty2300

superblaubeere27 commented 4 years ago

Processors > Packager

Patty2300 commented 4 years ago

Ok thanks. Now the classes I created were rewritten somewhere but I can't run the jar anymore. What do I have to choose when I go there? My Original MANIFEST.MF looks like this:

Manifest-Version: 1.0 Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader Rsrc-Class-Path: ./ javafx.base.jar javafx.controls.jar javafx.fxml.jar javafx.graphics.jar javafx.media.jar javafx.swing.jar javafx.web.jar ja vafx-swt.jar activation.jar jsoup-1.11.3.jar mail.jar Rsrc-Main-Class: fxGui.Gui Class-Path: .

When I'm in eclipse I need to start fxGui.Gui to get the program running.

Patty2300 commented 4 years ago

@superblaubeere27 can you help me?

Ok thanks. Now the classes I created were rewritten somewhere but I can't run the jar anymore. What do I have to choose when I go there? My Original MANIFEST.MF looks like this:

Manifest-Version: 1.0 Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader Rsrc-Class-Path: ./ javafx.base.jar javafx.controls.jar javafx.fxml.jar javafx.graphics.jar javafx.media.jar javafx.swing.jar javafx.web.jar ja vafx-swt.jar activation.jar jsoup-1.11.3.jar mail.jar Rsrc-Main-Class: fxGui.Gui Class-Path: .

When I'm in eclipse I need to start fxGui.Gui to get the program running.

superblaubeere27 commented 4 years ago

Can you use the method in eclipse where you extract the libraries into the JAR instead of packaging them? This isn't supported with obfuscator.

Usally the obfuscator should replace the Main-Class attribute by itself, but it doesn't you can find and replace the Main-Class yourself. It is always called something like Main345346

Patty2300 commented 4 years ago

@superblaubeere27 OK I did that now. In the obfuscator gui I selected enebled under Packager and used "Use MainClass from Jar Mainfest". In the generated Jar the Manifest file looks like this: `Manifest-Version: 1.0 Main-Class: lllllllllllllllClass-Path: .

Name: javax/activation/SecuritySupport12$3.class SHA1-Digest: t17MgFzefsEODCAhdr0Sp9wz5/Q=

Name: javax/activation/DataContentHandlerFactory.class SHA1-Digest: 7sK1N48hT5JuGK4CPHqlDB648/8=

Name: javax/activation/ObjectDataContentHandler.class SHA1-Digest: MvBEMcpyrIFvj0WWesKTQ1Xof/Y=

Name: javax/activation/DataContentHandler.class SHA1-Digest: 4ScrMQQptqNulV+va+UAbeyWgCY=

Name: com/sun/activation/viewers/TextViewer.class SHA1-Digest: SDcybqXjPt6lB7MFTekaMQLo1XU=

Name: com/sun/activation/registries/MimeTypeEntry.class SHA1-Digest: RjQc1npYLzmhAl8Tcm70Ge0QeqA=

Name: javax/activation/CommandObject.class SHA1-Digest: qvYPNnH4j2UUfQ0BnRPxamLezf4=

Name: com/sun/activation/viewers/TextEditor.class SHA1-Digest: v/CQ9F0afPiGfz3Q5QYgDH8KGVY=

Name: com/sun/activation/viewers/ImageViewerCanvas.class SHA1-Digest: hYOFlCZpdmIyCgfulKuL+9YuYM0=

Name: com/sun/activation/registries/MailcapFile.class SHA1-Digest: 7Ynl9y+DzEy1icHtnpCU/l5RuIc=

Name: javax/activation/FileTypeMap.class SHA1-Digest: hD5elx7xhmbFWb68dgDXeMsz0A0=

Name: javax/activation/CommandInfo.class SHA1-Digest: 1cKS/VKDQRQtAdvjQSJXZfjuKnM=

Name: com/sun/activation/registries/MailcapTokenizer.class SHA1-Digest: zSjxxhDskZteW4bJMALwI/gtMdU=

Name: javax/activation/MailcapCommandMap.class SHA1-Digest: eYZxYHjNOLV8L2zhfHapZWuFuuo=

Name: javax/activation/DataHandler$1.class SHA1-Digest: YgB/hf89aSawmFGr0mlwtjccfeI=

Name: javax/activation/UnsupportedDataTypeException.class SHA1-Digest: G1LVjur46DQFrps5HysTEqRM/NA=

Name: javax/activation/URLDataSource.class SHA1-Digest: /aYv/WOFrGRrW3CjsleMIIVgedY=

Name: com/sun/activation/registries/LineTokenizer.class SHA1-Digest: 5S1ZtvDD0IoSHNKT8gZed6wXdVw=

Name: javax/activation/SecuritySupport12$5.class SHA1-Digest: 9mZfG3X19Jtaf5ycmmfSMeknnkk=

Name: javax/activation/SecuritySupport12.class SHA1-Digest: f51IilsGhzv/KqVP3eEGPT8KLLA=

Name: javax/activation/MimeTypeParameterList.class SHA1-Digest: bCozM0t+J3YcJVez99Mw8jo4ES0=

Name: javax/activation/DataSource.class SHA1-Digest: esP7C47kvDVsS/yoBAst31EiDhM=

Name: javax/activation/SecuritySupport12$4.class SHA1-Digest: DLnWjma9u5+oqsMUEs6p3WN+ReQ=

Name: javax/activation/DataHandlerDataSource.class SHA1-Digest: RdeKh/ecCa0+yJw3SYDaEfwXCo8=

Name: javax/activation/CommandMap.class SHA1-Digest: shlnOhsM3rvKxwBNt5bBy6Z550c=

Name: javax/activation/MimeTypeParseException.class SHA1-Digest: uxV3qLHRu5JTOFrHnJXm13AO+0M=

Name: javax/activation/DataHandler.class SHA1-Digest: 9ueMkf2LOQO706JazRAeOZ+L2Eo=

Name: javax/activation/SecuritySupport12$2.class SHA1-Digest: 7gljiWPdXVdl4MFwa7Y0QYy9sxM=

Name: javax/activation/MimeType.class SHA1-Digest: JdIXzJFjK4hSwodWVaxE2CpK4Lk=

Name: javax/activation/FileDataSource.class SHA1-Digest: NinT1KJWqpl6RFJGz0QKyWTXxrc=

Name: com/sun/activation/registries/MailcapParseException.class SHA1-Digest: je7BwM327P5pb4asLCB74OOm6h0=

Name: javax/activation/ActivationDataFlavor.class SHA1-Digest: 2GgoZECWpZ79tTYE8AZYgzwMSTY=

Name: javax/activation/MimetypesFileTypeMap.class SHA1-Digest: SBVy1zEsibhu302G2b8lgbNfg2k=

Name: com/sun/activation/viewers/ImageViewer.class SHA1-Digest: gEg0GCvDjyJ0wogJ+Yqs5pkgMe8=

Name: javax/activation/SecuritySupport.class SHA1-Digest: AyfISvmRrTO6f4dj59Snyelc6Ck=

Name: javax/activation/DataSourceDataContentHandler.class SHA1-Digest: YioWWrfLNtVjS7sPDORm1VCljO8=

Name: com/sun/activation/registries/MimeTypeFile.class SHA1-Digest: o3xR9NwzCphDNomc9i79cx/4rUo=

Name: javax/activation/SecuritySupport12$1.class SHA1-Digest: LM3BWLOz1fNRnw2w8LxwA/Kijr4=`

When I run it now, I get a ClassNotFoundException: Error: Could not find or load main class lllllllllllllllClass-Path: . Caused by: java.lang.ClassNotFoundException: lllllllllllllllClass-Path: .

The Main Class appears to be the lllllllllllllll.class and not the Main345346. Is that possible? Or should somwhere be a Main345346.class file?

Patty2300 commented 4 years ago

@superblaubeere27 Found the Error:

In the Mainfest it wrote: Main-Class: lllllllllllllllClass-Path: . instead of: Main-Class: lllllllllllllll Class-Path: .

When I run it now I get this problem: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at lllllllllllllll.main(Unknown Source) Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: fxGui.Gui at javafx.graphics/javafx.application.Application.launch(Application.java:304) at fxGui.Gui.main(Unknown Source) ... 5 more Caused by: java.lang.ClassNotFoundException: fxGui.Gui at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:415) at javafx.graphics/javafx.application.Application.launch(Application.java:292) ... 6 more

The fx.Gui ist the Class where I start everything. I need to run this class to start the program. But when obfuscated it should be renamed right? Or do I have to pick this as my main-class when im in the obfuscator gui?