Downloads: 9444
Rating:
Participated in rating: 2
Recent change notes:
- 0.1
- Initial migration from IntelliJad plugin to one compatible with Diana.
General usage instructions:
You must have Jad installed on your machine. Open the IntelliJad config (see paragraph below for a note on this) and specify the path to the executable in the \"Jad executable\" field. Once this is done, the existing default settings are suitable for immediate transparent decompilation.
In IntelliJ\'s settings view, there are two IntelliJad icons - one for project settings, and one for IDE settings. By default, the project settings are disabled and therefore fall back to the IDE settings. In this way, you can set up a persistent configuration for IntelliJad but override it when necessary for specific projects.
Help for configuring IntelliJad can be found under Help/IntelliJad/Configuring IntelliJad/IntelliJad options. The help will be developed on an ongoing basis to improve it.
Comments:
can someone tell me how to configure intellijad to inellij idea 8 . I have downloaded the plugin give here . But don't know how to put this plugin in intellij idea 8 .
Thanks in advance.
Thanks.
You need to add a folder out of the parameter settings in the JAD settings in the IDE settings in the class lib project parameters.
Would be great! This would improve the plugin immensely!
1) Navigating to a binary class from a library produces the decompiled output, but the "virtual" Java file has a red icon on it, like when you open a Java file that is not under your source root, and therefore file navigation doesn't work within the decompiled file (it doesn't scroll to the navigated method automatically, Ctrl-F12 doesn't work either). Seems the decompiled file is not properly registered under a source root (I'm using "decompile to memory").
2) When I enabled "debuggable style" source formatting in the settings, navigating to the same binary class produced this exception:
String index out of range: -3
java.lang.StringIndexOutOfBoundsException: String index out of range: -3
at java.lang.String.substring(String.java:1938)
at java.lang.String.substring(String.java:1905)
at net.stevechaloner.intellijad.format.SourceReorganiser$Block.checkOffLines(SourceReorganiser.java:517)
at net.stevechaloner.intellijad.format.SourceReorganiser$Block.write(SourceReorganiser.java:486)
at net.stevechaloner.intellijad.format.SourceReorganiser.reorganise(SourceReorganiser.java:146)
at net.stevechaloner.intellijad.decompilers.AbstractDecompiler.reformatToStyle(AbstractDecompiler.java:184)
at net.stevechaloner.intellijad.decompilers.MemoryDecompiler.processOutput(MemoryDecompiler.java:108)
at net.stevechaloner.intellijad.decompilers.MemoryDecompiler$1.execute(MemoryDecompiler.java:76)
at net.stevechaloner.intellijad.decompilers.AbstractDecompiler$1$1.execute(AbstractDecompiler.java:67)
at net.stevechaloner.intellijad.decompilers.AbstractDecompiler.decompile(AbstractDecompiler.java:258)
at net.stevechaloner.intellijad.IntelliJad.decompile(IntelliJad.java:275)
at net.stevechaloner.intellijad.actions.NavigationListener$1$1.execute(NavigationListener.java:70)
at net.stevechaloner.intellijad.actions.NavigationListener.fileOpened(NavigationListener.java:154)
at sun.reflect.GeneratedMethodAccessor46.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:101)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:182)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:187)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:174)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:171)
at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:166)
at com.intellij.util.messages.impl.MessageBusImpl.access$000(MessageBusImpl.java:40)
at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:106)
at $Proxy70.fileOpened(Unknown Source)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl3(FileEditorManagerImpl.java:60)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$5.run(FileEditorManagerImpl.java:3)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:33)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:100)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:52)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl2(FileEditorManagerImpl.java:126)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileWithProviders(FileEditorManagerImpl.java:110)
at com.intellij.openapi.fileEditor.ex.FileEditorManagerEx.openFile(FileEditorManagerEx.java:0)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$6.run(FileEditorManagerImpl.java:15)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:33)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:100)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:52)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openEditor(FileEditorManagerImpl.java:392)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigateInAnyFileEditor(OpenFileDescriptor.java:126)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigateInEditor(OpenFileDescriptor.java:111)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigate(OpenFileDescriptor.java:102)
at com.intellij.psi.impl.PsiElementBase.navigate(PsiElementBase.java:9)
at com.intellij.codeInsight.navigation.actions.GotoDeclarationAction.invoke(GotoDeclarationAction.java:52)
at com.intellij.codeInsight.actions.CodeInsightAction$1$1.run(CodeInsightAction.java:59)
at com.intellij.codeInsight.actions.CodeInsightAction$1.run(CodeInsightAction.java:66)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:2)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:100)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:52)
at com.intellij.codeInsight.actions.CodeInsightAction.actionPerformedImpl(CodeInsightAction.java:53)
at com.intellij.codeInsight.actions.CodeInsightAction.actionPerformed(CodeInsightAction.java:39)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:8)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:230)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.d(IdeKeyEventDispatcher.java:13)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:170)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:211)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:217)
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)