Can a guide be found anywhere on implementing custom kernels for hashcat?
One example that comes to mind would be implementing a kernel that mdxfind has, but hashcat doesn't have (at least, not yet).
https://www.hashes.org/mdxfind.php
If someone downloads a copy of the repository and wishes to add their own kernel, does anyone have a list of steps that are necessary in order to accomplish that?
Is it as simple as adding files to the OpenCL subfolder or is there more to it?
https://github.com/hashcat/hashcat
I would say that the best thing for now is to just have a look at the github commit history and check for the addition of (already added) new hash types, like this one:
https://github.com/hashcat/hashcat/commit/ee97d18 (this example is also not 100% perfect since later commits added some missing changes to files e.g. docs/readme.txt).
The commit history is really very helpful if it comes to up-to-date stuff, because it NEEDS to be working and up to date. that's an advantage for sure.
Other than that, we have planned to add a wiki page for the new module architecture and explain how to add hash types by adding files to src/modules/ and OpenCL/ folder etc, but this is not yet done (not even started because there were more crucial things to do first, like adding support for CUDA platforms and the addition of the whole modular system and improving it... it doesn't make sense to write a wiki page without having completed the underlying refactoring).
On the other hand, if someone (maybe even not a "well-known hashcat dev") is trying to add a new hash type and documenting all the steps, it could be very handy to use this as a ground work for the planned wiki page (because if you are used to the system, i.e. a long-term dev that implemented a lot of hash types, you might take things for granted and forget to document/explain some crucial steps that one might think are obvious while they are not for new people playing around with the code).
Thanks