diff --git a/data/gui/msfgui.jar b/data/gui/msfgui.jar index f86f69c448..3fc94594f6 100755 Binary files a/data/gui/msfgui.jar and b/data/gui/msfgui.jar differ diff --git a/external/source/gui/msfguijava/src/msfgui/MainFrame.java b/external/source/gui/msfguijava/src/msfgui/MainFrame.java index 596a911200..c1849d0bf0 100755 --- a/external/source/gui/msfguijava/src/msfgui/MainFrame.java +++ b/external/source/gui/msfguijava/src/msfgui/MainFrame.java @@ -423,7 +423,12 @@ nameloop: for (int i = 0; i < names.length; i++) { public ActionListener getActor(final String modName, final String type, final RpcConnection rpcConn) { return new ActionListener(){ public void actionPerformed(ActionEvent e) { - new ModulePopup(modName,rpcConn,type, MainFrame.this).setVisible(true); + //If we have saved options for this module, use those + Object modOptions = MsfguiApp.getPropertiesNode().get("modOptions"); + if(modOptions != null && ((Map)modOptions).containsKey(type+" "+modName)) + new ModulePopup(rpcConn, ((List)((Map)modOptions).get(type+" "+modName)).toArray(), MainFrame.this).setVisible(true); + else //otherwise go with the default + new ModulePopup(modName,rpcConn,type, MainFrame.this).setVisible(true); } }; } diff --git a/external/source/gui/msfguijava/src/msfgui/MsfguiApp.java b/external/source/gui/msfguijava/src/msfgui/MsfguiApp.java index 9ba3621aeb..8a41390ef3 100644 --- a/external/source/gui/msfguijava/src/msfgui/MsfguiApp.java +++ b/external/source/gui/msfguijava/src/msfgui/MsfguiApp.java @@ -287,12 +287,19 @@ public class MsfguiApp extends SingleFrameApplication { } Map hash = (Map)args.get(2); StringBuilder name = new StringBuilder(args.get(0) + " " + args.get(1)); + //Save these options + if(!propRoot.containsKey("modOptions")) //first ensure option map exists + propRoot.put("modOptions", new HashMap()); + ((Map)propRoot.get("modOptions")).put(name.toString(), args); + + //Generate display name for(Object ento : hash.entrySet()){ Entry ent = (Entry)ento; String propName = ent.getKey().toString(); if(propName.endsWith("HOST") || propName.endsWith("PORT") || propName.equals("PAYLOAD")) name.append(" ").append(propName).append("-").append(ent.getValue()); } + //Make menu item final JMenuItem item = new JMenuItem(name.toString()); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {