CRC-manipulator
CRC-manipulator copied to clipboard
Change CRC checksums of your files.
CRC-manipulator
A tool that lets you reverse and freely change CRC checksums through smart file patching.
Note
This repository is no longer maintained. The focus has shifted to a Python variant of this tool (the performance is equivalent).
Features
- Patching and calculating CRC checksums for:
- CRC32
- CRC32POSIX (
cksumfrom GNU coreutils) - CRC16CCITT
- CRC16IBM
- Available for GNU/Linux and Windows.
- Minimal GUI (supports CRC32 only; for more advanced options, use CLI version).
How it works
It appends a few bytes at the end of the file so that the file checksum computes to given hexadecimal hash.
Seeing it in action
GUI version:

CLI version:

Binaries for Windows
To download precompiled binaries for Windows, head over to releases.
Compiling
-
Make sure you have
g++python3-setuptoolsandpython3-wheelpackages installed -
Install Meson and Ninja
pip3 install meson ninja -
Run following
meson build --buildtype release ninja -C buildThe
crcmanip-guiis not compiled by default. If you want to compile it, make sure you haveqt5packages installed. Then replace the third step above with this one:meson build -Dgui=true --buildtype release ninja -C build
Cross-compiling for Windows without GUI
-
Install
mingw-w64 -
Replace the content of the
cross_mingw_i686.txtandcross_mingw_x86_64.txtfiles with the one of themingw-w64files that you can find here -
Build the binaries
Windows 32-bit
meson build_windows32 \ --buildtype release \ --cross-file cross_mingw_i686.txt ninja -C build_windows32Windows 64-bit
meson build_windows64 \ --buildtype release \ --cross-file cross_mingw_x86_64.txt ninja -C build_windows64
Cross-compiling for Windows with GUI
-
Install
mxe -
Add the
mxepath to the environment variablePATH -
Install the static version of the qt5 library
Windows 32-bit
cd your/path/to/mxe/ make MXE_TARGETS=i686-w64-mingw32.static qt5Windows 64-bit
cd your/path/to/mxe/ make MXE_TARGETS=x86_64-w64-mingw32.static qt5 -
Build the binaries
Windows 32-bit
meson build_windows32 \ --buildtype release \ -Dgui=true \ -Dmxe='/your/path/to/mxe/32-bit' \ --cross-file cross_mingw_i686.txt ninja -C build_windows32Windows 64-bit
meson build_windows64 \ --buildtype release \ -Dgui=true \ -Dmxe='/your/path/to/mxe/64-bit' \ --cross-file cross_mingw_x86_64.txt ninja -C build_windows64
Building tests
To build tests, simply add the -Dtests=true option to the meson command.