Build and pack native components so that Ghidra can decompile programs on
OpenBSD. This is based on a pull request from Jeremy O'Brien at https://github.com/NationalSecurityAgency/ghidra/pull/490 and the Ghidra build guide at https://github.com/NationalSecurityAgency/ghidra/blob/master/DevGuide.md . In addition, I have made these changes to make Ghidra work better as an OpenBSD port: 1. I removed the explicit check for Gradle 5.0 because I was able to build Ghidra with latest versions of Gradle. At the time of commit, our java/gradle port is 5.5.1 which is the latest version of Gradle. 2. By default, the Ghidra build process tries to fetch dependent files on demand while building. This will cause the build to fail if the port is built using the _pbuild user. To fix this, I made the port fetch all the dependent .jar files prior to building. I also used gradle's --offline flag which explicitly tells gradle to "Execute the build without accessing network resources". 3. To prevent the build process from touching $HOME, I made gradle use ${WRKDIR}/gradle as its home and also modified GHelpBuilder.java (the program that builds help files during build) to log to ${WRKDIR} instead of $HOME/.ghidra. 4. One of the Gradle scripts (ip.gradle) scans the Ghidra source tree so I had to explicitly tell it to exclude *.orig and *.beforesubst. help from bentley@ and Jeremy O'Brien ok bentley@ rpointel@ (maintainer)
This commit is contained in:
parent
f31adb89db
commit
e6545fccae
|
@ -1,4 +1,4 @@
|
|||
# $OpenBSD: Makefile,v 1.4 2019/07/12 20:49:02 sthen Exp $
|
||||
# $OpenBSD: Makefile,v 1.5 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
# bundled jython has amd64 components for OpenBSD
|
||||
ONLY_FOR_ARCHS = amd64
|
||||
|
@ -6,9 +6,13 @@ ONLY_FOR_ARCHS = amd64
|
|||
COMMENT = software reverse engineering (SRE) framework
|
||||
|
||||
VERSION = 9.0.4
|
||||
REVISION = 0
|
||||
DISTNAME = ghidra_9.0.4_PUBLIC_20190516
|
||||
PKGNAME = ghidra-${VERSION}
|
||||
GHIDRA_DATE = 20190516
|
||||
REVISION = 1
|
||||
|
||||
GH_ACCOUNT = NationalSecurityAgency
|
||||
GH_PROJECT = ghidra
|
||||
GH_TAGNAME = Ghidra_${VERSION}_build
|
||||
DISTNAME = ghidra-${VERSION}
|
||||
|
||||
CATEGORIES = security
|
||||
|
||||
|
@ -19,30 +23,113 @@ MAINTAINER = Remi Pointel <rpointel@openbsd.org>
|
|||
# Apache v2
|
||||
PERMIT_PACKAGE = Yes
|
||||
|
||||
MASTER_SITES = ${HOMEPAGE}
|
||||
WANTLIB += c m stdc++
|
||||
|
||||
MASTER_SITES0 = ${HOMEPAGE}
|
||||
MASTER_SITES1 = https://sourceforge.net/projects/yajsw/files/yajsw/yajsw-stable-${YAJSW_VER}/
|
||||
MASTER_SITES2 = https://repo.maven.apache.org/maven2/
|
||||
|
||||
EXTRACT_SUFX = .zip
|
||||
|
||||
ST4_VER = 4.1
|
||||
HAMCREST_VER = 1.3
|
||||
JAVACC_VER = 5.0
|
||||
JMOCKIT_VER = 1.44
|
||||
JSON_SIMPLE_VER = 1.1.1
|
||||
JUNIT_VER = 4.12
|
||||
YAJSW_VER = 12.12
|
||||
|
||||
JAR_DISTFILES += ST4{org/antlr/ST4/${ST4_VER}/ST4}-${ST4_VER}.jar
|
||||
JAR_DISTFILES += hamcrest{org/hamcrest/hamcrest-all/${HAMCREST_VER}/hamcrest}-all-${HAMCREST_VER}.jar
|
||||
JAR_DISTFILES += javacc{net/java/dev/javacc/javacc/${JAVACC_VER}/javacc}-${JAVACC_VER}.jar
|
||||
JAR_DISTFILES += jmockit{org/jmockit/jmockit/${JMOCKIT_VER}/jmockit}-${JMOCKIT_VER}.jar
|
||||
JAR_DISTFILES += json-simple{com/googlecode/json-simple/json-simple/${JSON_SIMPLE_VER}/json-simple}-${JSON_SIMPLE_VER}.jar
|
||||
JAR_DISTFILES += junit{junit/junit/${JUNIT_VER}/junit}-${JUNIT_VER}.jar
|
||||
|
||||
DISTFILES = ${DISTNAME}.tar.gz
|
||||
DISTFILES += ghidra_${VERSION}_PUBLIC_${GHIDRA_DATE}${EXTRACT_SUFX}:0
|
||||
DISTFILES += yajsw-stable-${YAJSW_VER}${EXTRACT_SUFX}:1
|
||||
DISTFILES += ${JAR_DISTFILES:C/$/:2/}
|
||||
|
||||
EXTRACT_ONLY = ${DISTNAME}.tar.gz
|
||||
|
||||
MODULES = java
|
||||
MODJAVA_VER = 11+
|
||||
|
||||
BUILD_DEPENDS = archivers/unzip \
|
||||
devel/bison \
|
||||
java/gradle \
|
||||
shells/bash
|
||||
|
||||
RUN_DEPENDS = shells/bash \
|
||||
java/javaPathHelper
|
||||
|
||||
NO_BUILD = Yes
|
||||
NO_TEST = Yes
|
||||
|
||||
WRKDIST = ${WRKDIR}/${PKGNAME:S/-/_/}
|
||||
SUBST_VARS += GHIDRA_DATE VERSION WRKDIR
|
||||
|
||||
JAR_DIRS += Features-FileFormats
|
||||
JAR_DIRS += Features-Python
|
||||
JAR_DIRS += Framework-Docking
|
||||
JAR_DIRS += Framework-FileSystem
|
||||
JAR_DIRS += Framework-Generic
|
||||
JAR_DIRS += Framework-Graph
|
||||
JAR_DIRS += Framework-Project
|
||||
JAR_DIRS += Framework-SoftwareModeling
|
||||
|
||||
post-extract:
|
||||
@perl -pi -e 's,#!/bin/bash,#!${LOCALBASE}/bin/bash,' \
|
||||
${WRKSRC}/ghidraRun
|
||||
${WRKSRC}/Ghidra/RuntimeScripts/Linux/ghidraRun
|
||||
@perl -pi -e 's,#!/bin/bash,#!${LOCALBASE}/bin/bash,' \
|
||||
${WRKSRC}/support/launch.sh
|
||||
${WRKSRC}/Ghidra/RuntimeScripts/Linux/support/launch.sh
|
||||
@perl -pi -e 's,#!/bin/bash,#!${LOCALBASE}/bin/bash,' \
|
||||
${WRKSRC}/Ghidra/RuntimeScripts/Linux/support/launch.sh
|
||||
@perl -pi -e 's,(application.version)=.*,\1=${VERSION},' \
|
||||
${WRKSRC}/Ghidra/application.properties
|
||||
|
||||
# Steps derived from:
|
||||
# https://github.com/NationalSecurityAgency/ghidra/blob/master/DevGuide.md
|
||||
pre-build:
|
||||
cp ${FILESDIR}/repos.gradle ${WRKDIR}
|
||||
${SUBST_CMD} ${WRKDIR}/repos.gradle \
|
||||
${WRKSRC}/Ghidra/Framework/Help/src/main/java/help/GHelpBuilder.java
|
||||
mkdir ${WRKDIR}/{flatRepo,gradle,home}
|
||||
.for dir in ${JAR_DIRS}
|
||||
unzip -j ${DISTDIR}/ghidra_${VERSION}_PUBLIC_${GHIDRA_DATE}.zip \
|
||||
-d ${WRKDIR}/flatRepo \
|
||||
ghidra_${VERSION}/Ghidra/${dir:C/-.*$//}/${dir:C/^.*-//}/lib/*.jar \
|
||||
-x ghidra_${VERSION}/Ghidra/${dir:C/-.*$//}/${dir:C/^.*-//}/lib/${dir:C/^.*-//}.jar
|
||||
.endfor
|
||||
.for name in csframework hfsx_dmglib hfsx iharder-base64
|
||||
cp ${WRKSRC}/GPL/DMG/data/lib/catacombae_${name}.jar \
|
||||
${WRKDIR}/flatRepo/${name}.jar
|
||||
.endfor
|
||||
.for jar_file in ${JAR_DISTFILES:C/{.*}//}
|
||||
cp ${DISTDIR}/${jar_file} ${WRKDIR}/flatRepo
|
||||
.endfor
|
||||
mkdir -p ${WRKDIR}/ghidra.bin/Ghidra/Features/GhidraServer
|
||||
cp ${DISTDIR}/yajsw-stable-${YAJSW_VER}.zip \
|
||||
${WRKDIR}/ghidra.bin/Ghidra/Features/GhidraServer
|
||||
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gradle -g ${WRKDIR}/gradle \
|
||||
--no-daemon --offline -I ${WRKDIR}/repos.gradle yajswDevUnpack
|
||||
|
||||
do-build:
|
||||
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gradle -g ${WRKDIR}/gradle \
|
||||
--no-daemon --offline -I ${WRKDIR}/repos.gradle buildGhidra
|
||||
|
||||
do-install:
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/share/java/ghidra
|
||||
cp -r ${WRKSRC}/* ${PREFIX}/share/java/ghidra/
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/share/java
|
||||
unzip -d ${PREFIX}/share/java \
|
||||
${WRKSRC}/build/dist/ghidra_${VERSION}_PUBLIC_*_openbsd64.zip
|
||||
mv ${PREFIX}/share/java/ghidra_${VERSION} ${PREFIX}/share/java/ghidra
|
||||
mv ${PREFIX}/share/java/ghidra/Extensions/Ghidra/ghidra_${VERSION}_PUBLIC_*_SampleTablePlugin.zip \
|
||||
${PREFIX}/share/java/ghidra/Extensions/Ghidra/ghidra_${VERSION}_PUBLIC_${GHIDRA_DATE}_SampleTablePlugin.zip
|
||||
mv ${PREFIX}/share/java/ghidra/Extensions/Ghidra/ghidra_${VERSION}_PUBLIC_*_sample.zip \
|
||||
${PREFIX}/share/java/ghidra/Extensions/Ghidra/ghidra_${VERSION}_PUBLIC_${GHIDRA_DATE}_sample.zip
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/Ghidra/RuntimeScripts/Linux/ghidraRun \
|
||||
${PREFIX}/share/java/ghidra/ghidraRun
|
||||
ln -s ${TRUEPREFIX}/share/java/ghidra/ghidraRun ${PREFIX}/bin/ghidraRun
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/Ghidra/RuntimeScripts/Linux/support/launch.sh \
|
||||
${PREFIX}/share/java/ghidra/support/launch.sh
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
@ -1,2 +1,18 @@
|
|||
SHA256 (ST4-4.1.jar) = ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=
|
||||
SHA256 (ghidra-9.0.4.tar.gz) = 4kWT+0zz4dG3qN/q6F7fup/Z1EazYMel0S6WQEOHNeM=
|
||||
SHA256 (ghidra_9.0.4_PUBLIC_20190516.zip) = pQ0M1HXZN3MygR7q5m6Uvcnn2I5YR3xSfpxreMrsGL8=
|
||||
SHA256 (hamcrest-all-1.3.jar) = SHdnBimrlvNPX5CrKDEl/Nmst+aD5mMZpovm6yzKYN4=
|
||||
SHA256 (javacc-5.0.jar) = cRExYbyM9mQVFVQcKBgCi4fHjsLo/6p1MXaG7giWe4k=
|
||||
SHA256 (jmockit-1.44.jar) = GXSZN1EzMkhCbdusNwpgSUTt9mXBPUakxelz5N2PqUo=
|
||||
SHA256 (json-simple-1.1.1.jar) = TmlpaJK4i0HFXUmrL9zCHurZK/VKzFiMAFBZbDt1GZw=
|
||||
SHA256 (junit-4.12.jar) = WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=
|
||||
SHA256 (yajsw-stable-12.12.zip) = E5j8sek6uxmZLE+gbX/ldYqrtMRXgdfvMGxvV8p6cyE=
|
||||
SIZE (ST4-4.1.jar) = 253043
|
||||
SIZE (ghidra-9.0.4.tar.gz) = 59223815
|
||||
SIZE (ghidra_9.0.4_PUBLIC_20190516.zip) = 298503610
|
||||
SIZE (hamcrest-all-1.3.jar) = 306578
|
||||
SIZE (javacc-5.0.jar) = 298569
|
||||
SIZE (jmockit-1.44.jar) = 757982
|
||||
SIZE (json-simple-1.1.1.jar) = 23931
|
||||
SIZE (junit-4.12.jar) = 314932
|
||||
SIZE (yajsw-stable-12.12.zip) = 25051676
|
||||
|
|
7
security/ghidra/files/repos.gradle
Normal file
7
security/ghidra/files/repos.gradle
Normal file
|
@ -0,0 +1,7 @@
|
|||
allprojects {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
flatDir name:'flat', dirs:["${WRKDIR}/flatRepo"]
|
||||
}
|
||||
}
|
16
security/ghidra/patches/patch-GPL_CabExtract_build_gradle
Normal file
16
security/ghidra/patches/patch-GPL_CabExtract_build_gradle
Normal file
|
@ -0,0 +1,16 @@
|
|||
$OpenBSD: patch-GPL_CabExtract_build_gradle,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: GPL/CabExtract/build.gradle
|
||||
--- GPL/CabExtract/build.gradle.orig
|
||||
+++ GPL/CabExtract/build.gradle
|
||||
@@ -40,7 +40,7 @@ project.ext.cabextract = "cabextract-1.6"
|
||||
*
|
||||
* The cabextract tool requires that its 'configure' script is called before make.
|
||||
*********************************************************************************/
|
||||
-['linux64', 'osx64'].each { platform ->
|
||||
+['linux64', 'osx64', 'openbsd64'].each { platform ->
|
||||
|
||||
def configureName = "${platform}CabExtractConfigure"
|
||||
def makeName = "${platform}CabExtractMake" // native Make task found automatically
|
|
@ -0,0 +1,14 @@
|
|||
$OpenBSD: patch-GPL_DemanglerGnu_Module_manifest,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: GPL/DemanglerGnu/Module.manifest
|
||||
--- GPL/DemanglerGnu/Module.manifest.orig
|
||||
+++ GPL/DemanglerGnu/Module.manifest
|
||||
@@ -1,3 +1,4 @@
|
||||
MODULE FILE LICENSE: os/linux64/demangler_gnu GPL 3
|
||||
MODULE FILE LICENSE: os/osx64/demangler_gnu GPL 3
|
||||
-MODULE FILE LICENSE: os/win64/demangler_gnu.exe GPL 3
|
||||
\ No newline at end of file
|
||||
+MODULE FILE LICENSE: os/openbsd64/demangler_gnu GPL 3
|
||||
+MODULE FILE LICENSE: os/win64/demangler_gnu.exe GPL 3
|
26
security/ghidra/patches/patch-GPL_DemanglerGnu_build_gradle
Normal file
26
security/ghidra/patches/patch-GPL_DemanglerGnu_build_gradle
Normal file
|
@ -0,0 +1,26 @@
|
|||
$OpenBSD: patch-GPL_DemanglerGnu_build_gradle,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: GPL/DemanglerGnu/build.gradle
|
||||
--- GPL/DemanglerGnu/build.gradle.orig
|
||||
+++ GPL/DemanglerGnu/build.gradle
|
||||
@@ -24,6 +24,10 @@ model {
|
||||
architecture 'x86_64'
|
||||
operatingSystem 'osx'
|
||||
}
|
||||
+ openbsd64 {
|
||||
+ architecture 'x86_64'
|
||||
+ operatingSystem 'openbsd'
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +68,7 @@ model {
|
||||
targetPlatform "win64"
|
||||
targetPlatform "linux64"
|
||||
targetPlatform "osx64"
|
||||
+ targetPlatform "openbsd64"
|
||||
sources {
|
||||
c {
|
||||
source {
|
|
@ -0,0 +1,18 @@
|
|||
$OpenBSD: patch-GPL_nativeBuildProperties_gradle,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
Adapted from https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: GPL/nativeBuildProperties.gradle
|
||||
--- GPL/nativeBuildProperties.gradle.orig
|
||||
+++ GPL/nativeBuildProperties.gradle
|
||||
@@ -75,6 +75,10 @@ model {
|
||||
architecture 'x86_64'
|
||||
operatingSystem 'osx'
|
||||
}
|
||||
+ openbsd64 {
|
||||
+ architecture 'x86_64'
|
||||
+ operatingSystem 'openbsd'
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
$OpenBSD: patch-Ghidra_Features_Decompiler_build_gradle,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: Ghidra/Features/Decompiler/build.gradle
|
||||
--- Ghidra/Features/Decompiler/build.gradle.orig
|
||||
+++ Ghidra/Features/Decompiler/build.gradle
|
||||
@@ -74,9 +74,9 @@ def buildDir = "../../../build"
|
||||
task buildDecompilerDocumentationPdfs(type: Exec) {
|
||||
|
||||
// Check the OS before enabling task.
|
||||
- if (!(org.gradle.internal.os.OperatingSystem.current().isLinux()
|
||||
- || org.gradle.internal.os.OperatingSystem.current().isMacOsX())) {
|
||||
- println "The '$it.name' task only works on Linux or Mac Os X and is therefore disabled."
|
||||
+ String osName = System.getProperty("os.name")
|
||||
+ if (!(isLinux(osName) || isMac(osName) || isOpenBSD(osName))) {
|
||||
+ println "The '$it.name' task only works on Linux, Mac OS X, or OpenBSD and is therefore disabled."
|
||||
it.enabled = false
|
||||
}
|
||||
|
||||
@@ -206,10 +206,10 @@ task buildDecompilerDocumentationHtml(type: Exec) {
|
||||
|
||||
// Check the OS before executing command.
|
||||
doFirst {
|
||||
- if ( !(org.gradle.internal.os.OperatingSystem.current().isLinux()
|
||||
- || org.gradle.internal.os.OperatingSystem.current().isMacOsX())) {
|
||||
+ String osName = System.getProperty("os.name")
|
||||
+ if ( !(isLinux(osName) || isMac(osName) || isOpenBSD(osName)) ) {
|
||||
throw new TaskExecutionException( it,
|
||||
- new Exception( "The '$it.name' task only works on Linux or Mac Os X" ))
|
||||
+ new Exception( "The '$it.name' task only works on Linux, Mac OS X, or OpenBSD" ))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,6 +245,7 @@ model {
|
||||
targetPlatform "win64"
|
||||
targetPlatform "linux64"
|
||||
targetPlatform "osx64"
|
||||
+ targetPlatform "openbsd64"
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
@@ -342,6 +343,7 @@ model {
|
||||
targetPlatform "win64"
|
||||
targetPlatform "linux64"
|
||||
targetPlatform "osx64"
|
||||
+ targetPlatform "openbsd64"
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
|
@ -0,0 +1,21 @@
|
|||
$OpenBSD: patch-Ghidra_Features_Decompiler_src_decompile_cpp_Makefile,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: Ghidra/Features/Decompiler/src/decompile/cpp/Makefile
|
||||
--- Ghidra/Features/Decompiler/src/decompile/cpp/Makefile.orig
|
||||
+++ Ghidra/Features/Decompiler/src/decompile/cpp/Makefile
|
||||
@@ -33,6 +33,13 @@ ifeq ($(OS),Darwin)
|
||||
OSDIR=osx64
|
||||
endif
|
||||
|
||||
+ifeq ($(OS),OpenBSD)
|
||||
+ifeq ($(ARCH),x86_64)
|
||||
+ ARCH_TYPE=-m64
|
||||
+ OSDIR=openbsd64
|
||||
+endif
|
||||
+endif
|
||||
+
|
||||
CC=gcc
|
||||
CXX=g++
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
$OpenBSD: patch-Ghidra_Features_Decompiler_src_decompile_cpp_types_h,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: Ghidra/Features/Decompiler/src/decompile/cpp/types.h
|
||||
--- Ghidra/Features/Decompiler/src/decompile/cpp/types.h.orig
|
||||
+++ Ghidra/Features/Decompiler/src/decompile/cpp/types.h
|
||||
@@ -86,7 +86,8 @@ typedef char int1;
|
||||
typedef uint4 uintp;
|
||||
#endif
|
||||
|
||||
-#if defined (__linux__) && defined (__x86_64__)
|
||||
+#if defined (__linux__) && defined (__x86_64__) || \
|
||||
+ (defined (__OpenBSD__) && defined (__x86_64__))
|
||||
#define HOST_ENDIAN 0
|
||||
typedef unsigned int uintm;
|
||||
typedef int intm;
|
|
@ -0,0 +1,21 @@
|
|||
$OpenBSD: patch-Ghidra_Features_FunctionID_build_gradle,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: Ghidra/Features/FunctionID/build.gradle
|
||||
--- Ghidra/Features/FunctionID/build.gradle.orig
|
||||
+++ Ghidra/Features/FunctionID/build.gradle
|
||||
@@ -93,10 +93,10 @@ task buildFidDocumentationPdf(type: Exec) {
|
||||
|
||||
// Check the OS before executing command.
|
||||
doFirst {
|
||||
- if ( !(org.gradle.internal.os.OperatingSystem.current().isLinux()
|
||||
- || org.gradle.internal.os.OperatingSystem.current().isMacOsX())) {
|
||||
+ String osName = System.getProperty("os.name")
|
||||
+ if ( !(isLinux(osName) || isMac(osName) || isOpenBSD(osName))) {
|
||||
throw new TaskExecutionException( it,
|
||||
- new Exception( "The '$it.name' task only works on Linux or Mac Os X" ))
|
||||
+ new Exception( "The '$it.name' task only works on Linux, Mac OS X, or OpenBSD" ))
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
$OpenBSD: patch-Ghidra_Framework_Generic_src_main_java_ghidra_framework_Platform_java,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: Ghidra/Framework/Generic/src/main/java/ghidra/framework/Platform.java
|
||||
--- Ghidra/Framework/Generic/src/main/java/ghidra/framework/Platform.java.orig
|
||||
+++ Ghidra/Framework/Generic/src/main/java/ghidra/framework/Platform.java
|
||||
@@ -71,6 +71,21 @@ public enum Platform {
|
||||
MAC_UNKNOWN(OperatingSystem.MAC_OS_X, Architecture.UNKNOWN, "osx64", ".dylib", ""),
|
||||
|
||||
/**
|
||||
+ * Identifies an OpenBSD OS for the Intel x86 32-bit platform.
|
||||
+ */
|
||||
+ OPENBSD(OperatingSystem.OPENBSD, Architecture.X86, "openbsd32", ".so", ""),
|
||||
+
|
||||
+ /**
|
||||
+ * Identifies an OpenBSD OS for the Intel x86 64-bit platform.
|
||||
+ */
|
||||
+ OPENBSD_64(OperatingSystem.OPENBSD, Architecture.X86_64, "openbsd64", ".so", ""),
|
||||
+
|
||||
+ /**
|
||||
+ * Identifies an OpenBSD OS, the architecture for which we do not know or have not encountered
|
||||
+ */
|
||||
+ OPENBSD_UNKNOWN(OperatingSystem.OPENBSD, Architecture.UNKNOWN, "openbsd32", ".so", ""),
|
||||
+
|
||||
+ /**
|
||||
* Identifies an unsupported OS.
|
||||
*/
|
||||
UNSUPPORTED(OperatingSystem.UNSUPPORTED, Architecture.UNKNOWN, null, null, "");
|
||||
@@ -140,6 +155,13 @@ public enum Platform {
|
||||
if (operatingSystem == OperatingSystem.LINUX) {
|
||||
paths.add("/bin");
|
||||
paths.add("/lib");
|
||||
+ paths.add("/usr/bin");
|
||||
+ paths.add("/usr/lib");
|
||||
+ paths.add("/usr/X11R6/bin");
|
||||
+ paths.add("/usr/X11R6/lib");
|
||||
+ }
|
||||
+ else if (operatingSystem == OperatingSystem.OPENBSD) {
|
||||
+ paths.add("/bin");
|
||||
paths.add("/usr/bin");
|
||||
paths.add("/usr/lib");
|
||||
paths.add("/usr/X11R6/bin");
|
|
@ -0,0 +1,24 @@
|
|||
$OpenBSD: patch-Ghidra_Framework_Help_src_main_java_help_GHelpBuilder_java,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
GHelpBuilder.java builds the Ghidra help files during build and it logs to
|
||||
$HOME/.ghidra/.ghidra-${VERSION}/application.log. The GhidraApplicationLayout()
|
||||
constructor calls ApplicationUtilities.getDefaultUserSettingsDir() which in turn
|
||||
uses System.getproperty("user.home") to form the above path to application.log.
|
||||
|
||||
To prevent $HOME from being touched during build, this patch changes user.home
|
||||
to ${WRKDIR}/home before the GhidraApplicationLayout() constructor is called so
|
||||
that logging goes to ${WRKDIR}/home/.ghidra/.ghidra-${VERSION}/application.log
|
||||
instead.
|
||||
|
||||
Index: Ghidra/Framework/Help/src/main/java/help/GHelpBuilder.java
|
||||
--- Ghidra/Framework/Help/src/main/java/help/GHelpBuilder.java.orig
|
||||
+++ Ghidra/Framework/Help/src/main/java/help/GHelpBuilder.java
|
||||
@@ -68,6 +68,8 @@ public class GHelpBuilder {
|
||||
builder.exitOnError = true;
|
||||
|
||||
ApplicationConfiguration config = new ApplicationConfiguration();
|
||||
+
|
||||
+ System.setProperty("user.home", "${WRKDIR}/home");
|
||||
Application.initializeApplication(new GhidraApplicationLayout(), config);
|
||||
|
||||
builder.build(args);
|
|
@ -0,0 +1,19 @@
|
|||
$OpenBSD: patch-Ghidra_Framework_SoftwareModeling_Module_manifest,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
This patch prevents this error:
|
||||
|
||||
* Where:
|
||||
Script '/usr/ports/pobj/ghidra-9.0.4/ghidra-Ghidra_9.0.4_build/gradleScripts/ip.gradle' line: 96
|
||||
|
||||
* What went wrong:
|
||||
Execution failed for task ':SoftwareModeling:ip'.
|
||||
> No License specified for external library: lib/ST4-4.1.jar in module /usr/ports/pobj/ghidra-9.0.4/ghidra-Ghidra_9.0.4_build/Ghidra/Framework/SoftwareModeling. Expression: map.containsKey(relativePath)
|
||||
|
||||
Index: Ghidra/Framework/SoftwareModeling/Module.manifest
|
||||
--- Ghidra/Framework/SoftwareModeling/Module.manifest.orig
|
||||
+++ Ghidra/Framework/SoftwareModeling/Module.manifest
|
||||
@@ -4,3 +4,4 @@ MODULE FILE LICENSE: lib/msv-20050913.jar BSD
|
||||
MODULE FILE LICENSE: lib/xsdlib-20050913.jar BSD
|
||||
MODULE FILE LICENSE: lib/antlr-runtime-3.5.2.jar BSD
|
||||
MODULE FILE LICENSE: lib/antlr-3.5.2.jar BSD
|
||||
+MODULE FILE LICENSE: lib/ST4-4.1.jar BSD
|
|
@ -0,0 +1,25 @@
|
|||
$OpenBSD: patch-Ghidra_Framework_SoftwareModeling_build_gradle,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
This patch prevents these errors:
|
||||
|
||||
Execution failed for task ':SoftwareModeling:generateGrammarSource'.
|
||||
> Failed to run Gradle ANTLR Worker
|
||||
> org/antlr/runtime/RecognitionException
|
||||
|
||||
Execution failed for task ':SoftwareModeling:generateGrammarSource'.
|
||||
> Failed to run Gradle ANTLR Worker
|
||||
> org/stringtemplate/v4/STGroup
|
||||
|
||||
Index: Ghidra/Framework/SoftwareModeling/build.gradle
|
||||
--- Ghidra/Framework/SoftwareModeling/build.gradle.orig
|
||||
+++ Ghidra/Framework/SoftwareModeling/build.gradle
|
||||
@@ -21,6 +21,9 @@ dependencies {
|
||||
// Must specify the specific antlr implementation to use or it will default to trying to find
|
||||
// version 2.7.7 (which we don't have)
|
||||
antlr "org.antlr:antlr:3.5.2"
|
||||
+ antlr "org.antlr:antlr-runtime:3.5.2"
|
||||
+ antlr group: "org.antlr", name: "ST4", version: "4.1"
|
||||
+
|
||||
}
|
||||
|
||||
// Define classpath needed to execute sleigh compiler during development
|
|
@ -0,0 +1,15 @@
|
|||
$OpenBSD: patch-Ghidra_Framework_Utility_src_main_java_ghidra_framework_OperatingSystem_java,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: Ghidra/Framework/Utility/src/main/java/ghidra/framework/OperatingSystem.java
|
||||
--- Ghidra/Framework/Utility/src/main/java/ghidra/framework/OperatingSystem.java.orig
|
||||
+++ Ghidra/Framework/Utility/src/main/java/ghidra/framework/OperatingSystem.java
|
||||
@@ -20,6 +20,7 @@ public enum OperatingSystem {
|
||||
WINDOWS("Windows"),
|
||||
LINUX("Linux"),
|
||||
MAC_OS_X("Mac OS X"),
|
||||
+ OPENBSD("OpenBSD"),
|
||||
UNSUPPORTED("Unsupported Operating System");
|
||||
|
||||
/**
|
|
@ -1,8 +1,8 @@
|
|||
$OpenBSD: patch-support_launch_sh,v 1.1.1.1 2019/05/14 07:01:32 rpointel Exp $
|
||||
$OpenBSD: patch-Ghidra_RuntimeScripts_Linux_support_launch_sh,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
Index: support/launch.sh
|
||||
--- support/launch.sh.orig
|
||||
+++ support/launch.sh
|
||||
Index: Ghidra/RuntimeScripts/Linux/support/launch.sh
|
||||
--- Ghidra/RuntimeScripts/Linux/support/launch.sh.orig
|
||||
+++ Ghidra/RuntimeScripts/Linux/support/launch.sh
|
||||
@@ -89,13 +89,13 @@ else
|
||||
fi
|
||||
|
66
security/ghidra/patches/patch-build_gradle
Normal file
66
security/ghidra/patches/patch-build_gradle
Normal file
|
@ -0,0 +1,66 @@
|
|||
$OpenBSD: patch-build_gradle,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Also disable the Gradle check because we are using a later version of Gradle to
|
||||
build Ghidra.
|
||||
|
||||
Index: build.gradle
|
||||
--- build.gradle.orig
|
||||
+++ build.gradle
|
||||
@@ -4,13 +4,6 @@ apply from: "gradleScripts/eclipseLauncher.gradle"
|
||||
|
||||
|
||||
/***************************************************************************************
|
||||
- * Make sure the correct version of gradle is being used
|
||||
- ***************************************************************************************/
|
||||
-if (gradle.gradleVersion != "5.0") {
|
||||
- throw new GradleException("Requires Gradle 5.0, but was run with $gradle.gradleVersion")
|
||||
-}
|
||||
-
|
||||
-/***************************************************************************************
|
||||
* Define the location of JAVA_HOME
|
||||
***************************************************************************************/
|
||||
if (System.env.JAVA_HOME) {
|
||||
@@ -58,7 +51,7 @@ apply from: "gradleScripts/setupJacoco.gradle" // Has
|
||||
* project.OS_NAMES.each {...}
|
||||
****************************************************************************/
|
||||
|
||||
-project.ext.set("OS_NAMES", ["osx64", "win32", "win64", "linux64"])
|
||||
+project.ext.set("OS_NAMES", ["osx64", "win32", "win64", "linux64", "openbsd64"])
|
||||
|
||||
/*********************************************************************************
|
||||
* Imports
|
||||
@@ -120,7 +113,20 @@ def isMac(String platformName) {
|
||||
}
|
||||
}
|
||||
|
||||
+/*********************************************************************************
|
||||
+ * Returns true if the platform is an OpenBSD machine
|
||||
+ *********************************************************************************/
|
||||
+def isOpenBSD(String platformName) {
|
||||
|
||||
+ if (platformName.toLowerCase().startsWith("openbsd")) {
|
||||
+ return true
|
||||
+ }
|
||||
+ else {
|
||||
+ return false
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
/*********************************************************************************
|
||||
* Returns true if the platform is a Windows machine.
|
||||
*********************************************************************************/
|
||||
@@ -278,6 +284,11 @@ String getCurrentPlatformName() {
|
||||
else if (osName.startsWith("Mac OS X")) {
|
||||
if (isX86_64) {
|
||||
return 'osx64'
|
||||
+ }
|
||||
+ }
|
||||
+ else if (osName.startsWith("OpenBSD")) {
|
||||
+ if (isX86_64) {
|
||||
+ return 'openbsd64'
|
||||
}
|
||||
}
|
||||
throw new GradleException("Unrecognized current platform -> osName = $osName, archName = $archName")
|
|
@ -0,0 +1,15 @@
|
|||
$OpenBSD: patch-gradleScripts_distribution_gradle,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
From https://github.com/NationalSecurityAgency/ghidra/pull/490
|
||||
|
||||
Index: gradleScripts/distribution.gradle
|
||||
--- gradleScripts/distribution.gradle.orig
|
||||
+++ gradleScripts/distribution.gradle
|
||||
@@ -987,6 +987,7 @@ task createMultiPlatformInstallationZip(type: Zip) { t
|
||||
dependsOn ":assemblewin64"
|
||||
dependsOn ":assemblelinux64"
|
||||
dependsOn ":assembleosx64"
|
||||
+ dependsOn ":assembleopenbsd64"
|
||||
dependsOn ":assembleSourceCommon"
|
||||
|
||||
addDecompilerPdfsToZip(t)
|
25
security/ghidra/patches/patch-gradleScripts_ip_gradle
Normal file
25
security/ghidra/patches/patch-gradleScripts_ip_gradle
Normal file
|
@ -0,0 +1,25 @@
|
|||
$OpenBSD: patch-gradleScripts_ip_gradle,v 1.1 2019/07/23 02:09:20 lteo Exp $
|
||||
|
||||
Explicitly exclude *.orig and *.beforesubst files left behind by our patch to
|
||||
prevent getIpForModule() from breaking like this:
|
||||
|
||||
* Where:
|
||||
Script '/usr/ports/pobj/ghidra-9.0.4/ghidra-Ghidra_9.0.4_build/gradleScripts/ip.gradle' line: 131
|
||||
|
||||
* What went wrong:
|
||||
Execution failed for task ':CabExtract:ip'.
|
||||
> No IP found for /usr/ports/pobj/ghidra-9.0.4/ghidra-Ghidra_9.0.4_build/GPL/CabExtract/build.gradle.orig in module: /usr/ports/pobj/ghidra-9.0.4/ghidra-Ghidra_9.0.4_build
|
||||
/GPL/CabExtract. Expression: (ip != null). Values: ip = null
|
||||
|
||||
Index: gradleScripts/ip.gradle
|
||||
--- gradleScripts/ip.gradle.orig
|
||||
+++ gradleScripts/ip.gradle
|
||||
@@ -125,6 +125,8 @@ def Map<String, List<String>> getIpForModule(Project p
|
||||
exclude "**/.settings/**"
|
||||
exclude "**/.vs/**"
|
||||
exclude "**/*.vcxproj.user"
|
||||
+ exclude "**/*.orig"
|
||||
+ exclude "**/*.beforesubst"
|
||||
}
|
||||
tree.each { file ->
|
||||
String ip = getIp(p.projectDir, file)
|
|
@ -1,11 +1,10 @@
|
|||
@comment $OpenBSD: PLIST,v 1.2 2019/05/26 02:07:44 lteo Exp $
|
||||
@comment $OpenBSD: PLIST,v 1.3 2019/07/23 02:09:20 lteo Exp $
|
||||
bin/ghidraRun
|
||||
share/java/
|
||||
share/java/ghidra/
|
||||
share/java/ghidra/Extensions/
|
||||
share/java/ghidra/Extensions/Eclipse/
|
||||
share/java/ghidra/Extensions/Eclipse/GhidraDev/
|
||||
share/java/ghidra/Extensions/Eclipse/GhidraDev/GhidraDev-2.0.1.zip
|
||||
share/java/ghidra/Extensions/Eclipse/GhidraDev/GhidraDev_README.html
|
||||
share/java/ghidra/Extensions/Ghidra/
|
||||
share/java/ghidra/Extensions/Ghidra/Skeleton/
|
||||
|
@ -57,8 +56,8 @@ share/java/ghidra/Extensions/Ghidra/Skeleton/src/main/resources/images/README.tx
|
|||
share/java/ghidra/Extensions/Ghidra/Skeleton/src/test/
|
||||
share/java/ghidra/Extensions/Ghidra/Skeleton/src/test/java/
|
||||
share/java/ghidra/Extensions/Ghidra/Skeleton/src/test/java/README.test.txt
|
||||
share/java/ghidra/Extensions/Ghidra/ghidra_9.0.4_PUBLIC_20190516_SampleTablePlugin.zip
|
||||
share/java/ghidra/Extensions/Ghidra/ghidra_9.0.4_PUBLIC_20190516_sample.zip
|
||||
share/java/ghidra/Extensions/Ghidra/ghidra_${VERSION}_PUBLIC_${GHIDRA_DATE}_SampleTablePlugin.zip
|
||||
share/java/ghidra/Extensions/Ghidra/ghidra_${VERSION}_PUBLIC_${GHIDRA_DATE}_sample.zip
|
||||
share/java/ghidra/Extensions/IDAPro/
|
||||
share/java/ghidra/Extensions/IDAPro/Python/
|
||||
share/java/ghidra/Extensions/IDAPro/Python/6xx/
|
||||
|
@ -156,12 +155,8 @@ share/java/ghidra/GPL/DemanglerGnu/LICENSE.txt
|
|||
share/java/ghidra/GPL/DemanglerGnu/Module.manifest
|
||||
share/java/ghidra/GPL/DemanglerGnu/build.gradle
|
||||
share/java/ghidra/GPL/DemanglerGnu/os/
|
||||
share/java/ghidra/GPL/DemanglerGnu/os/linux64/
|
||||
share/java/ghidra/GPL/DemanglerGnu/os/linux64/demangler_gnu
|
||||
share/java/ghidra/GPL/DemanglerGnu/os/osx64/
|
||||
share/java/ghidra/GPL/DemanglerGnu/os/osx64/demangler_gnu
|
||||
share/java/ghidra/GPL/DemanglerGnu/os/win64/
|
||||
share/java/ghidra/GPL/DemanglerGnu/os/win64/demangler_gnu.exe
|
||||
share/java/ghidra/GPL/DemanglerGnu/os/openbsd64/
|
||||
@bin share/java/ghidra/GPL/DemanglerGnu/os/openbsd64/demangler_gnu
|
||||
share/java/ghidra/GPL/DemanglerGnu/src/
|
||||
share/java/ghidra/GPL/DemanglerGnu/src/demangler_gnu/
|
||||
share/java/ghidra/GPL/DemanglerGnu/src/demangler_gnu/README.txt
|
||||
|
@ -535,15 +530,9 @@ share/java/ghidra/Ghidra/Features/Decompiler/lib/
|
|||
share/java/ghidra/Ghidra/Features/Decompiler/lib/Decompiler-src.zip
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/lib/Decompiler.jar
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/linux64/
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/linux64/decompile
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/linux64/sleigh
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/osx64/
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/osx64/decompile
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/osx64/sleigh
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/win64/
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/win64/decompile.exe
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/win64/sleigh.exe
|
||||
share/java/ghidra/Ghidra/Features/Decompiler/os/openbsd64/
|
||||
@bin share/java/ghidra/Ghidra/Features/Decompiler/os/openbsd64/decompile
|
||||
@bin share/java/ghidra/Ghidra/Features/Decompiler/os/openbsd64/sleigh
|
||||
share/java/ghidra/Ghidra/Features/DecompilerDependent/
|
||||
share/java/ghidra/Ghidra/Features/DecompilerDependent/LICENSE.txt
|
||||
share/java/ghidra/Ghidra/Features/DecompilerDependent/Module.manifest
|
||||
|
@ -610,18 +599,6 @@ share/java/ghidra/Ghidra/Features/FunctionID/data/
|
|||
share/java/ghidra/Ghidra/Features/FunctionID/data/building_fid.txt
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/common_symbols_win32.txt
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/common_symbols_win64.txt
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs1998_x86.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2003_x86.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2005_x64.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2005_x86.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2008_x64.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2008_x86.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2010_x64.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2010_x86.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2012_x64.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2012_x86.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2015_x64.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/data/vs2015_x86.fidbf
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/ghidra_scripts/
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/ghidra_scripts/CollectFailedRelocations.java
|
||||
share/java/ghidra/Ghidra/Features/FunctionID/ghidra_scripts/CreateMultipleLibraries.java
|
||||
|
@ -769,9 +746,6 @@ share/java/ghidra/Ghidra/Features/PDB/Module.manifest
|
|||
share/java/ghidra/Ghidra/Features/PDB/lib/
|
||||
share/java/ghidra/Ghidra/Features/PDB/lib/PDB-src.zip
|
||||
share/java/ghidra/Ghidra/Features/PDB/lib/PDB.jar
|
||||
share/java/ghidra/Ghidra/Features/PDB/os/
|
||||
share/java/ghidra/Ghidra/Features/PDB/os/win64/
|
||||
share/java/ghidra/Ghidra/Features/PDB/os/win64/pdb.exe
|
||||
share/java/ghidra/Ghidra/Features/PDB/src/
|
||||
share/java/ghidra/Ghidra/Features/PDB/src/pdb/
|
||||
share/java/ghidra/Ghidra/Features/PDB/src/pdb/README.txt
|
||||
|
@ -3290,7 +3264,6 @@ share/java/ghidra/docs/languages/index.html
|
|||
share/java/ghidra/docs/languages/manual_index.txt
|
||||
share/java/ghidra/docs/languages/versioning.html
|
||||
share/java/ghidra/ghidraRun
|
||||
share/java/ghidra/ghidraRun.bat
|
||||
share/java/ghidra/licenses/
|
||||
share/java/ghidra/licenses/Apache_License_2.0.txt
|
||||
share/java/ghidra/licenses/BSD.txt
|
||||
|
@ -3311,39 +3284,13 @@ share/java/ghidra/licenses/Oxygen_Icons_-_LGPL_3.0.txt
|
|||
share/java/ghidra/licenses/Public_Domain.txt
|
||||
share/java/ghidra/licenses/Tango_Icons_-_Public_Domain.txt
|
||||
share/java/ghidra/server/
|
||||
share/java/ghidra/server/ghidraSvr
|
||||
share/java/ghidra/server/ghidraSvr.bat
|
||||
share/java/ghidra/server/server.conf
|
||||
share/java/ghidra/server/svrAdmin
|
||||
share/java/ghidra/server/svrAdmin.bat
|
||||
share/java/ghidra/server/svrInstall
|
||||
share/java/ghidra/server/svrInstall.bat
|
||||
share/java/ghidra/server/svrREADME.html
|
||||
share/java/ghidra/server/svrUninstall
|
||||
share/java/ghidra/server/svrUninstall.bat
|
||||
share/java/ghidra/support/
|
||||
share/java/ghidra/support/LaunchSupport.jar
|
||||
share/java/ghidra/support/README_createPdbXmlFiles.txt
|
||||
share/java/ghidra/support/analyzeHeadless
|
||||
share/java/ghidra/support/analyzeHeadless.bat
|
||||
share/java/ghidra/support/analyzeHeadlessREADME.html
|
||||
share/java/ghidra/support/buildExtension.gradle
|
||||
share/java/ghidra/support/buildGhidraJar
|
||||
share/java/ghidra/support/buildGhidraJar.bat
|
||||
share/java/ghidra/support/buildGhidraJarREADME.txt
|
||||
share/java/ghidra/support/convertStorage
|
||||
share/java/ghidra/support/convertStorage.bat
|
||||
share/java/ghidra/support/createPdbXmlFiles.bat
|
||||
share/java/ghidra/support/debug.log4j.xml
|
||||
share/java/ghidra/support/dumpGhidraThreads
|
||||
share/java/ghidra/support/dumpGhidraThreads.bat
|
||||
share/java/ghidra/support/ghidra.ico
|
||||
share/java/ghidra/support/ghidraDebug
|
||||
share/java/ghidra/support/ghidraDebug.bat
|
||||
share/java/ghidra/support/launch.bat
|
||||
share/java/ghidra/support/launch.properties
|
||||
share/java/ghidra/support/launch.sh
|
||||
share/java/ghidra/support/pythonRun
|
||||
share/java/ghidra/support/pythonRun.bat
|
||||
share/java/ghidra/support/sleigh
|
||||
share/java/ghidra/support/sleigh.bat
|
||||
|
|
Loading…
Reference in New Issue
Block a user