
Utility for recovering ES File Explorer encrypted files (.eslock)
ESLockDecryptor is a command-line tool designed to recover and decrypt files encrypted by ES File Explorer (files with the .eslock extension). It supports processing both individual files and entire directories.
[!WARNING] FOR LEGAL USE ONLY! This software is designed for educational purposes, security research, and lawful digital forensics use. It is intended to help users recover their own data or to assist authorized professionals in analyzing artifacts/evidence.
The author is not responsible for any illegal use of this tool. Usage of this software for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state, and federal laws. Developer assume no liability and are not responsible for any misuse or damage caused by this program.
.eslock files.You can download the latest pre-built binaries for your system from the Releases page.
.NET Runtime installation is not required.
Supported Platforms:
This is a Command Line Interface (CLI) tool. It is meant to be executed from a terminal (Command Prompt, PowerShell, Bash).
Do not run by double-clicking:
Correct way:
cd path/to/tool).ESLockDecryptor [<input> [<output>]] [options]
All directories are processed recursively. The output directory will have the same structure as the input directory.
If the <output> argument is omitted (Scenarios 1 & 2), the utility automatically creates a new directory in the current working location using the format:
decrypted-[timestamp]
(e.g., decrypted-20260214-231500)
Requirement: Place the ESLockDecryptor executable directly inside the folder containing the encrypted .eslock files.
./ESLockDecryptor
The tool will scan the current directory and save decrypted files to a new timestamped folder. Result location: ./decrypted-[timestamp]
Specify the path to the directory containing encrypted files. The output folder (decrypted-[timestamp]) will be created beside the specified directory.
./ESLockDecryptor "path/to/encrypted_directory"
Result location: path/to/decrypted-[timestamp]
If a file is specified, the output directory will be created beside the file.
./ESLockDecryptor "path/to/file.eslock"
Result location: path/to/decrypted-[timestamp]
Specify exactly where to take files from and where to save the decrypted versions.
./ESLockDecryptor "encrypted/path" "decrypted/path"
If the output directory is not exists, it will be created.
Main flags:
--verbose or -v. Print detailed log.--overwrite. Overwrite file if it already exists in the output directory.--read-only. Only read and print metadata (no decryption).If the file is corrupted, additional flags can be used:
--ignore-crc. Continue even if checksum verification fails.--password <password> or -p <password>. Use the provided password for decryption, ignore key from metadata.--key <key> or -k <key>. Use the provided key for decryption, ignore key from metadata.--heuristic. Heuristic metadata search and parse.--raw-decrypt <auto|full|partial[:size]>. Ignore metadata and decrypt the file with the provided key or password.Learn more How to use ESLockDecryptor.
If you prefer to build the application yourself, ensure you have the .NET 10 SDK installed.
git clone https://github.com/Piotr-Kniaz/ESLockDecryptor.git
cd ESLockDecryptor
dotnet build --configuration Release
Contributions are welcome! If you found a bug, have a feature request, or want to improve the code, feel free to help.
ESLockDecryptor is a completely free and open-source project. If you find it helpful, please consider supporting its developer.
This project is licensed under the MIT License.