Some heavily protected application have the code encrypted so that the file can't be disassembled. And you need to know the low level API of your Operating System. To create a keygen you have to understand the algorithm and write a program to re-do the exact same calculation (I remember an old version of MS Office whose serial had a very simple rule, the sum of the digit should have been a multiple of 7, so writing the keygen was rather trivial).īoth activities requires you to follow the execution of the application into a debugger and try to figure out what's happening. To create a crack you have to identify all the points where a check is done and modify the assembly code appropriately (often inverting a conditional jump or storing costants into memory locations). Speaking just at a teoretical level the common way is to disassemble the program to crack and try to find where the key or the serialcode is checked.Įasier said than done since any serious protection scheme will check values in multiple places and also will derive critical information from the serial key for later use so that when you think you guessed it, the program will crash. Apart from being illegal, it's a very complex task.