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

This commit is contained in:
Ryan Kurtz
2026-03-19 14:08:09 -04:00
4 changed files with 245 additions and 300 deletions
@@ -579,6 +579,8 @@ __3.1.0__
[`py.typed`](https://typing.python.org/en/latest/spec/distributing.html#packaging-type-information)
marker file to inform type checkers that typing is supported.
* The PyGhidra interactive console no longer restarts when a `SyntaxError` occurs.
* PyGhidra will now try to use the `JAVA_HOME` environment variable to call `LaunchSupport` if java
was not on the `PATH`.
__3.0.2__
* Fixed an issue that prevented [`pyghidra.analysis_properties()`](#pyghidraanalysis_properties)
@@ -314,7 +314,18 @@ class PyGhidraLauncher:
launch_support = self.install_dir / "support" / "LaunchSupport.jar"
if not launch_support.exists():
raise ValueError(f"{launch_support} does not exist")
cmd = f'java -cp "{launch_support}" LaunchSupport "{self.install_dir}" -jdk_home -save'
# Check to see if java is on the PATH. If not, use JAVA_HOME.
# NOTE: shutils.which() is not enough...macOS puts a stub java on the PATH which
# will prevent that from working as expected, so you have to actually run it.
java_cmd = 'java'
if not shutil.which(java_cmd) or subprocess.run([java_cmd, "-version"]).returncode != 0:
java_home_dir = os.environ.get('JAVA_HOME')
if java_home_dir and os.path.isdir(java_home_dir):
java_cmd = java_home_dir + "/bin/java"
else:
raise ValueError("Java was not found in PATH or JAVA_HOME...cannot run LaunchSupport")
cmd = f'"{java_cmd}" -cp "{launch_support}" LaunchSupport "{self.install_dir}" -jdk_home -save'
home = subprocess.check_output(cmd, encoding="utf-8", shell=True)
self._java_home = Path(home.rstrip())
return self._java_home
@@ -200,6 +200,7 @@ define token instrArm (32)
c0916=(9,16)
c0915=(9,15)
c0911=(9,11)
c0910=(9,10)
c0909=(9,9)
c0815=(8,15)
c0811=(8,11)
@@ -422,6 +423,7 @@ define token instrArm (32)
thv_c1010=(26,26)
thv_c0915=(25,31)
thv_c0911=(25,27)
thv_c0910=(25,26)
thv_c0909=(25,25)
thv_c0815=(24,31)
thv_c0811=(24,27)
@@ -634,6 +636,7 @@ define token instrArm (32)
thv_c1010=(10,10)
thv_c0915=(9,15)
thv_c0911=(9,11)
thv_c0910=(9,10)
thv_c0909=(9,9)
thv_c0815=(8,15)
thv_c0811=(8,11)
File diff suppressed because it is too large Load Diff