diff --git a/lib/Base.jar b/lib/Base.jar index d347dbd..e09e2f7 100755 Binary files a/lib/Base.jar and b/lib/Base.jar differ diff --git a/lib/Decompiler.jar b/lib/Decompiler.jar index 6da4136..357b415 100755 Binary files a/lib/Decompiler.jar and b/lib/Decompiler.jar differ diff --git a/lib/Docking.jar b/lib/Docking.jar index 2e58f2e..8d9ba74 100755 Binary files a/lib/Docking.jar and b/lib/Docking.jar differ diff --git a/lib/Generic.jar b/lib/Generic.jar index 1755e14..50e8706 100755 Binary files a/lib/Generic.jar and b/lib/Generic.jar differ diff --git a/lib/Project.jar b/lib/Project.jar index fb93904..98bf550 100755 Binary files a/lib/Project.jar and b/lib/Project.jar differ diff --git a/lib/SoftwareModeling.jar b/lib/SoftwareModeling.jar index b9ed858..83a482f 100755 Binary files a/lib/SoftwareModeling.jar and b/lib/SoftwareModeling.jar differ diff --git a/lib/Utility.jar b/lib/Utility.jar index 4fe9673..7f4ef3f 100755 Binary files a/lib/Utility.jar and b/lib/Utility.jar differ diff --git a/pom.xml b/pom.xml index 3e7bead..fd9f039 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,14 @@ UTF-8 UTF-8 - ${project.basedir}/lib + + ${project.basedir}/lib/Generic.jar + ${project.basedir}/lib/SoftwareModeling.jar + ${project.basedir}/lib/Project.jar + ${project.basedir}/lib/Docking.jar + ${project.basedir}/lib/Decompiler.jar + ${project.basedir}/lib/Utility.jar + ${project.basedir}/lib/Base.jar true true yyyyMMdd-HHmmss @@ -31,54 +38,55 @@ + ghidra Generic - 11.3.1 + 11.4.2 system - ${ghidra.jar.location}/Generic.jar + ${ghidra.generic.jar} ghidra SoftwareModeling - 11.3.1 + 11.4.2 system - ${ghidra.jar.location}/SoftwareModeling.jar + ${ghidra.softwaremodeling.jar} ghidra Project - 11.3.1 + 11.4.2 system - ${ghidra.jar.location}/Project.jar + ${ghidra.project.jar} ghidra Docking - 11.3.1 + 11.4.2 system - ${ghidra.jar.location}/Docking.jar + ${ghidra.docking.jar} ghidra Decompiler - 11.3.1 + 11.4.2 system - ${ghidra.jar.location}/Decompiler.jar + ${ghidra.decompiler.jar} ghidra Utility - 11.3.1 + 11.4.2 system - ${ghidra.jar.location}/Utility.jar + ${ghidra.utility.jar} ghidra Base - 11.3.1 + 11.4.2 system - ${ghidra.jar.location}/Base.jar + ${ghidra.base.jar} @@ -251,6 +259,25 @@ + + + use-ghidra-home + + + env.GHIDRA_HOME + + + + ${env.GHIDRA_HOME}/Ghidra/Framework/Generic/lib/Generic.jar + ${env.GHIDRA_HOME}/Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling.jar + ${env.GHIDRA_HOME}/Ghidra/Framework/Project/lib/Project.jar + ${env.GHIDRA_HOME}/Ghidra/Framework/Docking/lib/Docking.jar + ${env.GHIDRA_HOME}/Ghidra/Features/Decompiler/lib/Decompiler.jar + ${env.GHIDRA_HOME}/Ghidra/Framework/Utility/lib/Utility.jar + ${env.GHIDRA_HOME}/Ghidra/Features/Base/lib/Base.jar + + + plugin-only diff --git a/src/main/java/eu/starsong/ghidra/util/TransactionHelper.java b/src/main/java/eu/starsong/ghidra/util/TransactionHelper.java index 27898bc..59bede2 100644 --- a/src/main/java/eu/starsong/ghidra/util/TransactionHelper.java +++ b/src/main/java/eu/starsong/ghidra/util/TransactionHelper.java @@ -38,7 +38,10 @@ public class TransactionHelper { Msg.error(TransactionHelper.class, "Transaction failed: " + transactionName, e); } finally { if (txId >= 0) { - success = program.endTransaction(txId, success); + if (!program.endTransaction(txId, success)) { + Msg.error(TransactionHelper.class, "Failed to end transaction: " + transactionName); + exception.set(new TransactionException("Failed to end transaction: " + transactionName)); + } } } }); diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF index 840a5df..5c6980b 100644 --- a/src/main/resources/META-INF/MANIFEST.MF +++ b/src/main/resources/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Plugin-Class: eu.starsong.ghidra.GhydraMCP Plugin-Name: GhydraMCP -Plugin-Version: 11.3.1 +Plugin-Version: 11.4.2 Bundle-Version: dev-SNAPSHOT Plugin-Author: LaurieWired, Teal Bauer Plugin-Description: Expose multiple Ghidra tools to MCP servers with variable management diff --git a/src/main/resources/extension.properties b/src/main/resources/extension.properties index 4b45921..a10f811 100644 --- a/src/main/resources/extension.properties +++ b/src/main/resources/extension.properties @@ -2,5 +2,5 @@ name=GhydraMCP description=A multi-headed REST interface for Ghidra for use with MCP agents. author=Laurie Wired, Teal Bauer createdOn=2025-03-29 -version=11.3.1 -ghidraVersion=11.3.1 +version=11.4.2 +ghidraVersion=11.4.2