A powerful, command-line file recovery tool for .CHK files, written in Go. Licensed under the MIT License.
proCHK is a modern, cross-platform utility inspired by classic CHK file recovery tools. It scans .CHK files created by the Windows CHKDSK or SCANDISK utilities and identifies files based on their binary signatures, statistical analysis, and internal structure.
- Extensive File Support: Recognizes a huge range of file formats, including modern images (HEIC, AVIF), RAW photos (CR2, NEF), office documents (DOCX, ODT), archives, and databases.
- Deep Scan: Scans every byte of a
.CHKfile to find embedded files, not just signatures at the beginning. - Recursive Search: Optionally scans all subdirectories of a source folder for
.CHKfiles. - Smart Text/JSON Detection: Uses statistical analysis to identify plain text files (TXT) and then validates them to check if they are structured JSON files.
- Flexible Recovery: Choose to skip already recovered files or create unique filenames for multiple versions.
- Cross-Platform: Written in Go, it can be compiled and run on Windows, macOS, and Linux.
To compile proCHK from the source, you need to have Go (version 1.16 or later) installed on your system.
- Clone the repository or download the source code.
- Navigate to the project directory in your terminal and run the build command:
This will create an executable named
go build prochk.go
prochk(orprochk.exeon Windows).
Run the program from your terminal, providing the source path and any optional flags.
./prochk -source "/path/to/chks" -dest "/path/to/output" [options]-source: (Required) The path to the folder containing your .CHK files.-dest: (Optional) The path to the output folder where recovered files will be saved. If this parameter is omitted, you will be prompted to enter it.-recursive: (Optional) Searches for .CHK files within all subdirectories of the source folder.-skip: (Optional) Skips the recovery of a file if another file with the same identified name already exists in the destination. By default, the program will create a unique name by adding a number suffix (e.g.,filename-1.jpg).-log: (Optional) Creates a log file namedprochk.logdetailing the results of the recovery process.
proCHK automatically detects and recovers a comprehensive list of file types. Supported formats include:
3DS, AI, AVIF, BMP, CDR, CR2, EPS, FPX, GIF, HEIC, JPG, NEF, PNG, PSD, PSP, TIF, WEBP, WPG.
DOC, DOCX, HLP, ODP, ODS, ODT, PDF, PPT, PPTX, PST, RTF, WRI, XLS, XLSX.
3GP, ASF, AVI, FLAC, FLV, M4A, MID, MKV, MOV, MP3, MP4, MPG, MPEG, OGG, RMI, SWF, WAV, WebM, WMV.
7z, ACE, CAB, GZ, RAR, ZIP.
BDSPROJ, CLASS (Java), HTM, HTML, PY (Python), SH (Shell Script).
ACCDB, CHM, CLP, DLL, DWG, EXE, ICS, LNK, MDB, NC, OCX, OTF, SQLite3, TORRENT, TTF, URL, VCF, TXT, JSON.
This project is licensed under the MIT License.
See the LICENSE file in this repository for the full license text.