diff --git a/data/python/jepeval.py b/data/python/jepeval.py index f4bc8b9..5e06069 100644 --- a/data/python/jepeval.py +++ b/data/python/jepeval.py @@ -64,6 +64,8 @@ def _jepeval(line): try: more_input_needed = _jepeval(line) + except SystemExit as err: + more_input_needed = False except Exception as err: # Python exceptions are printed in Python instead of Java to improve error messaging # in the Ghidra console window diff --git a/data/python/jeprunscript.py b/data/python/jeprunscript.py index 9599710..da6fdda 100644 --- a/data/python/jeprunscript.py +++ b/data/python/jeprunscript.py @@ -29,6 +29,8 @@ def jep_runscript(path): try: exec(compile(source, path, "exec"), {**globals(), **additional_globals}) + except SystemExit as err: + print(f"Script {path} called exit with code {err.code}") except Exception as err: # Python exceptions are printed in Python instead of Java to give us better error # messages in the Ghidra console window diff --git a/src/main/java/ghidrathon/GhidrathonPlugin.java b/src/main/java/ghidrathon/GhidrathonPlugin.java index 5d524e8..2598606 100644 --- a/src/main/java/ghidrathon/GhidrathonPlugin.java +++ b/src/main/java/ghidrathon/GhidrathonPlugin.java @@ -18,7 +18,7 @@ import ghidra.framework.plugintool.*; import ghidra.util.task.TaskLauncher; import ghidra.app.plugin.ProgramPlugin; -import ghidra.app.ExamplesPluginPackage; +import ghidra.app.CorePluginPackage; import ghidra.util.task.TaskMonitorAdapter; import ghidra.framework.options.ToolOptions; import ghidra.app.plugin.PluginCategoryNames; @@ -32,7 +32,7 @@ //@formatter:off @PluginInfo( status = PluginStatus.STABLE, - packageName = ExamplesPluginPackage.NAME, + packageName = CorePluginPackage.NAME, category = PluginCategoryNames.INTERPRETERS, shortDescription = "Python 3 Interpreter", description = "The FLARE team's open-source Python 3 interpreter console that is tightly integrated with a loaded Ghidra program.",