I have a script in C, which is able to determine the password of certain data. It uses HMAC and RC4 algorithms to encrypt the given password and then compares that later to the given data. If they are the same, the given password was the original one.
Now I want to implement this method into a John Module to use their speed and environment for dictionaries etc.
I've already read the format.h and some other modules, but I'm still a little overwhelmed where to start.
Could someone give me an outline on what or how I need to write and implement my own John Module?
Update: I've found a fmt_plug file that could fit my needs: This one. But now I'm stuck at the next step. How does John reads the files. It seems like most formats use different formatted files with either a username and/or a salt and always a hash of course. But I cannot find any declaration how the file should be read inside the fmt_plug.c files.
I was thinking about formatting my files with $fmt_name$username#hash1#hash2, because I need to split the hash in 2 parts to use some algorithms on the different parts.
How would I tell John how to read my files?