Expand description
§synchrony-rs
A fast JavaScript deobfuscator written in Rust.
§Quick start
use synchrony_rs::{DeobfuscateOptions, Deobfuscator};
use synchrony_rs::transformers::Simplify;
use std::sync::Arc;
let deob = Deobfuscator::new();
let options = DeobfuscateOptions {
custom_transformers: Some(vec![Arc::new(Simplify::new())]),
..Default::default()
};
let output = deob.deobfuscate_source("var a = 1;", Some(options)).unwrap();
assert!(output.contains("a"));§Custom options
use synchrony_rs::{Deobfuscator, DeobfuscateOptions, SourceType};
let deob = Deobfuscator::new();
let options = DeobfuscateOptions {
source_type: SourceType::Script,
rename: false,
..Default::default()
};
let _ = deob.deobfuscate_source("var a = 1;", Some(options)).unwrap();§Features
cli: enables thesynchronybinary (disabled inno-default-featuresbuilds).tracing: enables debug logging via thetracingcrate.
§CLI
Build the CLI with default features and run synchrony --help for usage.
Re-exports§
pub use context::Context;pub use deobfuscator::DeobfuscateOptions;pub use deobfuscator::Deobfuscator;pub use deobfuscator::SourceType;pub use error::DeobfuscateError;pub use error::Result;
Modules§
- context
- Deobfuscation context and shared state.
- deobfuscator
- Deobfuscator - Main entry point for deobfuscation
- error
- Error types for the deobfuscator.
- format
- Biome-based JavaScript formatter helpers.
- options
- Shared option parsing helpers.
- scope
- Scope analysis helpers.
- transformers
- Transformer pipeline and exports.