ProGuard

I've been playing a bit with ProGuard support for NetBeans RCP applications. Obfuscation is what every/most corporate applications are interested in. (And hence this is one area where someone could be making a big pile of dollars, i.e., create enterprise modules & services for high-end NetBeans RCP customers, e.g., security related, for authentication, obfuscation, etc.)

Anyway, here's where the ProGuard plugin is at the moment. First of all, you can create an obfuscated distribution of your Java desktop application:

The first time you select the menu item above, the Options window opens at the ProGuard tab, enabling you to browse to the path of your ProGuard JAR file. Then, next time you select the menu item above, an "obfuscate.xml" file is created and its "obfuscate" target is executed via ProGuard. The result is an obfuscated application, together with a "proguard.map" file that summarizes all the changes that have been made. The "proguard.map" file can be browsed and whenever a node is clicked, the file opens on the related line:

Anyone interested in this plugin? And maybe someone is interested in working with me on it? In that case, I will open source the plugin here:

http://java.net/projects/netbeans

Comments:

Very interesting plugin and useful utility for NetBeans Platform Application's developer.

Posted by Tushar Joshi on June 04, 2011 at 09:00 PM PDT #

This will be immensely helpful. Where can I obtain the plugin?

Posted by guest on June 05, 2011 at 04:51 AM PDT #

Very interesting Plugin. But why limiting this on RPC applications? Could it be available for all Java based projects? I'm developing applications for android, which already has ProGuard support from SDK side. But a tool to browse the .map file or translating an obfuscated stacktrace into an unobfuscated stacktrace would be useful for Android and other developers, too.

Posted by guest on June 05, 2011 at 07:37 AM PDT #

this is great~~ i can't wait to have a try!

Posted by iblader on June 06, 2011 at 05:07 PM PDT #

Geertjan, are you still willing to open source this plugin? Any progress in the plugin since this blog post?

Posted by oilamah on June 02, 2012 at 02:33 PM PDT #

Hi,

This tutorial would be great... if it would work.

I've spent last 4 days trying to obfuscate the jars of my app and its frustrating, ProGuard keep launching thousands of messages and warnings, and at the end it says:

Warning: there were 18064 unresolved references to classes or interfaces.
You may need to specify additional library jars (using '-libraryjars').
Warning: there were 31 instances of library classes depending on program classes.
You must avoid such dependencies, since the program classes will
be processed, while the library classes will remain unchanged.
Warning: there were 317 unresolved references to program class members.
Your input classes appear to be inconsistent.
You may need to recompile them and try again.
Alternatively, you may have to specify the option
'-dontskipnonpubliclibraryclassmembers'.

Is there any update or advice that can help me?

Thanks

carlos

Posted by guest on November 05, 2012 at 10:24 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
12
13
14
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today