Integrations
Line-oriented pipelines
stng --simple malware.bin > strings.txt
Use simple output when the consumer only needs decoded text. It intentionally omits offsets, methods, classifications, and other context.
Structured pipelines
stng --json malware.bin > strings.json
Prefer JSON for triage systems, notebooks, and signature-generation tools that need offsets, encodings, extraction methods, or classifications.
Embed the extractor
stng is also a Rust library. Add the Git dependency and call the library API when process startup and JSON parsing are unnecessary. Turning off default features skips the CLI's dependencies (clap, jemalloc, logging setup, and the Rizin cache):
[dependencies]
stng = { git = "https://github.com/atomdrift-project/stng", default-features = false }
let bytes = std::fs::read("sample")?;
let strings = stng::extract_strings(&bytes, 4);
The library does not run Rizin/radare2 or cache results; that is the CLI's job, and callers that want caching provide their own.
Record the stng and Rizin/radare2 versions with long-lived analysis results. Optional tool differences can change what is recovered.