A lightweight yet powerful antivirus solution with real-time protection, comprehensive scanning, and an intuitive GUI. Features include signature-based detection, heuristic analysis, and robust quarantine management.
-
Smart Scanning
- Quick, Full, and Custom scan options
- Signature-based detection using an extensible virus database
- Heuristic analysis to detect unknown threats
- Archive scanning (ZIP, RAR, etc.)
- Background scanning with minimal system impact
-
Threat Management
- Automatic threat quarantine
- Manual quarantine review and management
- Threat restoration and deletion
- Detailed threat information and analysis
-
User Interface
- Modern, intuitive GUI built with PyQt5
- Real-time scan progress and statistics
- Detailed scan reports with threat categorization
- System tray integration
-
Performance
- Multi-threaded scanning
- Low system resource usage
- Smart file skipping for better performance
- Background scanning with adjustable priority
- Python 3.7 or higher
- pip (Python package manager)
- Windows 10/11 (Linux/macOS support coming soon)
-
Clone the repository:
git clone https://github.com/zikani/simple-antivirus.git cd simple-antivirus -
Install the required dependencies:
pip install -r requirements.txt
python run_gui.pyRun a quick scan:
python -m app.cli scan --type quickRun a full system scan:
python -m app.cli scan --type fullScan a specific directory:
python -m app.cli scan --path /path/to/scan- Quick Scan: Checks common infection points
- Full Scan: Comprehensive system scan
- Custom Scan: Scan specific files or directories
- Scheduled Scans: Set up automated scans
- View quarantined items
- Restore or delete quarantined files
- View detailed threat information
- Export quarantine reports
- Configure scan sensitivity
- Set up automatic updates
- Manage exclusions
- Configure real-time protection
simple-antivirus/
βββ app/
β βββ core/ # Core functionality
β β βββ scanner.py # Scanning engine
β β βββ quarantine.py # Quarantine management
β β βββ database.py # Virus database
β βββ gui/ # GUI components
β β βββ main_window.py # Main application window
β β βββ scan_tab.py # Scan interface
β β βββ quarantine_tab.py # Quarantine management
β βββ cli/ # Command line interface
β βββ main.py # CLI implementation
βββ data/ # Data files
β βββ virus_definitions.json # Virus signatures
βββ tests/ # Unit tests
βββ requirements.txt # Python dependencies
βββ run_gui.py # GUI entry point
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature - Make your changes and commit them:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/your-feature - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
This antivirus is for educational purposes only. While it provides real protection, it should not be your only line of defense against malware. Always keep your system and security software up to date.
pip install secureshield-antivirus-
Clone the repository:
git clone https://github.com/yourusername/secureshield-antivirus.git cd secureshield-antivirus -
Install the required dependencies:
pip install -r requirements.txt
On Linux, you might need to install additional libraries:
# Ubuntu/Debian
sudo apt-get install libmagic1
# Fedora
sudo dnf install python3-magic
# Arch Linux
sudo pacman -S libmagicLaunch the GUI application:
simple-antivirussecureshield scan /path/to/scansecureshield create-samplesecureshield add-signature --database virus_definitions.json --name "Trojan.Example" --signature "evil_code" --type pattern --threat-level high --description "Example trojan detection"secureshield info --database virus_definitions.jsonsecureshield update --database virus_definitions.json --file update.jsonFor more information about available commands and options:
secureshield --helpUpdate the virus signature database:
python main.py --updateQuarantine a potentially harmful file:
python main.py --quarantine /path/to/suspicious/fileDisplay version information:
python main.py --version- File Scanner: Examines files for suspicious patterns and behaviors
- Signature Database: Matches files against known malware signatures
- Heuristic Analysis: Identifies potentially malicious code patterns
- Quarantine: Isolates suspicious files to prevent system harm
Scan results and system events are logged to antivirus.log in the project directory.
The virus database is stored in JSON format and contains the following components:
- Signatures: Known malware hashes and patterns
- Heuristics: Rules for detecting suspicious behavior
- Checksums: Index of file hashes for quick lookups
{
"version": "1.0.0",
"last_updated": "2023-01-01T12:00:00.000000",
"signatures": {
"sig_1": {
"name": "Trojan.Example",
"signature": "evil_code",
"type": "pattern",
"threat_level": "high",
"description": "Example trojan detection",
"added": "2023-01-01T12:00:00.000000"
}
},
"checksums": {
"md5": {
"d41d8cd98f00b204e9800998ecf8427e": "sig_1"
}
},
"heuristics": {
"heur_1": {
"name": "Suspicious.DoubleExtension",
"rule": {
"description": "Detects files with double extensions",
"conditions": [
{
"field": "filename",
"operator": "regex",
"value": "\\.[^\\.]+\\.[^\\.]+$"
},
{
"field": "extension",
"operator": "in",
"value": ["exe", "dll", "bat", "cmd", "ps1", "vbs", "js"]
}
]
},
"description": "Detects potentially malicious files with double extensions",
"added": "2023-01-01T12:00:00.000000"
}
}
}Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
This is a basic antivirus tool for educational purposes. It should not be relied upon as the sole means of protection against malware.