Real Protection. Zero Noise.
Free, Open-Source, Intelligent Antivirus & PE Repair Engine for Windows
Screenshots β’ Features β’ Compatibility β’ Architecture β’ Installation β’ Build β’ FAQ β’ Troubleshooting
VeraxCore Antivirus is a free, open-source antivirus solution for Windows built with C++17 and Qt 5.15+. It combines multiple detection engines β SHA-256 signature matching, byte-pattern scanning, PE structural analysis, and heuristic scoring β to detect and repair infected executables and DLLs without destroying them.
Unlike most antivirus tools that simply delete infected files, VeraxCore features an advanced PE repair engine that can surgically remove virus code from infected files while preserving the original program's functionality β similar to how enterprise-grade antivirus engines work.
π‘ Did you know? Most free antivirus solutions simply delete your infected programs. VeraxCore is one of the few open-source tools that can actually repair them β removing only the virus while keeping the original program intact and fully functional.
| Problem | VeraxCore Solution |
|---|---|
| Antivirus deletes your infected files | Repairs them β removes virus, keeps the program working |
| Programs crash after cleaning (0xc0000142) | Smart EP restoration β detects if virus modified the entry point |
| File sizes change after repair | Precise PE surgery β preserves overlay data & digital certificates |
| False positives on legitimate programs | Multi-engine verification β 4 detection methods must agree |
| Complex antivirus with heavy resource usage | Lightweight β under 50MB, no background services eating RAM |
| Antivirus needs internet connection | Fully offline β all engines work without internet |
| Expensive commercial antivirus licenses | 100% Free & Open Source β GPLv3, forever free |
| Antivirus breaks DLL dependencies | DLL-aware repair β different prologue restoration for DLLs |
| Can't recover quarantined files | AES-256 encrypted vault β restore anytime with full integrity |
| No visibility into scan results | Detailed JSON reports β full audit trail for every scan |
VeraxCore is designed to work across a wide range of Windows versions and architectures:
| Windows Version | Architecture | Status | Notes |
|---|---|---|---|
| Windows 11 (23H2, 24H2) | x64, ARM64 | β Fully Supported | Primary development target |
| Windows 11 (21H2, 22H2) | x64, ARM64 | β Fully Supported | |
| Windows 10 (22H2) | x86, x64 | β Fully Supported | Most tested version |
| Windows 10 (21H2, 21H1) | x86, x64 | β Fully Supported | |
| Windows 10 (1809β20H2) | x86, x64 | β Supported | |
| Windows 8.1 | x86, x64 | Not actively tested | |
| Windows 8 | x86, x64 | Limited testing | |
| Windows 7 SP1 | x86, x64 | Requires KB updates | |
| Windows Server 2019/2022 | x64 | β Supported | Server environments |
| Windows Server 2016 | x64 |
| Architecture | Support Level | Details |
|---|---|---|
| x64 (AMD64) | β Full | Primary target, all features |
| x86 (32-bit) | β Full | Complete functionality |
| ARM64 | Works through Windows x86/x64 emulation layer |
| Component | Minimum | Recommended |
|---|---|---|
| OS | Windows 7 SP1 | Windows 10/11 |
| Processor | 1 GHz single core | 2 GHz dual core |
| RAM | 256 MB | 512 MB+ |
| Disk Space | 50 MB (app) | 200 MB (app + UserData) |
| Privileges | Administrator | Administrator |
| Display | 1024Γ768 | 1280Γ720+ |
| .NET | Not required | β |
| Internet | Not required | Optional (for updates) |
2. Main Dashboard
|
3. Scanning Progress
|
4. Scan Options & Language
|
5. Quarantine Vault
|
6. Settings Interface
|
7. Installation Setup
|
VeraxCore uses four independent detection engines that work together for maximum accuracy and minimal false positives:
- 65+ built-in malware signatures with metadata
- Online signature updates from secure JSON endpoint
- SQLite storage with JSON fallback for maximum compatibility
- Each signature includes: name, family, severity, repair method, byte patterns
- Automatic seed sync on startup
- Wildcard-capable byte signatures (e.g.,
E9??????????558BEC6AFF) - Multi-pattern per signature support
- Scans first 64KB of each file (configurable)
- Pattern matching with mask support (
?= any byte) - Section-aware scanning in PE headers
- Detects suspicious PE anomalies:
- Sections with Read+Write+Execute (RWX) flags
- Entry point outside .text section
- Non-standard section names
- Abnormal SizeOfRawData vs VirtualSize ratios
- Double PE headers (dropper detection)
- Suspicious import tables
- PE32 and PE32+ (64-bit) support
- Behavioral analysis with weighted scoring (0β100)
- Configurable threshold (default: 60)
- Factors analyzed:
- Import API patterns (suspicious combinations)
- Section characteristics
- Entry point anomalies
- Resource section analysis
- String analysis
The crown jewel of VeraxCore β a professional-grade PE file repair engine that rivals commercial antivirus solutions:
- Pass 1 β Named Section Removal: Removes 25+ known virus sections:
.flx, .floxif, .sality, .sal, .virut, .vrt, .rmnet, .ramnit, .parite, .expiro, .polip, .mabezat, .tenga, .lamer, .jeefo, .hidrag, .mydoom, .bagle, .neshta, .viking, .alman, .induc, .vetor, .mikcer, .mkc - Pass 2 β RWX Section Cleanup: Detects and removes unnamed suspicious sections with Read+Write+Execute flags that aren't in the standard section whitelist
- Pass 3 β Inflated Section Trimming: Detects sections where the virus increased
SizeOfRawDatabeyondVirtualSize(Floxif technique) and trims the excess
The engine knows and protects all legitimate PE sections from any compiler:
MSVC: .text .code .rdata .data .bss .idata .edata .rsrc .reloc
.tls .crt .gfids .00cfg .pdata .xdata .debug .didat
.sxdata .voltbl .mrdata .textbss .shared .orpc .ndata
GCC: .ctors .dtors .jcr .eh_fram .gcc_exc .got .got.plt .plt
Delphi: code data bss .tls$
Go: .symtab .typelink .itablink .gosymtab .gopclntab
Rust: .rdata$r .rdata$t
Patterns: .rdata$* .text$* .data$* .CRT$* .debug$*
- Calculates
lastSectionEndfrom PE headers - Reads PE Security Directory (index 4) for Authenticode certificates
- If certificate exists: preserves it, removes virus body after it
- If no certificate: truncates to last section end
- Handles Floxif.H technique where virus body is appended as overlay
Three intelligent cases:
| Case | Condition | Action |
|---|---|---|
| Case 1 | EP was in removed virus section | Scan .text for CRT startup pattern β set new EP |
| Case 2 | EP bytes redirected (JMP/CALL) | Restore correct prologue bytes |
| Case 3 | EP is untouched | Do nothing β don't break what works |
Prologue detection:
- EXE (32-bit):
55 8B EC 6A FF(push ebp; mov ebp,esp; push -1) - DLL (32-bit):
8B FF 55 8B EC(mov edi,edi; push ebp; mov ebp,esp) - 64-bit:
48 83 EC 28 48(sub rsp,40; mov...) - CRT Scan for EXE: Pattern
558BEC6AFF68 - CRT Scan for DLL: Pattern
8BFF558BEC837D0C
- SizeOfImage recalculation based on section alignment
- PE checksum recalculation
- Automatic backup (
.bak) before any modification - Auto-restore from backup if repair fails
- File permissions preservation
| Family | Type | Technique | Detection | Repair | Files |
|---|---|---|---|---|---|
| Floxif (.Aβ.H) | Infector | EP hook + overlay append | β | β | EXE, DLL |
| Floxif.EC!MTB | Infector | EP hook + .flx section | β | β | EXE, DLL |
| Sality | Infector | Section append + EP redirect | β | β | EXE |
| Ramnit (.Aβ.G) | Infector | Section append + EP hook | β | β | EXE, DLL, HTML |
| Virut (.Aβ.E) | Infector | Code cave + EP hook | β | β | EXE, SCR |
| Neshta | Infector | Section append + file infector | β | β | EXE |
| Mikcer | Infector | EP hook + section append | β | β | EXE, DLL |
| Parite (.Aβ.B) | Infector | Polymorphic section append | β | β | EXE, DLL, SCR |
| Expiro | Infector | Code injection + section | β | β | EXE, DLL |
| Mabezat | Worm | Section append | β | β | EXE |
| Viking | Worm | Section append | β | β | EXE |
| Alman | Infector | Section append | β | β | EXE |
| Polip | Infector | EPO + section | β | β | EXE |
| Tenga | Infector | Section append | β | β | EXE |
| Jeefo | Infector | Section append | β | β | EXE |
| Hidrag | Trojan | Section append | β | β | EXE |
| Mydoom | Worm | PE manipulation | β | β | EXE |
| Bagle | Worm | PE manipulation | β | β | EXE |
| Induc | Infector | Delphi compilation | β | β | EXE, DLL |
| Vetor | Infector | Complex EPO | β | β | EXE |
| Lamer | Infector | Simple append | β | β | EXE |
| Generic CodeCave | Various | Code cave injection | β | β | EXE, DLL |
| TrojanDownloader | Trojan | Various PE manipulation | β | β | EXE |
| Generic.CodeCave!A | Various | Code cave | β | β | EXE, DLL |
- AES-256-CBC Encryption β Files encrypted using Windows BCrypt API (FIPS 140-2 compliant)
- HWID-Derived Key β Encryption key derived from machine's unique MachineGuid via SHA-256
- Secure Delete β 3-pass overwrite (zeros β 0xFF β random) before deletion
- Full Management β Restore original file, permanently delete, or view quarantine details
- Database Tracked β Every quarantined item logged in SQLite with metadata
- Size Tracking β Total vault size visible in UI
- Quick Scan β System-critical locations:
%TEMP%β Temporary files (common malware staging area)%USERPROFILE%\Downloadsβ Downloaded files%APPDATA%β Application data%LOCALAPPDATA%β Local app data%ProgramData%β Shared program data- Windows Startup folders (user + system)
- Desktop
- Full Scan β Complete drive scan with recursive directory traversal
- Custom Scan β User-selected files or folders via file dialog
- Folder Scan β Single directory with optional subdirectory recursion
- USB Auto-Scan β Automatic scan triggered on USB device insertion
- Modern Glassmorphism Design β Premium look with transparency effects
- Dark & Light Themes β Comfortable for any environment
- Real-Time Progress β Live file count, speed, and threat counter during scans
- Threat Detail View β Family name, severity, file path, detection method
- Clean/Quarantine/Delete β Per-threat action buttons
- Scan History β View past scans with results summary
- English β Full UI translation
- Arabic (Ψ§ΩΨΉΨ±Ψ¨ΩΨ©) β Full RTL UI translation
- Extensible β Add new languages via Qt
.tsfiles
- Signature Updates β Auto-download from secure JSON endpoint
- Version Check β Automatic new version detection
- Download Link β Direct link to latest release
- Progress Tracking β Real-time download progress in UI
- Start with Windows β Optional startup registration via registry
- System Tray β Minimize to notification area with context menu
- Notifications β Desktop notifications for scan completion and threats
- UAC Integration β Runs with Administrator privileges via embedded manifest
- File Associations β Right-click β "Scan with VeraxCore" (optional)
- Portable Data β All data in
UserData/next to executable (no AppData mess) - Rotating Logs β 5MB per log file, keeps last 5 rotations
- JSON Reports β Detailed per-scan reports with timestamps
- SQLite Database β Signature storage with JSON automatic fallback
- Audit Trail β Complete scan history with threat details
- ASLR β Address Space Layout Randomization enabled
- DEP β Data Execution Prevention enabled
- CFG β Control Flow Guard enabled
- Secure Coding β Buffer overflow protections throughout
- Admin Required β UAC manifest requires elevation
VeraxShield/
βββ π main.cpp # Application entry point with splash screen
βββ π Version.h # Single source of truth for version/identity
βββ π harden.h # Security hardening macros (ASLR, DEP, CFG)
βββ π manifest.xml # Windows UAC manifest (requireAdministrator)
βββ π app.rc # Windows resource file (icon, version info)
βββ π Verax.pro # Qt project file (qmake)
βββ π Verax.qrc # Qt resource collection
βββ π build.bat # Automated build script
β
βββ π src/
β βββ π core/ # Core engine (no UI dependencies)
β β βββ Scanner.cpp/.h # π Main scanning engine (4000+ lines)
β β β # β’ SHA-256 hashing
β β β # β’ Byte signature matching
β β β # β’ PE structure analysis
β β β # β’ Heuristic scoring
β β β # β’ advancedCleanThreat() PE repair
β β β # β’ repairEntryPoint()
β β β # β’ detectOriginalPrologue()
β β β # β’ recalcPeChecksum()
β β β # β’ truncateOverlay()
β β β # β’ backupBeforeRepair()
β β β
β β βββ SignatureDb.cpp/.h # π¦ Dual-mode signature database
β β β # β’ SQLite primary storage
β β β # β’ JSON automatic fallback
β β β # β’ Online update support
β β β # β’ Byte signature loading
β β β # β’ Family-based lookup
β β β
β β βββ Quarantine.cpp/.h # π¦ AES-256 encrypted vault
β β β # β’ BCrypt API encryption
β β β # β’ HWID-derived key
β β β # β’ 3-pass secure delete
β β β # β’ SQLite tracking
β β β
β β βββ Settings.cpp/.h # βοΈ Persistent settings
β β β # β’ QSettings (registry-backed)
β β β # β’ Startup registration
β β β # β’ Engine toggles
β β β # β’ Reset all functionality
β β β
β β βββ Logger.cpp/.h # π Rotating file logger
β β # β’ userDataDir() β central path
β β # β’ 5MB rotation, keep 5
β β # β’ Thread-safe (QMutex)
β β # β’ Qt message handler bridge
β β
β βββ π ui/
β β βββ MainWindow.cpp/.h # π₯οΈ Main application window
β β # β’ Scan orchestration
β β # β’ Threat list management
β β # β’ Report generation
β β # β’ Settings dialog
β β
β βββ π widgets/ # Custom UI widgets
β β βββ ScanOptionsDialog.* # Scan configuration dialog
β β βββ AboutDialog.* # About/credits dialog
β β βββ ... # Additional dialogs
β β
β βββ π utils/ # Utility functions
β
βββ π resources/
β βββ π signatures/
β β βββ seed.json # π 65+ built-in malware signatures
β βββ π sql/
β β βββ schema.sql # Database schema (signatures, quarantine, history)
β βββ π icons/ # Application icons (multi-resolution)
β βββ π themes/ # UI themes (QSS stylesheets)
β
βββ π i18n/ # π Translation files
β βββ verax_en.ts # English translations
β βββ verax_ar.ts # Arabic translations
β
βββ π third_party/ # Third-party dependencies
βββ π docs/ # Documentation
β βββ π screenshots/ # UI screenshots for README
βββ π build/ # Build output
graph TD
A["π File Input"] --> B{"π SHA-256 Lookup"}
B -->|Match| C["π¨ Known Threat"]
B -->|No Match| D{"π Byte Signature Scan"}
D -->|Match| C
D -->|No Match| E{"ποΈ PE Structure Analysis"}
E -->|Suspicious| F{"π§ Heuristic Scoring"}
E -->|Clean| G["β
Safe"]
F -->|"Score β₯ Threshold"| C
F -->|"Score < Threshold"| G
C --> H{"π€ User Action"}
H -->|Clean| I["π§ PE Repair Engine"]
H -->|Quarantine| J["π¦ AES-256 Vault"]
H -->|Delete| K["ποΈ Secure Delete"]
I --> L["Repair Pipeline"]
L --> L1["Remove Virus Sections"]
L --> L2["Fix Entry Point"]
L --> L3["Remove Overlay Virus"]
L --> L4["Recalc PE Checksum"]
L --> L5["Truncate to Correct Size"]
L --> M{"β
Verify PE Integrity"}
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β advancedCleanThreat() β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β π SETUP β
β ββ Create .bak backup β
β ββ Memory-map file (read/write) β
β ββ Parse DOS β PE β Optional β Section headers β
β ββ Detect PE32 vs PE32+ (64-bit) β
β ββ Extract fileAlign, secAlign, numSections β
β ββ Determine isDll from FILE_HEADER.Characteristics β
β β
β π STEP A0: Analyze Entry Point β
β ββ Read first bytes at EP file offset β
β ββ Check for JMP (E9/E8/EB) redirect β
β ββ Set epHasRedirect = true/false β
β β
β π STEP A1: Recover Prologue from Virus Section β
β ββ If JMP found β follow JMP target β
β ββ Search virus section for saved prologue β
β ββ If found β write back to EP location β
β β
β ποΈ PASS 1: Remove Named Infector Sections β
β ββ Match section names against 25+ virus names β
β ββ memmove() to collapse section data β
β ββ Update section table in PE header β
β ββ Decrement NumberOfSections β
β ββ Track curSize -= sectionSize β
β β
β ποΈ PASS 2: Remove Orphaned RWX Sections β
β ββ Find sections with RWX flags β
β ββ Skip if name is in standard section whitelist (35+) β
β ββ Same memmove + header update β
β ββ Track curSize -= sectionSize β
β β
β βοΈ PASS 3: Trim Inflated Sections β
β ββ For each section: β
β β correctRaw = ceil(VirtualSize / FileAlign) * FileAlign β
β ββ If SizeOfRawData > correctRaw + 0x1000: β
β β ββ Zero excess bytes β
β β ββ Update SizeOfRawData = correctRaw β
β β ββ curSize -= excess β
β β
β π― STEP C: Fix Entry Point (3 Cases) β
β ββ Case 1: EP in removed section β CRT startup scan β
β ββ Case 2: EP bytes redirected β restore prologue β
β ββ Case 3: EP untouched β DO NOTHING β
β β
β π§Ή STEP D: Zero Code Caves β
β ββ Scan for PUSHAD+delta patterns (60 E8 00 00 00 00) β
β ββ Scan for PUSHFD+PUSHAD+CALL (9C 60 E8 00 00 00 00) β
β ββ Zero each found pattern (256 bytes) β
β ββ Remove WRITE flag from .text/.code β
β β
β π STEP E: Fix Headers + Remove Overlay Virus β
β ββ Recalculate SizeOfImage from last section β
β ββ Calculate lastSectionEnd β
β ββ Read Security Directory for Authenticode cert β
β ββ certEnd = secDir.VA + secDir.Size β
β ββ If file > certEnd β virus overlay detected β
β ββ correctSize = certEnd (or lastSectionEnd if no cert) β
β ββ Recalculate PE checksum β
β β
β βοΈ STEP F: Truncate File β
β ββ finalSize = min(curSize, correctSize) β
β ββ QFile::resize(finalSize) β
β β
β β
STEP G: Verify PE Integrity β
β ββ Re-map and check DOS signature β
β ββ Check PE signature β
β ββ Verify section alignment β
β β
β β©οΈ ON FAILURE: Auto-restore from .bak backup β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
VeraxCore works out of the box in two modes β you choose on first launch:
On first launch, VeraxCore automatically asks if you want to install it to your system:
- Download the latest release from Releases
- Run
VeraxCore.exeas Administrator - On first launch, a dialog asks: "Would you like to install VeraxCore?"
- Click Yes β VeraxCore installs itself to
C:\Program Files\VeraxCore Antivirus\ - Creates Start Menu shortcut, desktop shortcut, and startup entry
- Enables automatic updates β VeraxCore checks for new versions and updates itself
- Done! VeraxCore is ready to protect your system
Don't want to install? No problem β VeraxCore is portable by design:
- Just extract and run β no installation wizard needed
- All data stored in
UserData/next to the executable - No registry pollution (except optional startup entry)
- Move the entire folder to any location, USB drive, or external disk
- Works on any Windows machine without installation
- Perfect for USB rescue drives and technician toolkits
VeraxCore includes a built-in automatic update system:
- π Version Check β Automatically checks for new versions on startup
- π₯ One-Click Update β Download and install updates from within the app
- π Signature Updates β Malware signature database updated independently
- π Update Notifications β Get notified when a new version is available
- βοΈ Configurable β Enable/disable auto-update in Settings
On first launch, VeraxCore will:
- Ask if you want to install or run in portable mode
- Create
UserData/directory structure automatically - Initialize SQLite signature database (or JSON fallback)
- Import 65+ built-in malware signatures from
seed.json - Check for available updates (if online)
- Register optional Windows startup entry (if enabled)
- Display the main dashboard β ready to scan!
- Qt 5.15+ (MSVC 2019 or MinGW 8.1+)
- C++17 compatible compiler
- Windows SDK 10.0+
- Git (for cloning)
# Clone the repository
git clone https://github.com/alisakkaf/VeraxCore-Antivirus.git
cd VeraxCore
# Option 1: Qt Creator (Recommended)
# 1. Open Verax.pro in Qt Creator
# 2. Configure kit (MSVC 2019 x86 or x64)
# 3. Build β Build Project (Ctrl+B)
# 4. Run β Run (Ctrl+R)
# Option 2: Command line (MSVC)
"C:\Qt\5.15.2\msvc2019_64\bin\qmake.exe" Verax.pro -spec win32-msvc
nmake release
# Option 3: Command line (MinGW)
"C:\Qt\5.15.2\mingw81_64\bin\qmake.exe" Verax.pro -spec win32-g++
mingw32-make release
# Option 4: Automated build script
build.batThe Verax.pro project file supports:
- MSVC 2019/2022 (x86, x64)
- MinGW 8.1+ (x86, x64)
- Qt 5.15.x and Qt 6.x
- Debug and Release configurations
All user data is stored in UserData/ directory next to the executable β no hidden AppData folders:
VeraxCore Antivirus/
βββ VeraxCore.exe # Main application
βββ *.dll # Qt runtime libraries
βββ UserData/ # π All user data here
β βββ db/
β β βββ verax.sqlite # π Signature database
β β βββ verax.sqlite-wal # SQLite write-ahead log
β β βββ verax_signatures.json # π JSON fallback cache
β βββ Logs/
β β βββ verax.log # π Current log file
β β βββ verax.log.1 # Previous log
β β βββ verax.log.2 # Older log (max 5 rotations)
β βββ Vault/
β β βββ *.qvault # π AES-256 encrypted quarantine files
β βββ reports/
β βββ scan-20260602-051530.json # π Scan report
β βββ scan-20260601-220000.json # π Older report
Q: What does VeraxCore do differently from other antivirus tools?
VeraxCore's unique advantage is its PE Repair Engine. While most antivirus tools simply delete infected files, VeraxCore can:
- Detect the exact infection type and technique used
- Remove only the virus code from the file
- Repair the PE structure (entry point, sections, size)
- Preserve the original program's functionality
This means you get your programs back β clean and working β instead of losing them forever.
Q: Will VeraxCore delete my files?
No. VeraxCore's primary approach is to repair infected files. It surgically removes virus code while preserving the original program. You always have three choices:
- Clean β Repair the file (recommended)
- Quarantine β Move to encrypted vault (recoverable)
- Delete β Permanent removal (with secure overwrite)
Q: Is VeraxCore a replacement for Windows Defender?
No. VeraxCore is designed as a complementary tool. It's especially useful for:
- Repairing infected files that Defender would just delete
- Second-opinion scanning
- Offline environments where Defender can't update
- Understanding exactly what type of virus infected your files
Q: Does it work without internet?
Yes, 100%. All four detection engines work fully offline:
- SHA-256 signatures are built into the application
- Byte patterns are embedded in seed.json
- PE analysis is entirely local
- Heuristic scoring is algorithm-based
Internet is only needed for optional signature updates.
Q: Is it really free? What's the catch?
VeraxCore is 100% free and open-source under GPLv3. No catch:
- No ads
- No telemetry or data collection
- No premium/paid version
- No feature limitations
- No trial period
- Forever free
Q: Why does it need Administrator privileges?
To scan and repair files in protected system locations:
C:\Windows\and subdirectoriesC:\Program Files\andC:\Program Files (x86)\- System startup folders
- Other user profiles (for system-wide scans)
Without admin rights, VeraxCore can still scan user-accessible files, but many system files would be skipped.
Q: What happens if repair fails?
VeraxCore has multiple safety nets:
- Pre-repair backup β A
.bakfile is created before any modification - Auto-restore β If repair fails, the backup is automatically restored
- PE verification β After repair, the PE structure is verified
- No data loss β If anything goes wrong, the original file is preserved
Q: Can it repair 64-bit executables?
Yes. VeraxCore supports both:
- PE32 (32-bit) executables and DLLs
- PE32+ (64-bit) executables and DLLs
The engine automatically detects the PE type and applies the correct repair strategy.
Q: What file types does it scan?
VeraxCore focuses on PE (Portable Executable) files:
.exeβ Executable files.dllβ Dynamic Link Libraries.scrβ Screen savers.sysβ Driver files (detection only).ocxβ ActiveX controls
It also performs SHA-256 hash matching on any file type.
Q: How do I add custom malware signatures?
Edit resources/signatures/seed.json and add entries:
{
"sha256": "your_64_char_hash_here...",
"name": "Virus:Win32/CustomName",
"family": "FamilyName",
"severity": 8,
"repairable": true,
"repair_method": "PE.SectionWipe+EP.Restore",
"byte_signatures": ["E9????????558BEC"]
}Rebuild the application or place the updated seed.json in the resources.
Q: What is error 0xc0000142 and how does VeraxCore fix it?
Error 0xc0000142 (STATUS_DLL_INIT_FAILED) means a program's initialization code failed to execute. This commonly happens when:
- A virus modifies the Entry Point (EP) of an EXE/DLL
- The virus section is removed but the EP still points to deleted code
- The PE structure is corrupted after incomplete virus removal
VeraxCore's fix:
- Detects if the EP was modified by the virus
- Scans the .text section for the CRT startup pattern
- Restores the correct EP and prologue bytes
- Recalculates all PE headers
This is the #1 reason VeraxCore exists β most free tools can't handle this.
Q: What is error 0xc000007b?
Error 0xc000007b (STATUS_INVALID_IMAGE_FORMAT) means Windows can't load the executable because:
- A dependent DLL is corrupted
- Architecture mismatch (32-bit vs 64-bit)
- PE headers are damaged
VeraxCore's fix: Repairs the DLL's PE structure, restores correct SizeOfImage, and fixes section headers.
Q: What about "Startup Load Failed" errors?
This error occurs when:
- The Entry Point is redirected to a non-existent address
- The DLL's DllMain function can't be found
- The PE overlay data is corrupted
VeraxCore's fix: Smart EP repair that correctly identifies whether the virus modified the EP and restores the proper function prologue (different for EXE vs DLL).
| Error Code | Error Name | Cause | VeraxCore Fix |
|---|---|---|---|
0xc0000142 |
DLL_INIT_FAILED | Corrupted EP or DLL | Smart EP restoration |
0xc000007b |
INVALID_IMAGE_FORMAT | Damaged PE structure | PE header repair |
0xc0000005 |
ACCESS_VIOLATION | Code in deleted section | Section removal + EP fix |
0xc0000135 |
DLL_NOT_FOUND | DLL path corrupted | DLL structure repair |
0xc000012f |
BAD_EXE_FORMAT | Invalid PE headers | Full PE reconstruction |
0xc0000018 |
CONFLICTING_ADDRESSES | Bad SizeOfImage | SizeOfImage recalculation |
| Application Error | Runtime crash | Virus code executed | Pre-execution repair |
| Startup Load Failed | Init failure | DllMain corrupted | DLL prologue restoration |
| File size changed | PE inflation | Virus appended data | Overlay truncation |
- Ensure you're running as Administrator
- Check that all Qt DLLs are present in the same directory
- Verify Windows version compatibility (Windows 7 SP1+)
- Check
UserData/Logs/verax.logfor error details
- Exclude large media files from scan scope
- Use Quick Scan instead of Full Scan for routine checks
- Close other disk-intensive applications
- Consider scanning specific folders instead of entire drives
- Check
UserData/Logs/verax.logfor repair details - The
.bakbackup file should be next to the original - Try quarantine β restore as an alternative
- Some heavily modified files may not be repairable
- Check the severity score β low scores may be false positives
- Adjust the heuristic threshold in Settings
- Report false positives via GitHub Issues
- The file's SHA-256 hash can be whitelisted
- Delete
UserData/db/verax.sqliteβ it will be recreated - The JSON fallback (
verax_signatures.json) will activate automatically - Run a signature update after database reset
Please see SECURITY.md for our security policy and how to report vulnerabilities responsibly.
This project is licensed under the GNU General Public License v3.0 β see the LICENSE file for details.
What this means:
- β Free to use, modify, and distribute
- β Source code must remain open
- β Modifications must be shared under GPLv3
- β Commercial use allowed (with GPLv3 compliance)
- β No warranty provided
Please see DISCLAIMER.md for the full disclaimer.
This software is provided "as is" without warranty of any kind. The authors are not responsible for any damage, data loss, or system instability caused by the use of this software. Always maintain backups of important files.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Areas where contributions are especially welcome:
- π¦ New malware signatures
- π New language translations
- π Bug reports with reproduction steps
- π Documentation improvements
- π¨ UI/UX enhancements
| Metric | Value |
|---|---|
| Language | C++17 |
| Framework | Qt 5.15+ |
| Core Engine | 4,000+ lines |
| Signatures | 65+ built-in |
| Virus Families | 25+ supported |
| Section Names | 25+ detected |
| Standard Sections | 35+ protected |
| Detection Engines | 4 independent |
| Encryption | AES-256-CBC |
| License | GPLv3 |
Ali Sakkaf (ΨΉΩΩ Ψ§ΩΨ³ΩΨ§Ω)
Independent Software Developer & Security Researcher
π Website β’
π» GitHub β’
π Facebook
If you find VeraxCore useful, please consider giving it a β star on GitHub! It helps others discover the project.

VeraxCore Antivirus β Real Protection. Zero Noise.
Copyright Β© 2026 VeraxCore. All rights reserved.
Made with β€οΈ by Ali Sakkaf