Skip to content

SyedShaheerHussain/PE-ELF_File_Analyzer_GUI-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 File Analyzer (Reverse Engineering)

A powerful reverse engineering + forensic file analysis tool built with Python and PySide6.
This tool allows users to analyze executables, documents, and multiple file types in a single modern GUI.

Created by: Syed Shaheer Hussain
GitHub: https://github.com/syedshaheerhussain


πŸš€ Introduction

The Universal File Analyzer v4 PRO is an advanced desktop application designed for:

  • Reverse Engineering
  • Malware Analysis
  • File Forensics
  • Document Inspection
  • Binary Structure Analysis

It combines multiple analysis engines into a single interface supporting both binary files and document formats.


πŸ“Έ Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5

Screenshot 6

Screenshot 7

Screenshot 8

🎯 Objectives

  • Provide a unified file analysis platform
  • Support multiple file formats
  • Display deep internal file structures
  • Help learners understand reverse engineering
  • Provide entropy-based security analysis
  • Offer a modern GUI experience

πŸ’‘ Key Concepts

  • File parsing (PE / ELF / Documents)
  • Binary analysis
  • Entropy calculation (malware detection)
  • Strings extraction
  • Hexadecimal analysis
  • Tree-based structure visualization
  • GUI development with PySide6

πŸ›  Languages & Technologies Used

  • Python 3.x
  • PySide6 (Qt GUI Framework)
  • PEfile (Windows executable parsing)
  • pyelftools (Linux ELF parsing)
  • pdfminer.six (PDF extraction)
  • python-docx (Word document parsing)
  • BeautifulSoup4 (HTML parsing)

πŸ“¦ Technologies / Libraries / Tools

Tool Purpose
PySide6 GUI Framework
PEfile PE file parsing
pyelftools ELF file parsing
pdfminer.six PDF text extraction
python-docx DOCX parsing
BeautifulSoup HTML parsing
Python standard libraries Core logic

πŸ“ GUI / Project Structure


universal_analyzer_v4/
β”‚
β”œβ”€β”€ main.py
β”œβ”€β”€ gui.py
β”œβ”€β”€ detector.py
β”œβ”€β”€ entropy.py
β”œβ”€β”€ exporter.py
β”œβ”€β”€ utils.py
β”‚
β”œβ”€β”€ parsers/
β”‚   β”œβ”€β”€ pe.py
β”‚   β”œβ”€β”€ elf.py
β”‚   β”œβ”€β”€ docx_parser.py
β”‚   β”œβ”€β”€ pdf_parser.py
β”‚   β”œβ”€β”€ html_parser.py
β”‚   β”œβ”€β”€ text_parser.py


βš™οΈ Installation & Setup

1. Clone Repository

git clone https://github.com/syedshaheerhussain/universal-file-analyzer.git
cd PE-ELF_File_Analyzer

2. Install Dependencies

pip install pyside6 pefile pyelftools python-docx pdfminer.six beautifulsoup4

3. Run Application

python main.py

▢️ How to Run

  1. Open terminal / command prompt
  2. Navigate to project folder
  3. Run:
python main.py
  1. GUI will open
  2. Click Open File
  3. Select any file (EXE, PDF, DOCX, TXT, HTML, ELF)

πŸ§ͺ Features

πŸ”Ή File Support

  • .exe
  • .dll
  • .elf
  • .pdf
  • .docx
  • .txt
  • .html
  • .xlsx

πŸ”Ή Analysis Features

  • PE Structure Analysis
  • ELF Structure Analysis
  • Imports & Exports Viewer
  • Sections Viewer
  • Strings Extraction
  • Hex Viewer
  • Document Parsing
  • Entropy Analysis (Malware Detection)

πŸ”Ή GUI Features

  • Modern Dark UI
  • Tab-based layout
  • Search system
  • Export functionality
  • Tree-based structure view
  • Responsive interface

πŸ”Ή Security / Forensics Features

  • File entropy detection
  • Packed file detection (high entropy)
  • Suspicious binary identification
  • Deep file inspection

βš™οΈ Functions / How It Works

1. File Detection

Automatically detects file type using extension.

2. Parsing Engine

Each file type is routed to a dedicated parser:

  • PE β†’ pefile
  • ELF β†’ pyelftools
  • DOCX β†’ python-docx
  • PDF β†’ pdfminer
  • HTML β†’ BeautifulSoup

3. Structure Builder

Creates hierarchical tree view:

  • Sections
  • Imports
  • Exports
  • Document paragraphs
  • Tables

4. Strings Extraction

Scans binary data and extracts readable text.


5. Hex Viewer

Displays raw binary in hexadecimal format.


6. Entropy Analyzer

Calculates randomness of file:

  • Low β†’ Normal file
  • Medium β†’ Suspicious
  • High β†’ Packed / Malware-like

7. Export System

Exports analysis into JSON format.


8. Search Engine

Search inside:

  • Strings
  • Hex
  • Info panel

πŸ“Š Working Code Example

from entropy import entropy

data = open("sample.exe", "rb").read()
print(entropy(data))

πŸ§ͺ Example Use Case

Malware Analysis

  1. Load suspicious .exe
  2. Check entropy (high = packed)
  3. Inspect imports (suspicious API calls)
  4. Extract strings (URLs, commands)
  5. Analyze structure

Document Forensics

  1. Load PDF or DOCX
  2. Extract hidden text
  3. Analyze metadata
  4. Search keywords

πŸ“Œ Objectives Achieved

βœ” Multi-file analyzer βœ” Reverse engineering support βœ” Malware detection via entropy βœ” GUI-based inspection tool βœ” Cross-format file support βœ” Export system βœ” Search engine


πŸ‘¨β€πŸ’» Learning Outcomes / What I Learned

  • File structure analysis (PE & ELF)
  • GUI development using PySide6
  • Binary data processing
  • Malware detection basics
  • File parsing techniques
  • Software architecture design
  • Modular programming

πŸ“’ Target Audience

  • Cybersecurity students
  • Reverse engineering learners
  • Malware analysts
  • Software developers
  • Ethical hackers
  • Researchers

πŸš€ Future Enhancements

  • Disassembler integration (Capstone)
  • Function call graph
  • Live memory analysis
  • Malware sandbox
  • Plugin system (IDA-style)
  • Advanced UI dashboards
  • Real-time file monitoring

⚠️ Important Notes / Disclaimer

  • This tool is for educational purposes only
  • Do NOT use on unauthorized systems
  • Some binaries may not parse fully (packed files)
  • Large files may take time to analyze

🧯 Cautions

  • Do not run unknown executables outside sandbox
  • High entropy files may be malware
  • Always verify file sources

πŸ’» Implementation & Value

This project demonstrates:

  • Advanced Python programming
  • GUI application development
  • Cybersecurity fundamentals
  • Reverse engineering concepts
  • Real-world forensic tool design

πŸ“Œ Support & Engagement

If you like this project:

⭐ Star this repository πŸ” Share with others πŸ‘€ Follow developer: πŸ‘‰ https://github.com/syedshaheerhussain


🧠 License

This project is open-source for educational use. You may modify and improve it for learning purposes.


🏁 Final Words

This project is a mini reverse engineering + forensic suite built for learning and research purposes. It can be expanded into a professional-grade security tool with advanced features.


Releases

Packages

Used by

Contributors

Languages