revx
Health Warn
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Rust reverse-engineering toolkit with CLI and local MCP server.
ReVX
revx is a new standalone Rust reverse-engineering workspace built around three invariants:
- one cross-platform binary for Windows, macOS, and Linux hosts,
- one workspace authority in
.revx/, - one daemon capability surface shared by CLI and MCP.
This repository is aligned to the ReVX v1 correction plan. It does not treat ad hoc HTTP routes or direct CLI-to-analysis calls as the product contract.
Current shape
The Rust workspace is split into:
revx-core: canonical model, artifact handles, capability DTOsrevx-loader: PE/ELF/Mach-O normalization, strings, relocations, debug hooksrevx-arch-x64: x86_64 decode and reference extractionrevx-arch-arm64: arm64 decode and reference extractionrevx-analysis: cross-arch recovery pipeline prototype using the canonical modelrevx-workspace: SQLite authority plus content-addressed artifact storerevx-daemon: transport-agnostic capability service, local IPC, stdio MCPrevxbinary: ultra-thin CLI (revx-query+ system SQLite; light query/status/func/xrefs/decompile/disasm)revx-enginebinary: full capability stack (analyze, object, daemon, mcp; system SQLite; default arm64 analysis)revx-microbinary: pure-std ultra-low-memory ELF analyzer (revx analyze --micro)revx-query: read-only SQLite query crate for thin CLI
Build the full toolset with:
cargo build -p revx -p revx-engine -p revx-micro --release
Optional full object/debug stack (zip/tar/xz containers + DWARF/PDB):
cargo build -p revx-engine --release --features full-loader
x86_64 decode is optional via revx-analysis feature arch-x64.
Place revx, revx-engine, and revx-micro side by side on PATH (or set REVX_ENGINE). Light commands stay in-process; heavy commands spawn revx-engine. System sqlite3 (pkg-config) is required for non-bundled builds.
Default analysis targets single-digit MB process growth (REVX_RSS_MB=8, 1 job, lean Fast snapshots). Raise only when needed via REVX_FULL_MEM=1 / REVX_RSS_MB=512. Ultra-low: REVX_MICRO=1.
When memory headroom is raised (REVX_FULL_MEM=1 or REVX_RSS_MB/REVX_RSS_KB above the 8 MB default), analysis jobs default to min(4, available cores); lean/micro stay at 1. Set REVX_JOBS to override explicitly.
Analysis depth caps are tunable per run without recompiling: REVX_MAX_GLOBAL_REFERENCES (512), REVX_MAX_CFG_BLOCKS (48), REVX_MAX_CFG_INSTRUCTIONS (192), REVX_MAX_SHARED_STRING_MAP (64), REVX_MAX_DATA_REF_SCAN_INSTS (256). An explicit value wins over the lean-mode clamp.
Benchmarks: scripts/bench.sh runs the criterion suite (cargo bench -p revx-analysis --bench analyze) in lean and full-memory passes and writes a CSV baseline to target/bench-results/<stamp>/summary.csv.
Commands
The public command surface is constrained to the v1 plan:
revx daemon start|stop|statusrevx init <path>revx add <path>revx analyze <path> [--profile fast|full]revx statusrevx surveyrevx funcsrevx func <name|addr>revx xrefs <target>revx stringsrevx search text <pattern>revx search bytes <pattern>revx evidence <subject>revx brief <query>revx report generate <topic>revx trace import <file>revx mcp serve|doctor|config|install
Workspace authority
The workspace layout is:
.revx/
project.toml
state.sqlite
artifacts/
cache/
reports/
log/
Large payloads are written into .revx/artifacts/ as content-addressed blobs. SQLite stores summaries, query fields, and artifact handles rather than raw survey/function/report payloads.
project.toml is schema-gated. Pre-v1 unstable layouts are not migrated forward; reinitialize and reanalyze instead.
IPC and MCP
- daemon transport default:
- macOS/Linux: Unix domain socket at
.revx/daemon.sock - Windows: named pipe (
\\.\pipe\revx-<hash>), path marker at.revx/daemon.pipe
- macOS/Linux: Unix domain socket at
- MCP transport default:
- stdio JSON-RPC surface exposing only high-level tools
The high-level MCP tools are:
project_openproject_statusbinary_listanalysis_runanalysis_statusbinary_surveyfunction_searchfunction_profiledecompile_functiondisassemble_functionxrefs_querycallgraph_slicestring_searchevidence_packhypothesis_createhypothesis_updatereport_generateanalysis_brieftrace_importtrace_query
MCP
Local only. Analysis uses your machine CPU/RAM.
{
"mcpServers": {
"revx": {
"url": "http://127.0.0.1:9310/mcp"
}
}
}
One-click start
| OS | Command |
|---|---|
| macOS | ./deploy/local/start-macos.sh |
| Linux | ./deploy/local/start-linux.sh |
| Windows | deploy/local/start-windows.cmd |
Release packages (GitHub Releases) ship the binary next to the starter:
| Package | Contents |
|---|---|
revx-mcp-macos-arm64 |
revx-engine + start.sh |
revx-mcp-macos-x64 |
revx-engine + start.sh |
revx-mcp-linux-x64 |
revx-engine + start.sh |
revx-mcp-windows-x64 |
revx-engine.exe + start.cmd |
# from a release folder
./start.sh # macOS / Linux
start.cmd # Windows
Stop: ./deploy/local/stop-macos.sh / stop-linux.sh / stop-windows.ps1
Publish builds: push a tag v0.1.0 (workflow .github/workflows/release.yml).
Build and smoke
cargo check
cargo test
cargo run -p revx -- init .
cargo run -p revx -- add /path/to/binary
cargo run -p revx -- analyze /path/to/binary --profile fast
cargo run -p revx -- survey
cargo run -p revx -- func main
cargo run -p revx -- brief ActiveDesk
Contributing
Issue → PR into main → CI (ci / test) green → merge (Issue closes via Fixes #N). See CONTRIBUTING.md; coding agents: AGENTS.md.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found