SecureEncrypt (AES-256 Encrypt & Decrypt)
Ön izleme gif resmi eski versiyona ait / The preview gif image is from the old version
Dosya ve klasörleri isteğe bağlı AES-256 parola koruması ile kendi kendini açabilen .cmd arşivine dönüştüren bir Windows Batch betiği.
A Windows Batch script that converts files and folders into a single, self-extracting .cmd archive, with optional AES-256 password protection.
Türkçe Tanıtım
Bu proje, bir dosyayı veya klasörü alıp, onu kendi kendini çözebilen (self-extracting) tek bir Windows komut dosyasına (.cmd) dönüştüren bir "Şifreleme" (Encrypt) betiğidir.
Oluşturulan bu .cmd dosyası, orijinal dosyanızı veya klasörünüzü içinde (isteğe bağlı olarak) AES-256 ile şifrelenmiş veya şifrelenmemiş (RAW) binary olarak barındırır. Bu .cmd dosyasını herhangi bir Windows 7, 8.1, 10, 11 ve veya Server işletim sisteminde çalıştırdığınızda, (eğer parola korumalıysa) sizden şifreyi ister ve orijinal dosyayı/klasörü güvenli bir şekilde kurtarır.
- Betik Bütünlük Koruması: Ana
SecureEncrypt.cmdbetiği, çalıştırılmadan önce kendi dosya bütünlüğünü (SHA256) kontrol eder. Eğer betik değiştirilmiş veya bozulmuşsa, güvenlik nedeniyle çalışmayı durdurur ve beklenen hash değerini gösterir. - Sağ Tık Menüsü Entegrasyonu: Betiğe çift tıklayarak, hem dosyalar hem de klasörler için "Dosyayı/Klasörü Şifrele (Secure Encrypt AES-256)" seçeneğini (kilit simgesiyle birlikte) Windows sağ tık menüsüne ekleyen/kaldıran bir kurulum sihirbazı çalışır.
- Klasör Desteği: Tüm içeriğiyle birlikte klasörleri şifreleyebilir. Klasörler otomatik olarak ZIP arşivine dönüştürülür, şifrelenir ve çözüldükten sonra otomatik olarak aynı yapıda geri yüklenir.
- Boş Klasör Koruması: Boş klasörlerin şifrelenmesini engelleyerek hata oluşmasını önler.
- Kendi Kendini Çözen (Self-Extracting): Veriyi ve veriyi çözen mantığı tek bir
.cmddosyasında birleştirir. - İsteğe Bağlı AES-256 Şifreleme: Dosyanızı/klasörünüzü parola ile koruma seçeneği sunar.
- Parola girilirse: İçerik, AES-256, PBKDF2 (10.000 iterasyon) ve rastgele Salt/IV kullanılarak şifrelenir.
- Parola girilmezse (Enter'a basılırsa): İçerik şifrelenmez. Sadece ham (RAW) binary olarak paketlenir.
- Akıllı Metin Dosyası Gizleme (XOR Obfuscation): Şifre kullanılmadığında, metin dosyaları (txt, bat, cmd, vbs, ps1, log, csv, json, xml, html, css, js vb.) için otomatik olarak XOR tabanlı basit bir gizleme (obfuscation) uygulanır. Bu, metin içeriğinin doğrudan okunmasını zorlaştırır ancak güçlü şifreleme yerine geçmez.
- Parola Doğrulama (Sentinel): Kod çözücü betik, şifreyi girdiğiniz anda (tüm dosyayı çözmeyi beklemeden) parolanın doğru olup olmadığını anında doğrular. Bu, 'magic bytes' (sentinel) kontrolü ile yapılır ve yanlış şifrede zaman kaybını veya bozulmayı önler.
- Gelişmiş Sistem Dizin Koruması:
C:\Windows,C:\Program Files,$Recycle.Bin,System Volume InformationveC:\ana dizini gibi kritik sistem klasörlerindeki dosyaların/klasörlerin yanlışlıkla şifrelenmesini engeller. Sadece kullanıcı profili (%USERPROFILE%) altındaki konumlar (İndirilenler ve Masaüstü) ile C:\ diski dışındaki tüm diskler güvenli kabul edilir. - Çoklu Dosya Koruması: Aynı anda birden fazla dosya/klasör sürüklendiğinde uyarı verir ve işlemi engeller.
- Verimli Akış (Streaming): Yüksek boyutlu dosyaları (örn. 300MB+)
OutOfMemoryException(Bellek Yetersiz) hatası vermeden işler. İlerleme çubuğu ile işlem durumunu gösterir. - Güvenli Şifre Girişi: Hem kodlayıcı hem de çözücü betiklerde şifre girişi
***karakterleri ile gizlenir ve bellekten güvenli bir şekilde temizlenir. - SHA256 Bütünlük Kontrolü: Kod çözücü betik, dosyayı kurtardıktan sonra orijinal dosyanın SHA256 hash değerini kontrol ederek verinin bozulup bozulmadığını doğrular.
- Unicode Dosya Adı Desteği: Orijinal dosya/klasör adı (özel karakterler ve Unicode dahil) kod çözücü betiğin içinde Base64 olarak saklanır ve kurtarılır.
- Salt Okunur Çıktı: Hem ana betik hem de oluşturulan
_decrypt.cmddosyası, yanlışlıkla düzenlenmeyi önlemek için 'Salt Okunur' olarak ayarlanır. - PowerShell Versiyon Uyumluluğu: PowerShell 5+ sistemlerde optimize edilmiş
Compress-Archivekullanırken, eski sistemlerde (Win7/8.1) Legacy VBScript tabanlı ZIP yöntemi ile uyumlu çalışır. - Otomatik Klasör Çıkarma: Şifrelenmiş klasörler, çözüldükten sonra PowerShell veya Shell.Application ile otomatik olarak orijinal yapılarında çıkarılır ve ZIP dosyası temizlenir.
- Geniş Uyumluluk: Windows 7, 8.1, 10, 11 ve Server üzerinde tam uyumlu çalışır.
- Bağımsızlık: Harici bir yazılıma ihtiyaç duymaz, sadece Windows'un kendi Batch ve PowerShell (v2.0+) motorlarını kullanır.
- Bu repodan
SecureEncrypt.cmdbetiğini indirin. - Betiğe çift tıklayın.
- Yönetici (UAC) izni istendiğinde "Evet" deyin.
- Kurulum menüsü göründüğünde, E (Evet) tuşuna basın.
- Kurulum tamamlandığında, betik herhangi bir dosya veya klasöre sağ tıkladığınızda menüde (kilit simgesiyle) görünecektir.
- Kaldırma: Betiği tekrar çalıştırın ve "Kaldırmak istiyor musunuz?" sorusunda E tuşuna basın.
Yöntem 1: Sağ Tık ile (Kurulum Gerekli)
- Şifrelemek istediğiniz herhangi bir dosya veya klasöre sağ tıklayın.
- Encrypt File/Folder (Secure Encrypt AES-256) seçeneğine tıklayın.
Yöntem 2: Sürükle-Bırak (Kurulum Gerekmez)
- Şifrelemek istediğiniz herhangi bir dosyayı/klasörü (örn:
MyFolderveyaMySecretFile.zip)SecureEncrypt.cmddosyasının üzerine sürükleyip bırakın.
İki yöntem için de ortak adımlar:
- Bir komut istemi açılacaktır. Güçlü bir şifre belirleyin ve Enter'a basın. (Şifresiz, sadece ham binary olarak paketlemek için Enter'a basıp geçin.)
- İşlem sırasında ilerleme çubuğu ve detaylı bilgiler gösterilir.
- İşlem tamamlandığında, aynı klasörde
MyFolder_decrypt.cmdveyaMySecretFile_decrypt.cmdadında yeni bir dosya oluşacaktır.
Önemli Notlar:
- Klasörler şifrelenirken otomatik olarak ZIP arşivine çevrilir
- Boş klasörler şifrelenemez
- Sistem klasörleri (
C:\Windows,C:\Program Filesvb.) korunur - Şifre kullanılmazsa metin dosyaları XOR ile gizlenir (binary dosyalar olduğu gibi kalır)
- Oluşturduğunuz
..._decrypt.cmddosyasını alın ve (e-posta, USB vb. ile) hedef makineye taşıyın. - Dosyaya çift tıklayarak çalıştırın.
- Eğer şifrelediyseniz, komut istemi sizden şifreyi (yine
***olarak gizli) isteyecektir. Doğru şifreyi girin. - Betik, orijinal dosyayı/klasörü (örn:
MyFolderveyaMySecretFile.zip) aynı klasöre kurtaracak ve dosya bütünlüğünü doğrulayacaktır. - Eğer bir klasör şifrelendiyse, ZIP otomatik olarak çıkarılır ve klasör yapısı geri yüklenir.
Bu betiğin güvenliği, sizin seçtiğiniz parolanın gücüne %100 bağlıdır.
- Algoritma (AES-256): Kırılamaz. Bu, bankacılık ve askeri sistemlerde kullanılan endüstri standardıdır. Bir saldırganın şifrenizi bilmeden veriyi çözmesi matematiksel olarak imkansızdır.
- Şifreniz (Sizin Sorumluluğunuz): Kırılabilir. Bir saldırgan, algoritmayı kırmayı denemez; sizin şifrenizi tahmin etmeyi (Brute-Force / Kaba Kuvvet) dener.
| Şifre Gücü | Örnek Şifre | Kırılma Süresi (Tahmini) | Güvenlik Durumu |
|---|---|---|---|
| Çok Zayıf | 1 veya 123 |
Saniyeler | GÜVENSİZ |
| Zayıf | password123 |
Dakikalar / Saatler | GÜVENSİZ |
| Güçlü | Benim!Sifrem-1990 |
Yüzyıllar | GÜVENLİ |
| Paranoyak | kirmizi-araba-77-hizli-gider? |
Trilyonlarca Yıl | KIRILAMAZ |
XOR Obfuscation Notu: Şifre kullanılmadan paketlenen metin dosyaları için uygulanan XOR gizleme, gerçek bir şifreleme değildir. Sadece içeriğin düz metin olarak görünmesini engeller. Hassas veriler için mutlaka güçlü bir parola kullanın!
Özet: Hassas veriler için ASLA zayıf şifreler kullanmayın.
- Windows 7, 8.1, 10, 11 veya Server (.NetFrameWork v4.5 gerekli - Windows 7 ve 8.1 için)
- PowerShell 2.0 veya üzeri (Tüm Windows 7 ve üzeri sistemlerde varsayılan olarak bulunur)
- Windows 7/8.1 sistemlerde klasör şifreleme için PowerShell 2.0 ve Shell.Application COM desteği
- Algoritma: AES-256-CBC
- Anahtar Türetme: PBKDF2 (RFC2898) - 10,000 iterasyon
- Salt: 16 byte rastgele
- IV: 16 byte rastgele
- Padding: PKCS7
- Bütünlük: SHA256 hash kontrolü
- Sentinel: 32-byte magic bytes (
__SECURE_ENCODE_MAGIC_BYTES_OK__) ile anında parola doğrulama
- PowerShell 5+:
Compress-Archiveile optimize edilmiş sıkıştırma - PowerShell 2.0-4.x: VBScript Shell.Application ile legacy ZIP desteği
- Çıkarma: PowerShell Expand-Archive veya Shell.Application COM
- Otomatik ZIP temizleme
- Anahtar:
default_xor_key_for_text_obfuscation_secure_encrypt - Otomatik metin/binary algılama (null byte kontrolü)
- Akış tabanlı işleme (bellek verimliliği)
- Betik İmzası Kontrolü: SHA256 hash doğrulama ile değişiklik tespiti
- Sistem Koruması: Kritik dizinlerde otomatik engelleme
- Çoklu Dosya Koruması: Tek seferde bir dosya/klasör işlemi
- Güvenli Bellek Yönetimi: Şifrelerin bellekten temizlenmesi
- Salt Okunur: Yanlışlıkla düzenlemeye karşı koruma
- Hata Yönetimi: Kapsamlı try-catch blokları ve kullanıcı dostu hata mesajları
Abdullah ERTÜRK
English Description
This project is an "Encrypt" script that takes any file or folder and converts it into a single, self-extracting Windows command script (.cmd).
This generated .cmd file contains your original file or folder, either (optionally) AES-256 encrypted or as raw, unencrypted binary data. When you run this .cmd file on any Windows 7, 8.1, 10, 11 or Server OS, it will (if password-protected) prompt you for the password and securely recover the original file/folder.
- Script Integrity Protection: The main
SecureEncrypt.cmdscript verifies its own file integrity (SHA256) before running. If the script has been modified or corrupted, it will stop execution for security and display the expected hash value. - Right-Click Menu Integration: Double-clicking the script runs an installation wizard that adds/removes an "Encrypt File/Folder (Secure Encrypt AES-256)" option (complete with a lock icon) to the Windows right-click menu for both files and folders.
- Folder Support: Can encrypt entire folders with all their contents. Folders are automatically converted to ZIP archives, encrypted, and automatically restored to their original structure after decryption.
- Empty Folder Protection: Prevents encryption of empty folders to avoid errors.
- Self-Extracting: Combines the data and the extraction logic into a single
.cmdfile. - Optional AES-256 Encryption: Provides the option to protect your file/folder with a password.
- If a password is provided: Content is encrypted using AES-256, PBKDF2 (10,000 iterations), and a random Salt/IV.
- If no password is provided (Enter is pressed): Content is not encrypted. It is only packed as raw binary data.
- Smart Text File Obfuscation (XOR): When no password is used, text files (txt, bat, cmd, vbs, ps1, log, csv, json, xml, html, css, js, etc.) are automatically obfuscated using simple XOR-based encoding. This makes the text content harder to read directly but is not strong encryption.
- Password Verification (Sentinel): The decoder script instantly verifies if the password is correct upon entry, before decrypting the entire file. This is done using a 'magic bytes' sentinel check, preventing wasted time or corruption on a wrong password.
- Advanced System Directory Protection: Prevents accidental encryption of files/folders in critical system folders like
C:\Windows,C:\Program Files,$Recycle.Bin,System Volume Information, and theC:\root directory. Only locations under the user profile (%USERPROFILE%) (Downloads and Desktop) and all disks except the C:\ disk are considered safe. - Multiple File Protection: Warns and blocks the operation if multiple files/folders are dragged at once.
- Efficient Streaming: Handles massive files (e.g., 300MB+) without
OutOfMemoryException. Shows progress bar during operations. - Secure Password Input: Password entry is masked with
***characters in both the encoder and decoder scripts and securely cleared from memory. - SHA256 Integrity Check: After extraction, the decoder script verifies the SHA256 hash of the recovered file against the original hash to ensure the data is not corrupted.
- Unicode Filename Support: The original file/folder name (including special characters and Unicode) is preserved by storing it as Base64 within the decoder script.
- Read-Only Output: Both the main script and the generated
_decrypt.cmdfile are set to 'Read-Only' to prevent accidental editing. - PowerShell Version Compatibility: Uses optimized
Compress-Archiveon PowerShell 5+ systems, while maintaining compatibility with legacy systems (Win7/8.1) using VBScript-based ZIP method. - Automatic Folder Extraction: Encrypted folders are automatically extracted to their original structure using PowerShell or Shell.Application after decryption, and the ZIP file is cleaned up.
- Wide Compatibility: Fully compatible with Windows 7, 8.1, 10, 11, and Server.
- No Dependencies: Requires no external software, using only native Windows Batch and PowerShell (v2.0+).
- Download the
SecureEncrypt.cmdscript from this repository. - Double-click the script.
- Say "Yes" to the Administrator (UAC) prompt.
- When the installation menu appears, press Y (Yes).
- Once complete, the script will appear in the right-click menu (with a lock icon) for any file or folder.
- Uninstall: Run the script again and answer Y to "Do you want to uninstall it?"
Method 1: Right-Click (Requires Installation)
- Right-click on any file or folder you want to encrypt.
- Click the Encrypt File/Folder (Secure Encrypt AES-256) option.
Method 2: Drag-and-Drop (No Installation Needed)
- Drag your file/folder (e.g.,
MyFolderorMySecretFile.zip) and drop it onto theSecureEncrypt.cmdscript file.
Common Steps for Both Methods:
- A command prompt will open. Set a strong password and press Enter. (Press ENTER to skip for unencrypted, raw binary packing.)
- Progress bars and detailed information will be displayed during the operation.
- Once finished, a new file named
MyFolder_decrypt.cmdorMySecretFile_decrypt.cmdwill be created in the same folder.
Important Notes:
- Folders are automatically converted to ZIP archives during encryption
- Empty folders cannot be encrypted
- System folders (
C:\Windows,C:\Program Files, etc.) are protected - Without a password, text files are XOR-obfuscated (binary files remain as-is)
- Take your generated
..._decrypt.cmdfile and move it to the target machine (via email, USB, etc.). - Double-click the file to run it.
- If you encrypted it, the command prompt will ask for the password (again, masked with
***). Enter the correct password. - The script will recover the original file/folder (e.g.,
MyFolderorMySecretFile.zip) in the same folder and verify its integrity. - If a folder was encrypted, the ZIP is automatically extracted and the folder structure is restored.
The security of this script is 100% dependent on the strength of your chosen password.
- The Algorithm (AES-256): Unbreakable. This is the industry standard used in banking and military systems. It is mathematically impossible for an attacker to decrypt the data without knowing your password.
- Your Password (Your Responsibility): Breakable. An attacker will not try to break the algorithm; they will try to guess your password (Brute-Force).
| Password Strength | Example Password | Time to Crack (Approx.) | Security Status |
|---|---|---|---|
| Very Weak | 1 or 123 |
Seconds | INSECURE |
| Weak | password123 |
Minutes / Hours | INSECURE |
| Strong | My!Pass-1990 |
Centuries | SECURE |
| Paranoid | red-car-77-fast-goes? |
Trillions of Years | UNBREAKABLE |
XOR Obfuscation Note: The XOR obfuscation applied to text files when no password is used is not real encryption. It only prevents the content from being viewed as plain text. Always use a strong password for sensitive data!
Summary: NEVER use weak passwords for sensitive data.
- Windows 7, 8.1, 10, 11, or Server (.NetFrameWork v4.5 required for Windows 7 and 8.1)
- PowerShell 2.0 or later (Included by default on all Windows 7 and later systems)
- PowerShell 2.0 and Shell.Application COM support for folder encryption on Windows 7/8.1 systems
- Algorithm: AES-256-CBC
- Key Derivation: PBKDF2 (RFC2898) - 10,000 iterations
- Salt: 16-byte random
- IV: 16-byte random
- Padding: PKCS7
- Integrity: SHA256 hash verification
- Sentinel: 32-byte magic bytes (
__SECURE_ENCODE_MAGIC_BYTES_OK__) for instant password verification
- PowerShell 5+: Optimized compression with
Compress-Archive - PowerShell 2.0-4.x: Legacy ZIP support via VBScript Shell.Application
- Extraction: PowerShell Expand-Archive or Shell.Application COM
- Automatic ZIP cleanup
- Key:
default_xor_key_for_text_obfuscation_secure_encrypt - Automatic text/binary detection (null byte check)
- Stream-based processing (memory efficient)
- Script Signature Check: SHA256 hash verification to detect modifications
- System Protection: Automatic blocking in critical directories
- Multiple File Protection: Single file/folder operation at a time
- Secure Memory Management: Password clearing from memory
- Read-Only: Protection against accidental editing
- Error Handling: Comprehensive try-catch blocks and user-friendly error messages
Abdullah ERTÜRK

