βββββββ ββββββ βββββββββ ββββββ ββββββββ βββββββ βββββββ βββββββ βββββββββββ βββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββ
βββ βββββββββββ βββ ββββββββββββββ βββ ββββββββββββββ ββββββββββ ββββββ
βββ βββββββββββ βββ ββββββββββββββ βββ ββββββββββββββ βββββββββ ββββββ
βββββββββββ βββ βββ βββ ββββββ ββββββββββββ ββββββββββββββββββββββββ βββ
βββββββ βββ βββ βββ βββ ββββββ βββββββ βββ βββ βββββββ βββββββββββ βββ
Military-grade secure file destruction & advanced signature-based data recovery
Overview β’ Features β’ Installation β’ Usage β’ Architecture β’ API β’ Team
DataForgeX is a professional-grade forensic data tool designed for security professionals, digital forensics investigators, and privacy-conscious users. It combines two critical capabilities:
| Capability | Description |
|---|---|
| π₯ Secure File Wiping | Permanently destroy files using military-grade algorithms (DoD 5220.22-M, Gutmann 35-pass) |
| π Data Recovery | Recover deleted files using advanced signature-based carving techniques |
Traditional file deletion leaves recoverable traces on disk. DataForgeX provides:
- β‘ High Performance β Assembly-optimized I/O with 64KB buffers and 4MB scan blocks
- π Military-Grade Security β DoD 5220.22-M and Gutmann 35-pass algorithms
- π Smart Recovery β 12+ file type signatures with intelligent size detection
- π Modern Interface β Responsive web GUI with real-time progress tracking
- π‘ RESTful API β Full programmatic access for automation
Four destruction methods with increasing security levels:
| Method | Passes | Security | Speed | Description |
|---|---|---|---|---|
| Single Pass (Zeros) | 1 | Basic | β‘β‘β‘ | Overwrites with zeros |
| Single Pass (Random) | 1 | Good | β‘β‘β‘ | LFSR pseudo-random data |
| DoD 5220.22-M | 3 | High | β‘β‘ | US Military standard |
| Gutmann Algorithm | 35 | Maximum | β‘ | Research-grade security |
Key Features:
- Assembly-optimized LFSR random number generation
- Direct file I/O with
fsyncguarantees - Automatic file removal after secure wipe
- Real-time progress monitoring
Signature-based file carving from raw disks and disk images:
| Format | Signature | Extension | Size Detection |
|---|---|---|---|
| JPEG | FF D8 FF |
.jpg | EOI marker scan |
| PNG | 89 50 4E 47 |
.png | IEND chunk detection |
25 50 44 46 |
%%EOF marker |
||
| ZIP/DOCX/XLSX | 50 4B 03 04 |
.zip/.docx | Central directory |
| MP3 | 49 44 33 / FF FB |
.mp3 | Default estimation |
| WAV | 52 49 46 46 |
.wav | RIFF header parsing |
| 7-Zip | 37 7A BC AF |
.7z | Default estimation |
| RAR | 52 61 72 21 |
.rar | Default estimation |
| GIF | 47 49 46 38 |
.gif | Default estimation |
| BMP | 42 4D |
.bmp | Header parsing |
| ELF | 7F 45 4C 46 |
.elf | ELF header parsing |
β οΈ Note: Plain text files (TXT) cannot be recovered as they have no magic signature. DOCX/XLSX/PPTX files are detected as ZIP archives (rename after recovery).
- Modern Dark Theme β Glassmorphism design with smooth animations
- Real-Time Progress β Live scan and wipe status updates
- Native Dialogs β OS-integrated file/folder browser
- Toast Notifications β Instant feedback for all operations
- Responsive Design β Works on desktop and tablet screens
| Requirement | Version |
|---|---|
| OS | Linux x86_64 (Ubuntu/Debian/Kali) or Windows |
| CMake | 3.10+ |
| Compiler | GCC/G++ with C++20 support |
| Assembler | NASM (for Linux builds) |
# Install dependencies (Debian/Ubuntu/Kali)
sudo apt update
sudo apt install -y build-essential cmake nasm g++ libpthread-stubs0-dev
# Clone repository
git clone https://github.com/MH4S33B/DataForgeX.git
cd DataForgeX
# Build
mkdir -p build && cd build
cmake ..
make -j$(nproc)
# Run
./DataForgeXThe web interface launches automatically at http://localhost:8080
- Launch β Run
./DataForgeXand openhttp://localhost:8080 - Navigate β Choose between Dashboard, Secure Wipe, Recovery, or Settings
- Configure β Select target file or device
- Execute β Start operation and monitor real-time progress
- Verify β Check results in the operation log
1. Open "Secure Wipe" tab
2. Click "Browse" to select target file
3. Choose wipe algorithm (Zeros/Random/DoD/Gutmann)
4. Click "START SECURE WIPE"
5. Confirm the operation
6. Monitor progress until complete
1. Open "Recovery" tab
2. Enter device path (e.g., /dev/sda1) or browse for disk image
3. Click "SCAN DEVICE"
4. Wait for signature scanning to complete
5. Review discovered files in results table
6. Click "Carve" to recover individual files, or "Recover All"
7. Choose save location when prompted
π‘ Tip: For testing, create a disk image with
ddrather than scanning live partitions.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DataForgeX Web Interface β
β ββββββββββββββββββββ¬βββββββββββββββββββ¬ββββββββββββββββββββββ β
β β Secure Wipe β Data Recovery β Settings β β
β ββββββββββββββββββββ΄βββββββββββββββββββ΄ββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β HTTP REST API (Port 8080)
ββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β C++ HTTP Server (server.cpp) β
β Endpoints: /api/wipe /api/scan /api/carve /api/browse β
ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Core Backend (backend.cpp) β
β ββββββββββββββββββ¬ββββββββββββββββββ¬βββββββββββββββββββββββββ β
β β SecureWipe β RecoveryMgr β FileOperations β β
β β - Zero/Random β - Signature β - Browse Dialog β β
β β - DoD/Gutmann β - Carving β - Save Dialog β β
β ββββββββββββββββββ΄ββββββββββββββββββ΄βββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Assembly Modules (NASM x86_64) β
β wiper.asm: LFSR PRNG recovery.asm: Scanner β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Technology |
|---|---|
| Core | C++20 with modern features |
| Performance | NASM x86_64 assembly modules |
| I/O | POSIX direct file operations |
| Server | Custom HTTP/1.1 implementation |
| Frontend | HTML5, CSS3 (Tailwind), Vanilla JS |
| Icons | Font Awesome 6 |
DataForgeX/
βββ CMakeLists.txt # Build configuration
βββ DataForgeX.h # Main header exports
βββ main.cpp # Application entry point
βββ LICENSE # MIT License
βββ README.md # Documentation
β
βββ asm/ # Assembly modules
β βββ wiper.asm # LFSR random buffer generation
β βββ recovery.asm # File signature scanning
β
βββ backend/ # C++ backend
β βββ backend.h # Core API declarations
β βββ backend.cpp # Wipe/recovery implementations
β βββ server.h # HTTP server declarations
β βββ server.cpp # HTTP server & API handlers
β
βββ gui/ # Web frontend
βββ index.html # Main application GUI
βββ index.css # Application styles
βββ script.js # Application logic
βββ landing.html # Landing page
βββ landing.css # Landing styles
βββ landing.js # Landing scripts
βββ logo.png # Project logo
| Method | Endpoint | Description |
|---|---|---|
GET |
/ |
Serve main application GUI |
GET |
/api/browse |
Open native file browser dialog |
GET |
/api/progress |
Get current scan progress (0-100%) |
GET |
/api/results |
Get scan results with file list |
| Method | Endpoint | Request Body |
|---|---|---|
POST |
/api/wipe |
{"filepath": "/path/to/file", "method": "0-3"} |
POST |
/api/scan |
{"devicePath": "/dev/sda1"} |
POST |
/api/carve |
{"devicePath": "...", "offset": "...", "size": "...", "type": "...", "outputPath": "..."} |
POST |
/api/save-dialog |
{"type": "JPEG", "offset": "0x1000"} |
All API responses are JSON:
{
"status": "success",
"message": "Operation completed",
"data": { ... }
}π΄ CRITICAL WARNING
| File wiping is PERMANENT and IRREVERSIBLE | |
|---|---|
| οΏ½ | Double-check target files before execution |
| π« | Wiped data cannot be recovered by any means |
| π― | Ensure you have selected the correct file |
| π | Use recovery features only on authorized devices |
| βοΈ | Ensure compliance with local data protection laws |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Open a Pull Request
Made with β€οΈ