IntelliGuard

Compatible with:  IntelliJ IDEA , Rider , Android Studio
26.12.2012
10 139

Java bytecode obfuscation made easy.

Seamless integration of yGuard in Intellij IDEA. Add Obfuscation facet to your Java module and choose which symbols to keep from obfuscation with IDEA inspections.

Key features:

  • No more hazzles with configuration files. Just hit ALT+ENTER on any symbol in the editor for keep options.
  • Create obfuscated archive directly from the IDE.
  • Refactor support. Kept symbols remain unobfuscated after rename or move.
  • Inspections for common obfuscation pitfalls.
  • Optional (toggleable) gutter icons for obfuscated symbols.
  • Export configuration for yGuard and ProGuard format.

Project home: https://github.com/ronniekk/intelliguard

Download plugin

Version

Update date

Recent change notes

    0.10
  • Build for IDEA 12
    0.9.6
  • Fixed inspection ids
    0.9.5
  • Fixed @NotNull assertion error
  • Improved/added dialogs for export
  • Android support
    0.9.4
  • Inspections for reflection issues with servlets, applets, etcetera
  • J2ME support
  • Fixed listener for renaming of packages
    0.9.3
  • Inspections for plugin development
    0.9.2
  • yGuard and ProGuard export
    0.9.1
  • Inspections for serialization issues

General usage instructions

Add Obfuscation facet to your Java module to get going, "Project Structure (CTRL+SHIFT+ALT+S)" or "Module Settings" in project explorer. Obfuscation actions will only be visible in an Obfuscation facet. Full usage instructions at http://code.google.com/p/intelliguard/wiki/Usage
Anonymous
06.08.2014
With Idea 13 I have this error: 13:19:46 Throwable: Icon cannot be found in '/nodes/ModuleClosed.png', aClass='class com.github.intelliguard.ui.JarOptionsForm' 13:23:00 NoClassDefFoundError: Could not initialize class com.github.intelliguard.ui.JarOptionsForm: Could not initialize class com.github.intelliguard.ui.JarOptionsForm And ALT+ENTER menù does not include obfuscation options. Thanks
09.07.2014
Hi, Is there a build for IDEA 13.0.1? As of now I have following error when I try to use last version(0.10): Icon cannot be found in '/nodes/ModuleClosed.png', aClass='class com.github.intelliguard.ui.JarOptionsForm'
Anonymous
11.02.2013
The plugin (both latest versions) gives this error on startup com.intellij.openapi.editor.Document.getMarkupModel(Lcom/intellij/openapi/project/Project;)Lcom/intellij/openapi/editor/markup/MarkupModel;: com.intellij.openapi.editor.Document.getMarkupModel(Lcom/intellij/openapi/project/Project;)Lcom/intellij/openapi/editor/markup/MarkupModel; java.lang.NoSuchMethodError: com.intellij.openapi.editor.Document.getMarkupModel(Lcom/intellij/openapi/project/Project;)Lcom/intellij/openapi/editor/markup/MarkupModel; at com.googlecode.intelliguard.gutter.GuardMarker.getMarkupModel(GuardMarker.java:109) at com.googlecode.intelliguard.gutter.GuardMarker.getGuardMarker(GuardMarker.java:117) at com.googlecode.intelliguard.gutter.GuardMarkerEditorListener.selectionChanged(GuardMarkerEditorListener.java:59) at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:110) at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:220) at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:226) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:212) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:209) at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:202) at com.intellij.util.messages.impl.MessageBusImpl.access$000(MessageBusImpl.java:42) at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:128) at $Proxy68.selectionChanged(Unknown Source) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$15.run(FileEditorManagerImpl.java:1375) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$12$1.run(FileEditorManagerImpl.java:859) at com.intellij.openapi.wm.impl.FocusManagerImpl.flushRequest(FocusManagerImpl.java:613) at com.intellij.openapi.wm.impl.FocusManagerImpl.flushNow(FocusManagerImpl.java:597) at com.intellij.openapi.wm.impl.FocusManagerImpl.flushIdleRequests(FocusManagerImpl.java:567) at com.intellij.openapi.wm.impl.FocusManagerImpl.access$200(FocusManagerImpl.java:55) at com.intellij.openapi.wm.impl.FocusManagerImpl$7.run(FocusManagerImpl.java:465) at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:1762) at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:443) at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:439) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:60) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$12.run(FileEditorManagerImpl.java:856) at com.intellij.openapi.util.BusyObject$Impl$Simple.execute(BusyObject.java:118) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.notifyPublisher(FileEditorManagerImpl.java:853) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.fireSelectionChanged(FileEditorManagerImpl.java:1372) at com.intellij.openapi.fileEditor.impl.EditorsSplitters$3.run(EditorsSplitters.java:667) at com.intellij.openapi.fileEditor.impl.EditorsSplitters.setCurrentWindow(EditorsSplitters.java:678) at com.intellij.openapi.fileEditor.impl.EditorWindow.setEditor(EditorWindow.java:622) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl3(FileEditorManagerImpl.java:753) at com.intellij.openapi.fileEditor.impl.EditorsSplitters.readExternalPanel(EditorsSplitters.java:338) at com.intellij.openapi.fileEditor.impl.EditorsSplitters.openFiles(EditorsSplitters.java:268) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$14$1$1.run(FileEditorManagerImpl.java:1261) at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:117) at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:93) at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:81) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$14$1.run(FileEditorManagerImpl.java:1258) at com.intellij.openapi.wm.impl.commands.InvokeLaterCmd.run(InvokeLaterCmd.java:33) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:333) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:607) at java.awt.EventQueue$1.run(EventQueue.java:605) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:616) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:699) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:538) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:420) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:378) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
26.12.2012
Thanks, I have updated with a build for IDEA 12.
25.12.2012
Sorry but in IntelliJ 12 the 'Show Obfuscated symbols' option can't be used. NoSuchMethodError: Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(513,619),absolute(504,610),button=1,modifiers=Button1,clickCount=1] on frame0: com.intellij.openapi.editor.Document.getMarkupModel(Lcom/intellij/openapi/project/Project;)Lcom/intellij/openapi/editor/markup/MarkupModel;
Please  sign in  to leave a comment.