feat: Complete Ghidra HTTP API implementation
- Added memory operations (read/write) - Implemented cross-reference analysis - Added program analysis tools (callgraph, dataflow) - Standardized all endpoints to use structured JSON - Improved error handling and response metadata - Added comprehensive API documentation
This commit is contained in:
parent
57584581bc
commit
454c73908c
63
CHANGELOG.md
63
CHANGELOG.md
@ -6,54 +6,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
### Changed
|
|
||||||
- Updated port range calculations to use DEFAULT_GHIDRA_PORT
|
|
||||||
- Cleaned up comments and simplified code in bridge_mcp_hydra.py
|
|
||||||
- Improved error handling and response formatting
|
|
||||||
- Standardized API response structure across all endpoints
|
|
||||||
- Completed conversion of bridge/plugin protocol to pure JSON:
|
|
||||||
- All endpoints now use structured JSON requests/responses
|
|
||||||
- Removed all string parsing/formatting code from both bridge and plugin
|
|
||||||
- Standardized error handling with consistent JSON error responses
|
|
||||||
- Added detailed JSON schemas for all API endpoints
|
|
||||||
- Using only POST methods for mutation endpoints (previously mixed PUT/POST)
|
|
||||||
- Uniform camelCase parameter naming across JSON payloads
|
|
||||||
- Improved response metadata (timestamps, status codes)
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
- Completed conversion of bridge/plugin protocol to pure JSON:
|
|
||||||
- All endpoints now use structured JSON requests/responses
|
|
||||||
- Removed all string parsing/formatting code from both bridge and plugin
|
|
||||||
- Standardized error handling with consistent JSON error responses
|
|
||||||
- Added detailed JSON schemas for all API endpoints
|
|
||||||
- Using only POST methods for mutation endpoints (previously mixed PUT/POST)
|
|
||||||
- Uniform camelCase parameter naming across JSON payloads
|
|
||||||
- Improved response metadata (timestamps, status codes)
|
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- Added GHIDRA_HTTP_API.md with documentation of the Java Plugin's HTTP API
|
- Complete Ghidra HTTP API implementation:
|
||||||
- Added better docstrings and type hints for all MCP tools
|
- Memory operations (read/write)
|
||||||
- Added improved content-type handling for API requests
|
- Cross-reference analysis
|
||||||
- Added decompiler output controls to customize analysis results:
|
- Program analysis (callgraph, dataflow)
|
||||||
- Choose between clean C-like pseudocode (default) or raw decompiler output
|
- Enhanced decompiler controls:
|
||||||
- Toggle syntax tree visibility for detailed analysis
|
- Raw output vs clean pseudocode
|
||||||
- Select different simplification styles for alternate views
|
- Syntax tree visibility
|
||||||
- Useful for comparing different decompilation approaches or focusing on specific aspects of the code
|
- Multiple simplification styles
|
||||||
|
- Comprehensive API documentation (GHIDRA_HTTP_API.md, MCP_BRIDGE_API.md)
|
||||||
Example showing how to get raw decompiler output with syntax tree:
|
- Standardized JSON response formats
|
||||||
```xml
|
|
||||||
<use_mcp_tool>
|
### Changed
|
||||||
<server_name>ghydra</server_name>
|
- Unified all endpoints to use structured JSON
|
||||||
<tool_name>decompile_function_by_address</tool_name>
|
- Improved error handling and response metadata
|
||||||
<arguments>
|
- Simplified bridge code and added type hints
|
||||||
{
|
- Updated port discovery to use DEFAULT_GHIDRA_PORT
|
||||||
"address": "0x1000",
|
|
||||||
"cCode": false,
|
|
||||||
"syntaxTree": true
|
|
||||||
}
|
|
||||||
</arguments>
|
|
||||||
</use_mcp_tool>
|
|
||||||
```
|
|
||||||
|
|
||||||
## [1.4.0] - 2025-04-08
|
## [1.4.0] - 2025-04-08
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user