FLOSS
Automated string extractor that deobfuscates stack, tight, and encoded strings in malware binaries.
Technical Architecture & Overview
FLOSS, the FLARE Obfuscated String Solver, extracts strings that a plain strings scan misses. It identifies stack strings built at run time, tight strings decoded on the stack, and strings decoded in functions, then emulates the decoding routines to recover the plaintext. The tool handles Go and Rust binaries where compiler conventions hide strings from naive extraction. Output can feed directly into indicator lists.
Targeted Technical Use Cases
Recovering domains, file names, and configuration strings from malware that strings.exe misses during basic static analysis.
Evaluation & Trade-offs
Core Strengths
- +Recovers strings that static scanners report as absent.
- +Emulation-based decoding needs no debugger interaction.
- +Maintained by Mandiant alongside capa.
Trade-Offs & Limitations
- -Files larger than 64 MB abort deobfuscation unless the large-file option is set, because stack, tight, and decoded string extraction is expensive.
Defensive Security Application
Extracting candidate indicators such as domains and file names from malware samples during incident response.
Frequently Asked Questions
What is FLOSS?→
FLOSS, the FLARE Obfuscated String Solver, extracts strings that a plain strings scan misses. It identifies stack strings built at run time, tight strings decoded on the stack, and strings decoded in functions, then emulates the decoding routines to recover the plaintext. The tool handles Go and Rust binaries where compiler conventions hide strings from naive extraction. Output can feed directly into indicator lists.
What is FLOSS used for?→
Recovering domains, file names, and configuration strings from malware that strings.exe misses during basic static analysis.
What are the strengths of FLOSS?→
- +Recovers strings that static scanners report as absent.
- +Emulation-based decoding needs no debugger interaction.
- +Maintained by Mandiant alongside capa.
What are the limitations of FLOSS?→
- +Files larger than 64 MB abort deobfuscation unless the large-file option is set, because stack, tight, and decoded string extraction is expensive.
How is FLOSS used defensively?→
Extracting candidate indicators such as domains and file names from malware samples during incident response.