[STRINGS]
Extract readable strings from binary files for malware analysis, reverse engineering, and IOC discovery
Difficulty: Beginner
Category: Essential
Key Features
Text Extraction
Extract ASCII and Unicode strings from any binary file
Pattern Matching
Search for specific patterns, URLs, registry keys
Multiple Encodings
Support for ASCII, Unicode, and custom encodings
Command Line
Scriptable with extensive filtering options
Basic Usage
Extract All Strings
# Extract strings from executable
strings malware.exe
# Minimum string length (default is 3)
strings -n 10 suspicious.dll
# Include Unicode strings
strings -u malware.exe
Advanced Filtering
# Search for URLs
strings malware.exe | findstr "http"
# Search for registry keys
strings malware.exe | findstr "HKEY"
# Search for file paths
strings malware.exe | findstr "C:\\"
# Export results to file
strings malware.exe > strings_output.txt
Command Line Options
Option | Description | Example |
---|---|---|
-n [length] | Minimum string length | strings -n 8 file.exe |
-u | Include Unicode strings | strings -u malware.dll |
-o | Show offset in file | strings -o sample.bin |
-q | Quiet mode (no banner) | strings -q file.exe |
-s | Recurse subdirectories | strings -s C:\\temp\\ |
Security Use Cases
🦠 Malware Analysis
Extract IOCs and understand malware behavior without execution.
# Look for C2 domains
strings malware.exe | findstr ".com\|.org\|.net"
🔍 IOC Extraction
Identify indicators of compromise from suspicious files.
# Extract IP addresses
strings malware.exe | findstr /R "^[0-9][0-9]*\."
🔐 Reverse Engineering
Understand program functionality and find hardcoded secrets.
# Look for API calls
strings binary.exe | findstr "CreateFile\|WriteFile"
📱 Digital Forensics
Extract evidence from memory dumps and disk images.
# Process memory dump
strings memdump.dmp | findstr "password\|key"
Best Practices & Tips
Start with minimum length 6-8: Reduces noise and focuses on meaningful strings
Always include Unicode (-u): Modern malware often uses Unicode strings
Combine with grep/findstr: Use pattern matching to find specific IOCs
Look for Base64 patterns: Many malware samples encode payloads in Base64
Check for obfuscated strings: Reversed strings, XOR encoding, or simple substitutions