Code
How nationalsecurityagency/ghidra is laid out, and where to start for common changes.
There is no import map for this report yet.
Where to start reading
- Repository root
- Repository root
- Likely public API
- Likely public API
- Suggested starting pointAI
- Suggested starting pointAI
- Suggested starting pointAI
- Suggested starting pointAI
Find files for a task
AIAdd a new processor architecture
- Define instruction semantics in SLEIGH format (.slaspec) mimicking 6502.slaspec.
- Specify calling conventions and ABI in .cspec file (e.g., 6502.cspec).
- Add Module.manifest and build.gradle following the Processors/{ARCH_NAME} pattern.
Add a new reverse-engineering feature module
- Implement feature logic in Java under src/main/java (e.g., analysis, comparison, or UI plugins).
- Add build.gradle with appropriate plugin dependencies (e.g., eclipse, application plugins).
- Include README.md explaining feature purpose, usage, and configuration.
Add a new Elasticsearch-backed plugin
- Implement Elasticsearch plugin class extending AnalysisPlugin (reference: AnalysisLSHPlugin.java).
- Define extension metadata in extension.properties (name, version, requires Elasticsearch version).
- Add build.gradle specifying Elasticsearch and Ghidra dependencies.
Configure and deploy Ghidra server
- Edit server.conf to set port, hostname, thread pool size, and network options.
- Configure JAAS authentication in jaas.conf (LDAP, external program, or custom login modules).
- Generate or import certificates using certTool utility for TLS/SSL.
- Launch server using ghidraSvr script (ghidraSvr or ghidraSvr.bat on Windows).
Change the public API
Add or update tests
Change build or automation
RepoPilot lists up to 500 files, so a file missing here may still exist.
- Files marked “likely” are guessed from their names.