/$$$$$$$$ /$$ /$$ /$$ /$$ /$$
| $$_____/ | $$ | $$$ | $$ | $$ |__/
| $$ /$$$$$$ /$$$$$$$ /$$$$$$ | $$$$| $$ /$$$$$$ | $$ /$$ /$$ /$$$$$$$ /$$ /$$$$$$$
| $$$$$|____ $$ /$$_____/|_ $$_/ | $$ $$ $$ |____ $$| $$| $$ | $$ /$$_____/| $$ /$$_____/
| $$__/ /$$$$$$$| $$$$$$ | $$ | $$ $$$$ /$$$$$$$| $$| $$ | $$| $$$$$$ | $$| $$$$$$
| $$ /$$__ $$ \____ $$ | $$ /$$| $$\ $$$ /$$__ $$| $$| $$ | $$ \____ $$| $$ \____ $$
| $$ | $$$$$$$ /$$$$$$$/ | $$$$/| $$ \ $$| $$$$$$$| $$| $$$$$$$ /$$$$$$$/| $$ /$$$$$$$/
|__/ \_______/|_______/ \___/ |__/ \__/ \_______/|__/ \____ $$|_______/ |__/|_______/
@UmbraDeorum /$$ | $$
|| $$$$$$/
\______/
//WARNING: Removing unreachable block (ram,0x0000116f)
//WARNING: Removing unreachable block (ram,0x000011a4)
//WARNING: Removing unreachable block (ram,0x000011b0)
FastNalysis is an automated binary analysis tool designed for CTF players and security researchers. It combines multiple analysis techniques into a single comprehensive report with intelligent highlighting of dangerous functions and security vulnerabilities.
- 🔍 Comprehensive Analysis: ELF headers, security features, dependencies, symbols, and more
- 🎨 Smart Highlighting: Automatically highlights dangerous functions and security issues in red
- 🧩 Decompilation: Integrated radare2/r2ghidra decompilation of user-defined functions
- 🛡️ Security Analysis: Checksec integration, stack canaries, PIE, RELRO, NX detection
- 🔬 Dynamic Analysis: System call tracing (strace), library call tracing (ltrace), memory leak detection (valgrind)
- 📊 Disassembly: Full objdump disassembly with section headers
- 🎯 CTF-Focused: Optimized for quick vulnerability identification in CTF challenges
# Clone the repository
git clone https://github.com/yourusername/FastNalysis.git
cd FastNalysis
# Make scripts executable
chmod +x FastNalysis.sh requirements.sh
# Install dependencies
./requirements.sh# Basic analysis
./FastNalysis.sh <binary_file>
# With command-line arguments (passed to binary for dynamic analysis)
./FastNalysis.sh <binary_file> arg1 arg2./FastNalysis.sh ./vulnerable_binaryFastNalysis requires the following tools:
file- File type identificationreadelf- ELF binary inspectionnm- Symbol extractionstrings- String extractionobjdump- Disassemblyxxd- Hex dumpldd- Shared library dependencies
strace- System call tracingltrace- Library call tracingvalgrind- Memory leak detection
pwntools- Security feature checking (checksec)radare2- Binary analysis frameworkr2ghidra- Ghidra decompiler plugin for radare2
All dependencies can be installed automatically using the included requirements.sh script.
-
File Information
- File type detection
- Architecture and binary format
-
ELF Header
- Machine type, entry point, program/section headers
- Binary characteristics
-
Security Features
- Stack canaries
- NX (No-Execute)
- PIE (Position Independent Executable)
- RELRO (Relocation Read-Only)
- RWX segments
-
Dependencies
- Shared libraries
- Symbol versions
-
Symbols
- Exported functions (color-coded by type)
- Imported functions
- Global variables
-
Strings
- Embedded strings (length > 5)
- Potential passwords, flags, or interesting data
-
Section Headers
- Memory layout
- Section permissions
-
Disassembly
- Complete disassembly of executable sections
- Dangerous function highlighting
-
Decompilation
- User-defined functions only
- Clean pseudocode output
- Automatic function detection
-
System Calls
- Complete system call trace during execution
- File operations, network activity, process management
-
Library Calls
- Standard library function calls
- Function arguments and return values
-
Memory Analysis
- Memory leaks
- Invalid reads/writes
- Uninitialized values
- Stack/heap corruption
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
- radare2 - Binary analysis framework
- r2ghidra - Ghidra decompiler integration
- pwntools - CTF framework
- Valgrind - Memory debugging tool
- macOS lacks strace/ltrace (use dtruss/dtrace as alternatives)
- Large binaries may produce very long output
⭐ Star this repository if you find it useful! ⭐
Made with ❤️ for the CTF and security research community