mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-10-19 18:12:14 -09:00
204 lines
10 KiB
Properties
204 lines
10 KiB
Properties
# Force Ghidra's Java home instead of trying to figure it out automatically.
|
|
# If the provided path does not point to a supported Java home that Ghidra
|
|
# supports, this property is ignored.
|
|
# NOTE: Ghidra requires a JDK to launch.
|
|
JAVA_HOME_OVERRIDE=
|
|
|
|
# Required Ghidra class loader
|
|
VMARGS=-Djava.system.class.loader=ghidra.GhidraClassLoader
|
|
|
|
# Set default encoding to UTF8
|
|
VMARGS=-Dfile.encoding=UTF8
|
|
|
|
# Set locale (only en_US is supported)
|
|
VMARGS=-Duser.country=US
|
|
VMARGS=-Duser.language=en
|
|
VMARGS=-Duser.variant=
|
|
|
|
# The following options affect rendering on different platforms. It may be necessary to play
|
|
# with these settings to get Ghidra to display and perform optimally on HiDPI monitors or in VM's.
|
|
VMARGS=-Dsun.java2d.opengl=false
|
|
VMARGS_LINUX=-Dsun.java2d.pmoffscreen=false
|
|
VMARGS_LINUX=-Dsun.java2d.xrender=true
|
|
VMARGS_LINUX=-Dsun.java2d.uiScale=1
|
|
VMARGS_LINUX=-Dawt.useSystemAAFontSettings=on
|
|
VMARGS_WINDOWS=-Dsun.java2d.d3d=false
|
|
|
|
# Fix blank windows on non-parenting windows managers such as XMonad and Sway
|
|
#ENVVARS_LINUX=_JAVA_AWT_WM_NONREPARENTING=1
|
|
|
|
# The Ghidra application establishes the default SSLContext for all
|
|
# secure client connections based upon Java's default TLS protocol enablement.
|
|
# Setting this property will restrict the enabled TLS protocol versions for
|
|
# all secure network connections. Specifying multiple protocols must be
|
|
# comma-separated (e.g., TLSv1.2,TLSv1.3). See https://java.com/en/configure_crypto.html
|
|
# for details on configuring Java's cryptographic algorithms.
|
|
VMARGS=-Djdk.tls.client.protocols=TLSv1.2,TLSv1.3
|
|
|
|
# Optionally disable server-authentication when accessed via a local loopback interface such
|
|
# as 127.0.0.1, ::1 or localhost. This permits such a server to present a self-signed certificate,
|
|
# as generated by a Ghidra Server or BSim PostgreSQL server which was configured without a server
|
|
# keystore. This should only be done under controlled situations since a rogue server on the local
|
|
# system could easily capture sensitive information passed by the client (such as a PostgreSQL
|
|
# admin password). Only loopback connections are affected; all other connections continue to be
|
|
# authenticated.
|
|
#
|
|
# NOTE: This will not work with the Ghidra Server if it has been initialized with a keystore
|
|
# unless the server has specifically been configured to use localhost interface.
|
|
#
|
|
# VMARGS=-Dghidra.disable.loopback.server.authentication=true
|
|
|
|
# Optional CA certificates file may be specified to prevent use of OS and Java default CA certificates.
|
|
# If specified, only those CA certificates specified within this file will be considered when
|
|
# authenticating server connections which use the default SSLContext. If using the defaults is desirable
|
|
# adding CAs to the OS managed certificates should be done. In the case of Unix, whose system managed
|
|
# certificate store requires root access, the 'ghidra.unix.default.cacerts' property below can be used in
|
|
# the place of 'ghidra.cacerts'.
|
|
# VMARGS=-Dghidra.cacerts=
|
|
|
|
# Optional Unix OS CA Trust Store path (does not apply to Windows or macOS). If the default set of
|
|
# Linux CA Trust Store paths, as defined by UnixSystemTrustKeyStoreUtil.java, does not include a suitable
|
|
# location where CA certificates are stored this property may specify a directory or file to be
|
|
# included when building the default OS trust store. This property is ignored if the ghidra.cacerts
|
|
# property has been set since OS trust store(s) will not be loaded.
|
|
# VMARGS=-Dghidra.unix.default.cacerts=
|
|
|
|
# Enable verbose logging for network SSL/TLS negotiations.
|
|
# This can be very useful when troubleshooting SSLHandshakeException failures which can
|
|
# manifest with very cryptic messages. All Ghidra Server communications rely on secure
|
|
# SSL/TLS connections. This VMARG should only be uncommented while actively troubleshooting
|
|
# since it will log a significant amount of data.
|
|
#
|
|
# See the "Troubleshooting JSSE" section of the following internet hosted document:
|
|
# https://docs.oracle.com/en/java/javase/17/security/java-secure-socket-extension-jsse-reference-guide.html
|
|
#
|
|
# NOTE: When this debug logging is enabled be sure to launch Ghidra with debugGhidra instead of
|
|
# ghidraRun since the detailed log output is directed to the console only. This behavior may
|
|
# vary with other launch scripts.
|
|
#
|
|
#VMARGS=-Djavax.net.debug=ssl
|
|
|
|
# The following property will limit the number of processor cores that Ghidra
|
|
# will use for thread pools. If not specified, it will use the default number
|
|
# of processors returned from Runtime.getRuntime().getAvailableProcessors().
|
|
# Otherwise, it will use the min of the value returned from Runtime and the
|
|
# value specified by the following property.
|
|
VMARGS=-Dcpu.core.limit=
|
|
|
|
# The following property is a way to exactly specify the number of processor
|
|
# cores that Ghidra will use for thread pools. Note: this will supersede the
|
|
# above 'cpu.core.limit' value if it is set.
|
|
VMARGS=-Dcpu.core.override=
|
|
|
|
# Default font size for many java swing elements.
|
|
VMARGS=-Dfont.size.override=
|
|
|
|
# Set Jython console encoding (prevents a console error)
|
|
VMARGS=-Dpython.console.encoding=UTF-8
|
|
|
|
# Eclipse on macOS can have file locking issues if the user home directory is networked. Therefore,
|
|
# we will disable file locking by default for macOS. Comment the following line out if Eclipse file
|
|
# locking is needed and known to work.
|
|
VMARGS_MACOS=-Declipse.filelock.disable=true
|
|
|
|
# Where the menu bar is displayed on macOS
|
|
VMARGS_MACOS=-Dapple.laf.useScreenMenuBar=false
|
|
|
|
# Make the title bar adaptable to macOS theme
|
|
VMARGS_MACOS=-Dapple.awt.application.appearance=system
|
|
|
|
# Prevent log4j from using the Jansi DLL on Windows.
|
|
VMARGS_WINDOWS=-Dlog4j.skipJansi=true
|
|
|
|
# Custom class loader usage forces class data sharing to be disabled which produces a warning.
|
|
# Ghidra does not use class data sharing, so explicitly turn it off to avoid the warning.
|
|
VMARGS=-Xshare:off
|
|
|
|
# Use JDK compact object headers
|
|
VMARGS=-XX:+UseCompactObjectHeaders
|
|
|
|
# Restrict XML external access
|
|
VMARGS=-Djavax.xml.accessExternalDTD=
|
|
VMARGS=-Djavax.xml.accessExternalSchema=
|
|
VMARGS=-Djavax.xml.accessExternalStylesheet=
|
|
|
|
# Enable native access (required by FlatLaf)
|
|
VMARGS=--enable-native-access=ALL-UNNAMED
|
|
|
|
# Hide unsafe memory access warning (triggered by Apache Felix)
|
|
VMARGS=--sun-misc-unsafe-memory-access=allow
|
|
|
|
# Settings directory used by the application to store application settings and data that persist
|
|
# between application sessions, system reboots, and periodic system cleanup. Overridden values
|
|
# are required to be absolute paths. The current user name may be incorporated into the settings
|
|
# directory's name if the settings directory lives outside of the user's home directory. The
|
|
# settings directory will be selected based on the following rules, in order of precedence:
|
|
# 1. System.getProperty("application.settingsdir")/[user-]<application>/<application>_<version>
|
|
# 2. System.getenv("XDG_CONFIG_HOME")/[user-]<application>/<application>_<version>
|
|
# 3. A platform specific default location:
|
|
# - Windows: %APPDATA%\<application>\<application>_<version>
|
|
# - Linux: $HOME/.config/<application>/<application>_<version>
|
|
# - macOS: $HOME/Library/<application>/<application>_<version>
|
|
#VMARGS=-Dapplication.settingsdir=
|
|
|
|
# Cache directory used by the application to store cached application data that ideally will persist
|
|
# between application sessions and system reboots, but is not required to do so. Files stored in
|
|
# the cache directory may be numerous and/or large. Overridden values are required to be absolute
|
|
# paths. The current user name may be incorporated into the cache directory's name if the cache
|
|
# directory lives outside of the user's home directory. The cache directory will be selected based
|
|
# on the following rules, in order of precedence
|
|
# 1. System.getProperty("application.cachedir")/[user-]<application>
|
|
# 2. System.getenv("XDG_CACHE_HOME")/[user-]<application>
|
|
# 3. A platform specific default location:
|
|
# - Windows: %LOCALAPPDATA%\<application>
|
|
# - Linux: /var/tmp/<user>-<application>
|
|
# - macOS: /var/tmp/<user>-<application>
|
|
#VMARGS=-Dapplication.cachedir=
|
|
|
|
# Temporary directory used by the application to store short-lived files that are not required to
|
|
# persist between application sessions. Overridden values are required to be absolute paths. The
|
|
# current user name may be incorporated into the temporary directory's name if the temporary
|
|
# directory lives outside of the user's home directory. The temporary directory will be selected
|
|
# based on the following rules, in order of precedence:
|
|
# 1. System.getProperty("application.tempdir")/[user-]<application>
|
|
# 2. System.getProperty("java.io.tmpdir")/[user-]<application>
|
|
# Unless overridden below, the "java.io.tmpdir" system property typically defaults to the following
|
|
# platform specific locations:
|
|
# - Windows: %TEMP%
|
|
# - Linux: /tmp
|
|
# - macOS: $TMPDIR
|
|
#VMARGS=-Dapplication.tempdir=
|
|
#VMARGS=-Djava.io.tmpdir=
|
|
|
|
# Disable alternating row colors in tables
|
|
#VMARGS=-Ddisable.alternating.row.colors=true
|
|
|
|
# Limit on XML parsing. See https://docs.oracle.com/javase/tutorial/jaxp/limits/limits.html
|
|
#VMARGS=-Djdk.xml.totalEntitySizeLimit=50000000
|
|
|
|
# Restrict extensions to their own 'lib' directory for loading non-Ghidra jars. This may be used
|
|
# to fix class resolution if multiple extensions include different versions of the same named class.
|
|
#VMARGS=-Dghidra.extensions.classpath.restricted=true
|
|
|
|
# Override the maximum number of allowed entries in an extension zip archive. We internally cap this
|
|
# to avoid malicious zip files from causing issues when trying to install zipped extensions.
|
|
#VMARGS=-Dghidra.extensions.maxfiles.override=10000
|
|
|
|
# Enables PDB debug logging during import and analysis to .ghidra/.ghidra_ver/pdb.analyzer.log
|
|
#VMARGS=-Dghidra.pdb.logging=true
|
|
|
|
# Enables PDB developer mode
|
|
#VMARGS=-Dghidra.pdb.developerMode=true
|
|
|
|
# Disables the loaders echoing their message log to the application.log file
|
|
#VMARGS=-Ddisable.loader.logging=true
|
|
|
|
# Prevents PyGhidra from restoring sys.modules to its original state after a PyGhidra script is run.
|
|
# Used to help debug potential issues that might arise from mucking with sys.modules.
|
|
#VMARGS=-Dpyghidra.sys.modules.restore.disable=true
|
|
|
|
# Full path to the native Swift demangler binary. This is typically named "swift", but some Swift
|
|
# installations also provide a standalone "swift-demangle" binary.
|
|
#ENVVARS=GHIDRA_SWIFT_DEMANGLER=
|
|
|