Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › What goes into a keygen?
New Posts  All Forums:Forum Nav:

What goes into a keygen?

post #1 of 27
Thread Starter 
For my programming class im supposed to make a keygen for some old freeware thats now abandonware. It requires keys to activate and i have been given a few dead keys, how do i turn those dead keys into a keygen?
Do i find similarities between the keys and generate keys that way or what?
Oppress This!
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom 2 X4 B55BE @ 3.7 ASUS M4A89GTD-PRO USB3 GTX 470 + GTX 275 SOC 4gb Crucial Ballistix T 1600 6-8-6-20-24 1T 
Hard DriveOptical DriveOSMonitor
2xWD640AAHLS + Hitachi 2TB 7200RPM + 2x150gb VRapt HP IDE + LG SATA Win 7 x64 ult 15" 1024x768 Dell (visually impaired) 
PowerCase
XFX XXX 650w (green fan) Antec 300 (Heavily Modded) 
  hide details  
Reply
Oppress This!
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom 2 X4 B55BE @ 3.7 ASUS M4A89GTD-PRO USB3 GTX 470 + GTX 275 SOC 4gb Crucial Ballistix T 1600 6-8-6-20-24 1T 
Hard DriveOptical DriveOSMonitor
2xWD640AAHLS + Hitachi 2TB 7200RPM + 2x150gb VRapt HP IDE + LG SATA Win 7 x64 ult 15" 1024x768 Dell (visually impaired) 
PowerCase
XFX XXX 650w (green fan) Antec 300 (Heavily Modded) 
  hide details  
Reply
post #2 of 27
There is an algorithm you would need to figure out, that generates the key sequence. Considering its old, there is probably a similarity in the keys that you would be using.
Blue Giant
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7 3820 Asus P9X79 MSI GTX 570 in SLI RipjawsX 16GB DDR3 1600 8-8-8-24 
Hard DriveOptical DriveCoolingOS
2TB WD Black Blu-Ray Reader Custom Water Cooling Windows 7 Professional 
PowerCaseAudio
KINGWIN Mach 1 1000w AZZA Solano 1000 Xonar DG 
  hide details  
Reply
Blue Giant
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7 3820 Asus P9X79 MSI GTX 570 in SLI RipjawsX 16GB DDR3 1600 8-8-8-24 
Hard DriveOptical DriveCoolingOS
2TB WD Black Blu-Ray Reader Custom Water Cooling Windows 7 Professional 
PowerCaseAudio
KINGWIN Mach 1 1000w AZZA Solano 1000 Xonar DG 
  hide details  
Reply
post #3 of 27
Quote:
Originally Posted by Smoblikat View Post
Do i find similarities between the keys and generate keys that way or what?
That's how I'd go about it. They're produced using an algorithm, and its your job to find out what the algorithm is so that you can recreate it.

