# 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 # 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 # Force PKI server authentication of all HTTPS and Ghidra Server connections by # specifying path to installed CA certificates file. # VMARGS=-Dghidra.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 "Troubleshoting 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 # #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 # Persistent cache directory used by the application. This directory will be used to store # persistent application caches for all users. The default location for Mac/Linux is the same as # specified by java.io.tmpdir property. The default location for Windows corresponds to the # application local settings directory for the user (e.g., %LOCALAPPDATA%). If you wish to use a # directory with more storage or avoid system cleanups, it may be desirable to override the default # location. #VMARGS=-Dapplication.cachedir= # Temporary directory used by the application. This directory will be used for all temporary files # and may also be used for the persistent user cache directory /-Ghidra. # The specified directory must exist and have appropriate read/write/execute permissions #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 # 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