From 4234f1dc0b148d87b0563347dd0586d852aaf1a2 Mon Sep 17 00:00:00 2001 From: caheckman <48068198+caheckman@users.noreply.github.com> Date: Thu, 6 Jan 2022 18:09:54 -0500 Subject: [PATCH 1/6] Do p-code injection prior to jumptable recovery --- Ghidra/Features/Decompiler/src/decompile/cpp/flow.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Ghidra/Features/Decompiler/src/decompile/cpp/flow.cc b/Ghidra/Features/Decompiler/src/decompile/cpp/flow.cc index 9421da8c96..dac7169ccd 100644 --- a/Ghidra/Features/Decompiler/src/decompile/cpp/flow.cc +++ b/Ghidra/Features/Decompiler/src/decompile/cpp/flow.cc @@ -755,6 +755,8 @@ void FlowInfo::generateOps(void) addrlist.push_back(data.getAddress()); while(!addrlist.empty()) // Recovering as much as possible except jumptables fallthru(); + if (hasInject()) + injectPcode(); do { bool collapsed_jumptable = false; while(!tablelist.empty()) { // For each jumptable found From 34efbc5f1c63fbb5052021dc95b2d3f4bafbb64f Mon Sep 17 00:00:00 2001 From: ghidra007 Date: Wed, 12 Jan 2022 17:11:43 +0000 Subject: [PATCH 2/6] GP-1671 fixed space typo in createShortenedTemplateNames causing symbol.setName stack trace. --- .../ghidra_scripts/classrecovery/ExtendedFlatProgramAPI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/ExtendedFlatProgramAPI.java b/Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/ExtendedFlatProgramAPI.java index c2791db137..9f81ee502f 100644 --- a/Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/ExtendedFlatProgramAPI.java +++ b/Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/ExtendedFlatProgramAPI.java @@ -1333,7 +1333,7 @@ public class ExtendedFlatProgramAPI extends FlatProgramAPI { commaIndex--; } - String shortenedName = className.substring(0, nextComma) + " ...>"; + String shortenedName = className.substring(0, nextComma) + "...>"; return shortenedName; } From 402a44ca7b80c95e78b9d1ef81196ababc7b5c4b Mon Sep 17 00:00:00 2001 From: ghizard <50744617+ghizard@users.noreply.github.com> Date: Thu, 13 Jan 2022 13:59:54 -0500 Subject: [PATCH 3/6] GP-1677 Fix bug in PDB item iteration bounds. --- .../java/ghidra/app/util/pdb/pdbapplicator/PdbApplicator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/PdbApplicator.java b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/PdbApplicator.java index 1031cf269f..3f682846ee 100644 --- a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/PdbApplicator.java +++ b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/PdbApplicator.java @@ -739,7 +739,8 @@ public class PdbApplicator { int num = ipi.getTypeIndexMaxExclusive() - ipi.getTypeIndexMin(); monitor.initialize(num); setMonitorMessage("PDB: Processing " + num + " item type components..."); - for (int indexNumber = ipi.getTypeIndexMin(); indexNumber < num; indexNumber++) { + for (int indexNumber = + ipi.getTypeIndexMin(); indexNumber < ipi.getTypeIndexMaxExclusive(); indexNumber++) { monitor.checkCanceled(); MsTypeApplier applier = getTypeApplier(RecordNumber.itemRecordNumber(indexNumber)); applier.apply(); From cb13b3d6c6cc159b0ef78c1d0a279f829733f9a2 Mon Sep 17 00:00:00 2001 From: Ryan Kurtz Date: Fri, 14 Jan 2022 03:30:55 -0500 Subject: [PATCH 4/6] GP-1680: Upping minimum Gradle version to 6.8 --- DevGuide.md | 2 +- Ghidra/application.properties | 2 +- GhidraDocs/InstallationGuide.html | 4 ++-- README.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DevGuide.md b/DevGuide.md index 09f21da4d0..d424e55fe7 100644 --- a/DevGuide.md +++ b/DevGuide.md @@ -34,7 +34,7 @@ You may not need all of these, depending on which portions you are building or d - https://adoptium.net/releases.html?variant=openjdk11&jvmVariant=hotspot - Amazon Corretto - https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html -* Gradle 6.4+ or 7.x +* Gradle 6.8+ or 7.x - https://gradle.org/releases/ * A C/C++ compiler - We use GCC on Linux, Xcode (Clang) on macOS, and Visual Studio (2017 or later) on Windows. - https://gcc.gnu.org/ diff --git a/Ghidra/application.properties b/Ghidra/application.properties index 626296ad8d..606f15a558 100644 --- a/Ghidra/application.properties +++ b/Ghidra/application.properties @@ -2,7 +2,7 @@ application.name=Ghidra application.version=10.1.2 application.release.name=DEV application.layout.version=1 -application.gradle.min=6.4 +application.gradle.min=6.8 application.java.min=11 application.java.max= application.java.compiler=11 diff --git a/GhidraDocs/InstallationGuide.html b/GhidraDocs/InstallationGuide.html index 432c08d994..4a8f6f700a 100644 --- a/GhidraDocs/InstallationGuide.html +++ b/GhidraDocs/InstallationGuide.html @@ -18,7 +18,7 @@

Ghidra Installation Guide

-The installation information provided is effective as of Ghidra 10.1 and is subject to change with +The installation information provided is effective as of Ghidra 10.1.2 and is subject to change with future releases.

@@ -318,7 +318,7 @@ Ghidra release includes native binaries for the following platforms:

system: