48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# ghidra-cli
|
|
|
|
A small, dependable command-line interface for read-only Ghidra analysis.
|
|
The repository is named `ghidra-cli`; the installed executable is `ghidr`.
|
|
|
|
The project now has its version 0.1 Rust contract foundation. The typed CLI,
|
|
public envelopes and schemas, bounded Rust/Java protocol, and synchronous
|
|
execution seam are present; store, process/sandbox, and Ghidra adapter execution
|
|
remain deliberately unconnected.
|
|
|
|
Proposed usage:
|
|
|
|
```console
|
|
ghidr doctor
|
|
ghidr inspect ./sample
|
|
ghidr functions ./sample
|
|
ghidr decompile ./sample --name main
|
|
```
|
|
|
|
Each command will identify the sample by its content, reuse compatible cached
|
|
analysis, and produce versioned JSON by default. Human-readable presentation is
|
|
available explicitly through `--format human`.
|
|
|
|
## Documents
|
|
|
|
- [PRD.md](./PRD.md) defines the product requirements and initial delivery
|
|
scope.
|
|
- [CONTEXT.md](./CONTEXT.md) defines the domain language used throughout the
|
|
project.
|
|
- [docs/adr/](./docs/adr/) records durable architectural decisions.
|
|
- [docs/research/](./docs/research/) records cited prior-art investigations,
|
|
including the Ghidra MCP comparison that informed protocol safeguards and
|
|
the post-version-0.1 roadmap.
|
|
|
|
## Status
|
|
|
|
Foundation only. Every accepted command currently returns a typed
|
|
`internal_not_implemented` runtime error instead of pretending Ghidra analysis
|
|
succeeded. Subsequent layers implement the library's synchronous executor
|
|
contract while preserving the committed schemas and reviewed fixtures.
|
|
|
|
## License
|
|
|
|
Licensed under the [Apache License 2.0](./LICENSE).
|
|
|
|
Development may use AI assistance. Maintainers remain responsible for reviewing
|
|
the resulting design and code, verifying provenance, testing behavior, and
|
|
ensuring dependency-license compatibility.
|