Just produce a set of keys and find similarities. See if certain numbers or letters are between ranges and whatnot.
Lightning
(20 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500K Gigabyte Z68XP-UD3P XFX HD6950 DD 2GB 8GB Corsair Vengeance 1600MHz 
Hard DriveHard DriveHard DriveOptical Drive
Crucial C300 64GB Samsung F2 1.5TB Seagate 500GB LG GH20NS15 
Optical DriveOSMonitorMonitor
Optiarc AD-7261S Win7 64bit 22" LG L226WTQ 19" AOC 
KeyboardPowerCaseMouse
Steelseries 6Gv2  Silverstone ST75F 750W Modular Fractal Design Arc Logitech G500 
Mouse PadAudioAudioAudio
Steelseries QCK Diablo 3 Beyerdynamic DT770 80ohm Fiio E9 Headphone Amp X-Fi XtremeGamer 
  hide details  
Reply
Lightning
(20 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500K Gigabyte Z68XP-UD3P XFX HD6950 DD 2GB 8GB Corsair Vengeance 1600MHz 
Hard DriveHard DriveHard DriveOptical Drive
Crucial C300 64GB Samsung F2 1.5TB Seagate 500GB LG GH20NS15 
Optical DriveOSMonitorMonitor
Optiarc AD-7261S Win7 64bit 22" LG L226WTQ 19" AOC 
KeyboardPowerCaseMouse
Steelseries 6Gv2  Silverstone ST75F 750W Modular Fractal Design Arc Logitech G500 
Mouse PadAudioAudioAudio
Steelseries QCK Diablo 3 Beyerdynamic DT770 80ohm Fiio E9 Headphone Amp X-Fi XtremeGamer 
  hide details  
Reply
post #4 of 27
Rather than guessing an algorithm, some are made from determining how the keys are validated and they are written spoof the application into thinking it was validated. This way you can basically enter anything for a key and it'll work.

If the source to the freeware is available, it'll be pretty easy; if not, have fun decompiling.
post #5 of 27
You need to figure out the algorithm used to generate the keys.

Some use variables such as the clock date on the server computer.

Considering it's abandoned, you need to look at at least 2 of the keys for similarities and examine their structure.
The Iron Giant
(19 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i7 950 X58A-UD3R Sapphire Radeon HD5870 Vapor-X Mushkin Silverline 3x4GB 1333MHz 
Hard DriveHard DriveHard DriveHard Drive
Samsung F3 Samsung F3 Western Digital Raptor Crucial M4 128GB 
Optical DriveCoolingOSMonitor
Sony DRU-87S Corsair H70 Windows 7 Ultimate x64 Acer X243HQBD 
KeyboardPowerCaseMouse
Ducky Shine III Seasonic X650 Lian Li Lancool K62 Zowie AM MS 
Mouse PadAudioAudio
Razer Goliathus Edirol MA-7A speakers. Sennheiser HD598 
  hide details  
Reply
The Iron Giant
(19 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i7 950 X58A-UD3R Sapphire Radeon HD5870 Vapor-X Mushkin Silverline 3x4GB 1333MHz 
Hard DriveHard DriveHard DriveHard Drive
Samsung F3 Samsung F3 Western Digital Raptor Crucial M4 128GB 
Optical DriveCoolingOSMonitor
Sony DRU-87S Corsair H70 Windows 7 Ultimate x64 Acer X243HQBD 
KeyboardPowerCaseMouse
Ducky Shine III Seasonic X650 Lian Li Lancool K62 Zowie AM MS 
Mouse PadAudioAudio
Razer Goliathus Edirol MA-7A speakers. Sennheiser HD598 
  hide details  
Reply
post #6 of 27
This thread is really interesting. I've ALWAYS wondered how they keys generated in keygens always work.
post #7 of 27
Quote:
Originally Posted by Smoblikat View Post
For my programming class im supposed to make a keygen for some old freeware thats now abandonware. It requires keys to activate and i have been given a few dead keys, how do i turn those dead keys into a keygen?
Do i find similarities between the keys and generate keys that way or what?
Haha i love your sig rig. Like the other guys said, the keys are generated using an algorithm. The easiest thing to do would be line up the keys given, and for each column find similarities.

"line up" as in:
xxxx-xxxx
xxxx-xxxx
Then find similarities in the columns, probably want to repeat for EACH character given. Hope that made sense.
 
Scrappy (SOLD!)
(15 items)
 
 
CPUGraphicsRAMHard Drive
Intel Core i5-4200U Intel HD 4400 4 GB surfacemount 128GB Samsung PCIe SSD 
OSMonitor
Windows 8 13" IPS 1080p Touch 
CPUMotherboardGraphicsRAM
Intel Core 2 Quad Q8300 Gigabyte GA-EP45-UD3P MSI Radeon 6950 Twin Frozr III PE/OC OCZ Gold DDR2-800 
Hard DriveOptical DriveCoolingOS
Hitachi DeskStar & WD Caviar Blue LiteOn DVD-RW (VRM Death) Xigmatek S1283 Windows 7 Professional x64 
MonitorKeyboardPowerCase
Generic 32" 720P TV Compaq 2.4 GhZ Wireless Keyboard RAIDMAX Hybrid 730SS Fractal Design Define XL Pearl Black 
MouseAudio
Compaq 2.4 GhZ Wireless Mouse TV speakers :( 
  hide details  
Reply
 
Scrappy (SOLD!)
(15 items)
 
 
CPUGraphicsRAMHard Drive
Intel Core i5-4200U Intel HD 4400 4 GB surfacemount 128GB Samsung PCIe SSD 
OSMonitor
Windows 8 13" IPS 1080p Touch 
CPUMotherboardGraphicsRAM
Intel Core 2 Quad Q8300 Gigabyte GA-EP45-UD3P MSI Radeon 6950 Twin Frozr III PE/OC OCZ Gold DDR2-800 
Hard DriveOptical DriveCoolingOS
Hitachi DeskStar & WD Caviar Blue LiteOn DVD-RW (VRM Death) Xigmatek S1283 Windows 7 Professional x64 
MonitorKeyboardPowerCase
Generic 32" 720P TV Compaq 2.4 GhZ Wireless Keyboard RAIDMAX Hybrid 730SS Fractal Design Define XL Pearl Black 
MouseAudio
Compaq 2.4 GhZ Wireless Mouse TV speakers :( 
  hide details  
Reply
post #8 of 27
Thread Starter 
Thats what i though, i need to guess an algorithum but how would i go about doing that, lining up keys and guessing doesnt seem that easy. For example how did they make the crysis keygen?
Oppress This!
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom 2 X4 B55BE @ 3.7 ASUS M4A89GTD-PRO USB3 GTX 470 + GTX 275 SOC 4gb Crucial Ballistix T 1600 6-8-6-20-24 1T 
Hard DriveOptical DriveOSMonitor
2xWD640AAHLS + Hitachi 2TB 7200RPM + 2x150gb VRapt HP IDE + LG SATA Win 7 x64 ult 15" 1024x768 Dell (visually impaired) 
PowerCase
XFX XXX 650w (green fan) Antec 300 (Heavily Modded) 
  hide details  
Reply
Oppress This!
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom 2 X4 B55BE @ 3.7 ASUS M4A89GTD-PRO USB3 GTX 470 + GTX 275 SOC 4gb Crucial Ballistix T 1600 6-8-6-20-24 1T 
Hard DriveOptical DriveOSMonitor
2xWD640AAHLS + Hitachi 2TB 7200RPM + 2x150gb VRapt HP IDE + LG SATA Win 7 x64 ult 15" 1024x768 Dell (visually impaired) 
PowerCase
XFX XXX 650w (green fan) Antec 300 (Heavily Modded) 
  hide details  
Reply
post #9 of 27
Trying to guess an algothirm from a few keys is probably a failed approach. These are NP-hard problems. To do statistical analysis on a relative large key, you would need thousands (if not millions/billions) of keys.

The keys are good for confirming an algothirm.

Can you attack the program itself?
Install the program.
Enter a valid key.
Compare the file system and registry before and after. Was a "registeration.txt" file created? Is there a new entry in the registry? Did a .ini file change?
Now you know what has to change to be validated.

Now analyze and attack these differences.


You can also run the executable through debugger...
Edited by DuckieHo - 3/17/11 at 1:45pm
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
post #10 of 27
Thread Starter 
Quote:
Originally Posted by DuckieHo View Post
Trying to guess an algothirm from a few keys is probably a failed approach. These are NP-hard problems. To do statistical analysis on a relative large key, you would need thousands (if not millions/billions) of keys.

The keys are good for confirming an algothirm.

Can you attack the program itself?
Install the program.
Enter a valid key.
Compare the file system and registry before and after. Was a "registeration.txt" file created? Is there a new entry in the registry? Did a .ini file change?
Now you know what has to change to be validated.

Now analyze and attack these differences.


You can also run the executable through debugger...
wow +rep thats such a good idea, now i need to find out where the program installs and find any differences between before and agfter. thanks.
Oppress This!
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom 2 X4 B55BE @ 3.7 ASUS M4A89GTD-PRO USB3 GTX 470 + GTX 275 SOC 4gb Crucial Ballistix T 1600 6-8-6-20-24 1T 
Hard DriveOptical DriveOSMonitor
2xWD640AAHLS + Hitachi 2TB 7200RPM + 2x150gb VRapt HP IDE + LG SATA Win 7 x64 ult 15" 1024x768 Dell (visually impaired) 
PowerCase
XFX XXX 650w (green fan) Antec 300 (Heavily Modded) 
  hide details  
Reply
Oppress This!
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom 2 X4 B55BE @ 3.7 ASUS M4A89GTD-PRO USB3 GTX 470 + GTX 275 SOC 4gb Crucial Ballistix T 1600 6-8-6-20-24 1T 
Hard DriveOptical DriveOSMonitor
2xWD640AAHLS + Hitachi 2TB 7200RPM + 2x150gb VRapt HP IDE + LG SATA Win 7 x64 ult 15" 1024x768 Dell (visually impaired) 
PowerCase
XFX XXX 650w (green fan) Antec 300 (Heavily Modded) 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › What goes into a keygen?