Quote: "You need to know all the data keys that that software is using, and also they need to be using the same compile of the dll as you are."
Both of which are not too difficult to get. The dll is easy, just run the program and snatch it from the windows TEMP dir. Since the serial generation and checking functions are in the same dll you can use the dll as a keygen once you get the data keys.
The data keys are harder but still not difficult. Easy with a debugger since they are just passed to the dll.
Or another way would be to write your own dll with a validation funtion that just used a messagebox to show the values of the data keys. Swap the dll in the exe with this new one and run the exe and the data keys will be shown when you enter a serial number.
I really wounldn't use this to protect commercial products, it's just too weak. You average cracker will have it beaten in well under 10 minutes, probably even under 5 minutes.
If you just want a little protection with no messing about then it is great. For stuff like closed betas where you just want to stop people sharing the file it would probably be more than enough.
If the license of the protector allows it protect an exe and ask people to try and crack it. Should at least weed out the protectors that are not worth bothering with.
By way of demonstration, he emitted a batlike squeak that was indeed bothersome.