Commit Graph
3 Commits
Author SHA1 Message Date
Alexander Kiselev 35716fe468 Enhance tests for disassembly, patching, and querying commands
- Refactor disassembly tests to dynamically resolve addresses and validate instruction schemas.
- Introduce error handling tests for invalid inputs in disassembly.
- Improve patching tests by validating output structure and ensuring graceful failure on invalid inputs.
- Add snapshot tests for output format regression detection in patching and querying commands.
- Update function list and memory map tests to validate JSON output against typed schemas.
- Ensure all tests utilize dynamic address resolution instead of hardcoded values for robustness.
2026-01-25 19:07:58 -08:00
Alexander Kiselev 912cd0137b feat: Add PyGhidra installation support and enhance daemon command handling
- Implemented `install_pyghidra` function to set up PyGhidra in a Python virtual environment for Ghidra installations.
- Enhanced `install_ghidra` to call `install_pyghidra` after Ghidra installation.
- Updated daemon command handling to include program name in start, restart, and stop commands.
- Refactored project path resolution to streamline project management.
- Improved socket path handling to respect `GHIDRA_CLI_SOCKET` environment variable for testing.
- Modified tests to remove ignore flags, allowing for automated testing without Ghidra installation.
- Added analysis step in test project setup to ensure comments and other features work correctly.
2026-01-25 16:39:23 -08:00
Alexander KiselevandClaude Opus 4.5 a1cf872189 feat: Implement all analysis commands with daemon routing
Add complete implementation for all stub commands:
- Symbol operations (list, get, create, rename, delete)
- Type operations (list, get, create, apply)
- Comment operations (list, get, set, delete)
- Graph operations (calls, callers, callees, export)
- Find operations (string, bytes, function, calls, crypto, interesting)
- Diff operations (programs, functions)
- Patch operations (bytes, nop, export)
- Script operations (list, run, python inline)
- Disasm command (disassembly at address)
- Batch operations (execute commands from file)
- Stats command (program statistics)

Fix critical routing bug where new commands fell through to
"Command not yet implemented" instead of being routed to daemon.

Add ExecuteCli IPC command for forwarding CLI commands through daemon.
Add comprehensive integration tests for all new commands.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 07:08:59 -08:00