241590-Adam/RE-Detective-Malware-Analysis-Training-Platform

GitHub: 241590-Adam/RE-Detective-Malware-Analysis-Training-Platform

Stars: 0 | Forks: 0

# RE Detective – Malware Analysis Training Platform PyQt5-based desktop application for learning malware analysis through progressive CTF challenges. ## What is this project? A complete malware analysis training platform where students analyze simulated malware samples, find flags, and build attack chains. ## Tech Stack | Category | Technologies | |----------|--------------| | GUI | PyQt5 | | Database | SQLite | | Assembly | Custom disassembler with API pattern recognition | | Reporting | PDF/TXT export (ReportLab) | | Language | Python | ## Features ### 6 Progressive CTF Cases | Case | Type | Difficulty | |------|------|------------| | 1 | Fake Keylogger | Easy | | 2 | Trojanized Calculator | Easy | | 3 | Packed Downloader | Medium | | 4 | Anti-Debug RAT | Medium | | 5 | Buffer Overflow Exploit | Hard | | 6 | Multi-Stage Malware (APT) | Hard | ### Assembly Disassembler - Real assembly listing from binary analysis - API pattern recognition (SetWindowsHookEx, CreateRemoteThread, etc.) - Generated assembly from strings and imports ### Detective Board - Interactive drag-drop node graph for attack chain reconstruction - Arrow-based connections between evidence - Save/load board state ### Progressive Hint System - Hint costs 50% of flag points - Flag N hint unlocks after Flag N-1 solved - Points deducted automatically ### SOC Dashboard - Case selection with status tracking - Real-time score updates - Threat meter based on progress ### Report Export - PDF export with ReportLab - TXT export (no dependencies) - Includes: case summary, submitted flags, high-risk evidence, analyst notes ## Quick Start ### Prerequisites pip install PyQt5 reportlab Run the Application bash python main.py Default Login Username: analyst (auto-created) Project Structure text re_detective_final/ ├── main.py # Entry point ├── database/ │ └── db_manager.py # SQLite operations ├── core/ │ └── case_engine.py # Case logic ├── gui/ │ ├── main_window.py # Main window │ ├── dashboard.py # Dashboard panel │ ├── case_select.py # Case selection │ ├── workspace.py # Investigation workspace │ ├── detective_board.py # Attack chain graph │ ├── challenge_panel.py # CTF challenges │ ├── hint_panel.py # Hint purchase system │ ├── timeline_panel.py # Activity log │ └── theme.py # Dark theme styling ├── reports/ │ └── report_exporter.py # PDF/TXT export └── data/ ├── re_detective.db # SQLite database └── cases_config/ └── cases.json # Case definitions Sample CTF Flags Case Flag Example Keylogger FLAG{SETWINDOWSHOOKEX} Trojan FLAG{UPDATE-SERVICE.NET} Packed FLAG{7.91} Why This Project Matters ✅ Reverse Engineering: Assembly analysis and API recognition ✅ CTF Experience: 6 progressive challenges with flags ✅ Full Desktop App: PyQt5 GUI with professional styling ✅ Attack Chain Visualization: Drag-drop graph for blue team reporting Author Muhammad Zain Tanveer