Crate synchrony_rs

Crate synchrony_rs 

Source
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 the synchrony binary (disabled in no-default-features builds).
  • tracing: enables debug logging via the tracing crate.

§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.