Merge remote-tracking branch 'origin/Ghidra_12.1'

This commit is contained in:
Ryan Kurtz
2026-04-24 06:21:29 -04:00
49 changed files with 23 additions and 10 deletions

View File

@@ -118,6 +118,11 @@ encoded form; thus, using the encoded form can also create bifurcation in the na
## Processors
## Jython Extension
Jython support is now delivered as a Ghidra Extension, which means an extra step is required to
install it. If you require Jython, simply go to `File -> Install Extensions` in the Ghidra
Front End GUI and check "Jython". Restart Ghidra and Jython support will be enabled.
## Additional Bug Fixes and Enhancements
Numerous other new features, improvements, and bug fixes are fully listed in the
[Change History](ChangeHistory.md) file.

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/distributableGhidraExtension.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/helpProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
@@ -21,7 +21,7 @@ apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Features Jython'
eclipse.project.name = 'Xtra Jython'
def JYTHON = "org.python:jython-standalone:2.7.4"

View File

@@ -4,5 +4,6 @@
Module.manifest||GHIDRA||||END|
README.md||GHIDRA||||END|
data/jython.theme.properties||GHIDRA||||END|
extension.properties||GHIDRA||||END|
src/main/help/help/TOC_Source.xml||GHIDRA||||END|
src/main/help/help/topics/Jython/interpreter.html||GHIDRA||||END|

View File

@@ -0,0 +1,5 @@
name=Jython
description=The Jython 2.x GhidraScript engine and interpreter plugin
author=Ghidra Team
createdOn=pre-4/23/2026
version=@extversion@

View File

@@ -26,7 +26,7 @@
script-specific code.</LI>
<LI>Of course if you choose Java, the Ghidra script must be written in Java.
An implementation for Python (based on Jython) is also provided.</LI>
An implementation for Python (based on PyGhidra) is also provided.</LI>
</OL>
<P align="center"><IMG border="0" src="images/New_Script_Editor.png" ></P>
@@ -161,8 +161,8 @@
uses the same script file extension. If left unspecified, the first Ghidra script runtime
environment that matches the script's extension will be used.<BR>
<BR>
For example, specify <TT>"@runtime Jython"</TT> if the script is targetted for a Jython 2
runtime environment rather than a Python 3 runtime environment.
For example, specify <TT>"@runtime Jython"</TT> if the script is targeted for a Jython 2
runtime environment rather than a CPython 3 (PyGhidra) runtime environment.
</P>
</BLOCKQUOTE>
</BLOCKQUOTE>

View File

@@ -35,7 +35,6 @@ import ghidra.app.plugin.core.osgi.BundleStatusComponentProvider;
import ghidra.app.plugin.core.script.*;
import ghidra.app.script.*;
import ghidra.app.services.ConsoleService;
import ghidra.jython.JythonScriptProvider;
import ghidra.util.HelpLocation;
import ghidra.util.datastruct.LRUSet;
@@ -223,7 +222,7 @@ public class GhidraScriptMgrPluginScreenShots extends GhidraScreenShotGenerator
List<GhidraScriptProvider> items = new ArrayList<>();
JavaScriptProvider javaScriptProvider = new JavaScriptProvider();
items.add(javaScriptProvider);
items.add(new JythonScriptProvider());
//items.add(new JythonScriptProvider());
final PickProviderDialog pickDialog = new PickProviderDialog(items, javaScriptProvider);
runSwing(() -> tool.showDialog(pickDialog), false);

View File

@@ -22,7 +22,8 @@ import java.util.HexFormat;
import java.util.List;
import org.junit.Test;
import org.python.google.common.primitives.Longs;
import com.google.common.primitives.Longs;
import ghidra.framework.store.LockException;
import ghidra.program.model.address.*;

View File

@@ -24,7 +24,8 @@ import java.util.*;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import org.python.google.common.primitives.Longs;
import com.google.common.primitives.Longs;
import ghidra.framework.store.LockException;
import ghidra.util.SourceFileUtils;

View File

@@ -22,7 +22,8 @@ import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.python.google.common.primitives.Longs;
import com.google.common.primitives.Longs;
import generic.test.AbstractGenericTest;
import ghidra.framework.store.LockException;