- Windows 10/11 x64
- Visual Studio 2022 with Desktop development with C++ workload (includes MSVC x64 toolchain)
- CUDA Toolkit 12.x with an NVIDIA GPU (sm_75 or newer)
- Python 3.8+ (optional, for conversion/verification tools)
Open an x64 Native Tools Command Prompt for VS in the project root and run:
build.batOutput: bin\dmrcrack.exe
To adjust the GPU architecture target, edit -arch=sm_86 in build.bat:
| GPU generation | -arch value |
|---|---|
| Turing (RTX 20xx) | sm_75 |
| Ampere (RTX 30xx) | sm_86 |
| Ada (RTX 40xx) | sm_89 |
| Blackwell (RTX 50xx) | sm_100 |
build_test_bin.bat # builds test_bin_score.exe
build_test.bat # builds test_score.exe- C99, no C++ in
.cfiles - CUDA kernel code in
.cufiles - 4-space indentation,
snake_casefor all identifiers - Keep GPU kernel logic in
src/bruteforce.cu; host-side scoring helpers insrc/bruteforce.c - Do not add Windows API calls outside
src/gui.candsrc/main.c
- Fork the repository and create a feature branch
- Make your changes; ensure
build.batsucceeds without warnings - If touching scoring logic, verify with
bin\test_bin_score.exeandtools\verify_decrypt.py - Open a pull request with a clear description of the change and why it is needed
Open an issue on GitHub and include:
- OS version and GPU model
- CUDA Toolkit version (
nvcc --version) - The exact error message or unexpected behavior
- Minimal reproduction steps (anonymized
.binfile if relevant)
By contributing you agree that your contributions will be licensed under the GNU General Public License v3.0 (see LICENSE).