obfuscator icon indicating copy to clipboard operation
obfuscator copied to clipboard

what happend to --packageMainClass

Open Patty2300 opened this issue 4 years ago • 6 comments

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

Patty2300 avatar Mar 19 '20 09:03 Patty2300

Processors > Packager

superblaubeere27 avatar Mar 20 '20 19:03 superblaubeere27

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 avatar Mar 23 '20 09:03 Patty2300

@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.

Patty2300 avatar Mar 26 '20 13:03 Patty2300

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

superblaubeere27 avatar Mar 28 '20 12:03 superblaubeere27

@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 avatar Mar 30 '20 13:03 Patty2300

@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?

Patty2300 avatar Apr 01 '20 10:04 Patty2300