
ruDevolution
github.com/ruvnet/rudevolution- Category
- Cybersecurity
- Rank
- No. 1433Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- ruvnet
- GitHub
- 139 stars
- Latest release
- v0.1.0-claude-code-v2.1.91
- Date
About
First decompiler that understands code semantically — recovers original names with AI, proves every transformation with cryptographic witness chains.
What it does
ruDevolution turns bundled, minified, or obfuscated JavaScript into grouped, beautified modules. A lightweight scanner finds declarations and references, graph clustering separates related code, and contextual rules suggest readable names. It can also emit confidence data, source maps, hierarchical folders, and hashes for tracing results back to input regions.
Why it's ranked here
The project combines useful analysis stages in one Rust pipeline and exposes results through several practical interfaces. Its strongest ideas are reference-based module grouping, explainable name confidence, and standard source-map output. The caution is equally important: parsing relies on regexes and brace tracking, while the witness verifier checks internal hash consistency rather than independently proving semantic equivalence.
What's good
Each inferred name carries a confidence value and supporting evidence, which helps users separate strong context matches from structural guesses. Module boundaries derive from cross-reference weights instead of fixed file templates. Source maps use the standard version-three format. Witness records preserve the original bundle hash, module byte ranges, content hashes, and inferred-name hashes.
Tradeoffs
The parser is not a full JavaScript syntax tree parser. It recognizes selected top-level declaration forms with regexes, then scans bodies for strings, properties, and identifiers. Template contents are skipped, so some context can be missed. Low-confidence fallbacks use generic labels. Neural support is optional, and recognized GGUF or RVF models currently load as stubs without inference.
How to use it well
Use it when auditing installed JavaScript packages, studying bundled architecture, comparing releases, or building interoperability tooling. Start with its module grouping, then inspect name evidence and confidence before trusting reconstructed intent. Keep the original bundle beside the output for validation. It does not obtain unpublished source, bypass authentication or DRM, or replace legal review.
Technical notes+
Cargo.toml defines the Rust library crate ruvector-decompiler, an optional neural feature, and benchmark targets. src/lib.rs runs parsing, reference-graph construction, partitioning, heuristic inference, beautification, optional tree and source-map generation, then witness construction and self-verification. The main pipeline calls inferrer::infer_names, not neural::infer_names_neural. src/parser.rs uses cached regexes plus a single-pass byte scanner rather than a full AST. src/tree.rs performs agglomerative clustering over inter-module references. src/witness.rs hashes original byte ranges and inferred-name mappings with SHA3-256; verify_witness_chain recomputes the Merkle root from stored witness entries, but does not re-check transformed output against source semantics. src/neural.rs implements transformer and ONNX backends while treating GGUF and RVF as inactive stubs.
Observed
- License
- MIT
- Primary language
- Rust
- Packaging
- Published surfaces are described for npm as ruvector and Cargo as ruvector-decompiler; npx usage is also documented.
- Interfaces
- Rust library, command-line interface, six MCP tools, and a dashboard UI are documented.
- Input support
- The CLI accepts npm package names, local JavaScript files, and URLs.
- Library artifact
- Cargo.toml configures an rlib crate type.
- Neural dependency surface
- ONNX Runtime and ndarray are optional dependencies enabled by the neural Cargo feature.
- Tests
- Unit tests are embedded in the supplied Rust source modules, and Cargo.toml declares two Criterion benchmarks.
Read from README.md, Cargo.toml, src/lib.rs, src/tree.rs, src/error.rs, src/graph.rs, src/types.rs, src/neural.rs, src/parser.rs, src/witness.rs, src/inferrer.rs, src/training.rs, src/sourcemap.rs.
What it can do
Decompile binary code into source code
Compiled binary executable or library → Decompiled source code
Recover original variable and function names using AI
Decompiled code with generic names → Code with semantically meaningful names
Generate cryptographic witness chains for code transformations
Code transformation operations → Cryptographic proofs of transformation validity
Analyze code semantics to understand program behavior
Binary or compiled code → Semantic analysis of program functionality
Prove transformation correctness with cryptographic verification
Original and transformed code → Mathematical proof of transformation accuracy
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.