KeyGens funktionieren so ziemlich immer anders. Wenn die Authentifizierung über den Server läuft, muss logischerweise etwas dazwischen geschaltet werden. Server muss emuliert werden ( dazu reicht es den Traffic mitzuschneiden, allerdings muss dieser noch entschlüsselt werden ).In der Regel versucht man dies aber zu umgehen, da größerer Aufwand.
Im Normalfall, sprich bei kleineren Apps, werden die Keys einfach berechnet. Durch Reverseengineering ( auf fast der niedrigsten Stufe ( ASM ) ) ist es möglich den Algorithmus zu finden und somit eigene Keys zu erstellen, die akzeptiert werden.
Dann gibt es aber auch noch Codecaving ( eigenen ASM Code einschleusen ) in diesem Fall wird die Validierungsmethode überschrieben. Kam sehr oft bei Spielen vor. Da wird dann kein KeyGen ( in dem Sinne mitgegeben ), sondern es werden mehrere feste keys in den Prozess eingebettet, die akzeptiert werden.