#1
|
|||
|
|||
Keygenning Help
Hi guys,
Alright, so I'm wanting to try to keygen an application for the first time, and I am reaching out to ask if anybody would like to help me out with it? This program is *mostly* written in .NET, I have unpacked it and am able to reflect the source. I have found private keys that it uses for signing, etc.. I'm guessing that this is something easy to do - with the information that I have gotten out of the source, but I've never dealt with keygenning before. Would anybody on here like to work with me privately and possibly give me some pointers/hints/tips/etc? This is a Point of Sale (POS) system software that I'm working with, by the way. Thank you all! |
#2
|
|||
|
|||
what the problem if you are able to reflect the source ?
|
#3
|
|||
|
|||
The easiest way is to modify the source and make it an internal keygen (let the nag screen show the real key/serial instead of the incorrect key message).
|
The Following User Says Thank You to chicknsoup For This Useful Post: | ||
Stingered (12-30-2017) |
#4
|
|||
|
|||
Exactly what chcknsoup has said. Find the key check routine, and make it spit out a key in a messagebox or something using reflexil. I've done this many times.
You can also take the reflected source code and paste it into Visual studio to create a keygen. If you reverse the Key validation procedure, it is generally pretty easy to create a keygen. For Example: Private Function BuildHash() As String Dim s As String = ("CEPE2015" & TextBox1.Text) Dim provider As New MD5CryptoServiceProvider Dim bytes As Byte() = Encoding.UTF32.GetBytes(s) bytes = provider.ComputeHash(bytes) Dim builder As New StringBuilder Dim num As Integer = 1 Dim num2 As Byte For Each num2 In bytes Select Case num Case 1 builder.Append(num2.ToString("x4").ToLower) Exit Select Case 2 builder.Append(num2.ToString("x3").ToLower) Exit Select Case 3 builder.Append(num2.ToString("x2").ToLower) Exit Select Case 4 builder.Append(num2.ToString("x1").ToLower) Exit Select End Select num += 1 If (num > 4) Then num = 1 End If Next Return builder.ToString End Function |
#5
|
|||
|
|||
Sorry for the extremely delayed response, guys!
I appreciate all of your input, and I will look into just working with the source within Visual Studio. I'll let ya know how it turns out, or if I have any more questions! Thank you all |
#6
|
|||
|
|||
Post an external link to installer if you want a look taken. I am finished with project I was working on, and am not "friend" of forum so cannot download internal link
|
The Following User Says Thank You to psgama For This Useful Post: | ||
foil (01-26-2018) |
#7
|
|||
|
|||
Alright, so I can't get this figured out, haha..
I'm going to post the DLL that has all of the functions within it - would you guys be able to take a look at it, and point me in the right direction? The DLL is written in .NET and can be reflected without an issue. I have imported the DLL and even recompiled it, but I can't seem to be able to generate or validate my own keys with the knowledge that I have. Thank you all Code:
http://f0il.com/bvVisionRegistration.dll Last edited by foil; 01-26-2018 at 06:59. |
#8
|
|||
|
|||
I did not look at your target, but you said you found the private keys used to sign the license? How? Its unlikely you really found them, they shouldn't be embedded in the application.
|
#9
|
|||
|
|||
looking at the validation code it looks to be a custom crc is used and only a few chars of the serial are actually checked. I did not really go into it as the installer was not shared so there is no way to debug and confirm any findings (at least for me)
|
#10
|
|||
|
|||
@surferxyz - I could be totally wrong about the private keys that I had found (it may be related to something else?), but if you look in the dll, you will see reference to 'private key', and it has a key that is used to sign something used during validation.
@T-Rad - I can post the installer, if you would like to take a look! Any help is definitely appreciated.. I own a real license for this application, and am just trying to tackle this for fun I guess. Thank you guys |
#11
|
|||
|
|||
installer would help. by the way, how long is the actual key
|
#12
|
|||
|
|||
No problem, I'll get it uploaded tonight for you when I get home!
The way that their key system works is:
The key is 25 digits in length - 5 digits, hyphen, 5 digits, hyphen, etc.. alphanumeric, all uppercase, ie: ABC12-ABC23-A1B1C-ABCD1-XYZ34 The key is generated on a php page on their website, and uses the info listed above to hash it all together. Thank you image of php page that generates the key: Code:
http://f0il.com/key.png It will extract everything into c:\install Code:
http://f0il.com/vision.zip If you need, I can setup a remote session with you to check it out on a working machine, because it's a pain in the ass to get setup from scratch! Last edited by foil; 01-28-2018 at 23:37. Reason: added link to installer |
#13
|
|||
|
|||
cant install so no joy on debugging it.
'POSSetup.exe' appears to be compiled in VB6. I dont think 'bvVisionRegistration.dll' is for the program serial check. If it is, it does not compare against anything entered in the registeation process (according to your pic) except maybe the expiry date. It might be for a supporting dll or ocx or something. It checks a variable length serial for a custom CRC in 2 different locations (based on the length of the serial entered), followed by a table lookup and a base2 convertion that only is valid if it is all 0's. It does a bunch of crap in between but thats more or less the gist of the serial. |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Keygenning Webservices | mesagio | General Discussion | 6 | 01-22-2018 17:37 |