Make Serial Key

Protecting Your Software Using Simple Serial Number/Activation Key Pair

Serial Key Maker 2015 Crack Plus Registration Key Free Download,It is application specially designed for software developers to help protect your applications.

Oct 01, 2012  When you install or reinstall a Microsoft Office product, you are prompted to enter the product key. The product key is used during software.

Jan 16, 2016  This Is a Simple trick You find A Software Serial Key For More Info Join our page https://www.facebook.com/Hacking-Tricks-177614818958585/.ref hl.

make serial key

How to Make a Serial Key. To help ensure that your software is only installed by customers who have purchased a license, you can provide a serial key to paying.

make serial key

Find out how to update your Windows product key. The Windows Product Key Update Tool will make changes to your Windows installation to update your product key.

SKGL – Serial Key Generating Library is a very simple licensing system that might be used to protect. NET Applications. If you like it, please donate or consider.

make serial key

Introduction

In this simple article, I am going to show how you can protect your software from unauthorized copying by creating a serial number/activation key pair based on the physical address MAC of the network adapter on the client s machine.

Getting the MAC Address and Generating the Serial Number

The first step is to get the MAC address of the client s machine. This could be achieved by using the ManagementClass class located in the System.Management assembly. We have to add a reference to that assembly to our project, and import it into SecurityManager.vb, which will be the class in which we place the GetSerial and CheckKey functions. These two functions will be responsible for generating the serial number from the MAC address and checking whether the key entered by the user is valid. As a first step, we define the GetSerial function as follows:

Public Function GetSerial As Long

Dim mc As New ManagementClass Win32_NetworkAdapterConfiguration

Dim mac As String

Dim moc As ManagementObjectCollection mc.GetInstances

For Each mo As ManagementObject In moc

If mo.Item IPEnabled Then

mac mo.Item MacAddress. ToString

Exit For

End If

Next

mc.Dispose

Dim sum As Long 0

Dim index As Integer 1

For Each ch As Char In mac

If Char.IsDigit ch Then

sum sum Integer.Parse ch index 2

ElseIf Char.IsLetter ch Then

Select Case ch.ToString.ToUpper

Case A

sum sum 10 index 2

Case B

sum sum 11 index 2

Case C

sum sum 12 index 2

Case D

sum sum 13 index 2

Case E

sum sum 14 index 2

Case F

sum sum 15 index 2

End Select

index 1

Return sum

End Function

This function will give us the unique serial number of each MAC address not totally unique, but similar to hash function uniqueness.

Generating Activation Key from the Serial Number

The second step is to create the key generator which will generate the activation key from a given serial number. This generator will be placed in a class called KeyGenerator. This class will contain a function which will apply a simple mathematical function on the serial number to get the activation key. In this case, I will use the function f x x2 53/x 113 x/4.

Public Class KeyGenerator

Public Function GenerateKey ByVal serial As Long As Long

Dim x As Long serial

Return x x 53 / x 113 x / 4

End Function

End Class

Back to SecurityManager.vb, we need to add one more function, which is CheckKey. This function will take the activation key as a parameter, apply the key-generating function on the current MAC address, then compare the two keys to see whether they match or not.

Public Function CheckKey ByVal key As Long As Boolean

Dim x As Long GetSerial

Dim y As Long x x 53 / x 113 x / 4

Return y key

One important note left: do not place all of these classes in your client s solution. Remember that the key-generating class is only owned by you.

Now you can use these classes to protect your software. You can also use more complicated functions to ensure more security. The key generator may look like this:

If everything is alright, the user would get the following message.

For more articles, please visit my blog in Arabic only.

Happy coding.

Sign Up to vote

  Poor

Excellent

My vote of 5 thileep2010 12 Jan 12  

Hi jaffal. thank you very much your post. I am using ur code in simple billing system. it is very helpful to me. thanks a lot

My vote of 5 Zizoovic 20 Dec 11  

Free Palestine V from Tunisian people

My vote of 5 Oshtri Deka 28 Nov 11  

I believe average mark of 3.33 isn t fair. This is nice and simplistic article and should be regarded as such.

After all managed applications are hard to defend.

My vote of 5 Manfred R. Bihy 9 May 11  

Code Change enexooone 21 Sep 10  

The code generated changes if turn on and off wireless

but good article providing some useful information

My vote of 5 Awadh Abdullah 14 Sep 10  

Good Work, Keep it on bro.

 

You should add some text encreptio to it before storing the key in file

where key will be store el3ashe 16 Feb 10  

nice code but i want to ask

where the code will be store. in registry..

i found that code need some implement then may be we can depend on

but i think the best way for your application is online key with online database any other ways to store keys will be destroy easy

nice try

need help dudeman2 22 Aug 09  

hi there,

I made a simple app on my mac using xcode.

How the hell do I copy protect it. I have looked everywhere and here is the closet i ve got to the code.

I am a noob and kinda know whats going on in the code but how do I implement this into my project. I just need simple protection.

Any information will be much appreciated

cheers

Multiple NICs, such as laptops nicorac 26 Aug 08  

What about multiple NICs.

I m thinking about laptops, where you have both Wired and Wireless NICs.

There should be a way to use always the wired one, cause the wireless could be a PCMCIA card and sometimes could not be inserted.

Hexadecimal numbers TobiasP 19 Aug 08  

Both the Parse and TryParse integer methods can be set to accept hexadecimal numbers through the overloads having NumberStyles arguments, so the IsDigit/IsLetter/select case-section can be greatly reduced while giving the same result.

Otherwise, I suppose the article can be useful if security is of little concern. It is, as has already been mentioned, easy to crack.

General    News    Suggestion    Question    Bug    Answer    Joke    Rant    Admin   

Use Ctrl Left/Right to switch messages, Ctrl Up/Down to switch threads, Ctrl Shift Left/Right to switch pages.

Too simple for any copy protection GurliGebis 14 Aug 08  

The idea is fine enough.

There is one fatal problem with it, since it is quiet easy for somebody to rip open an assembly with Reflector and get the formular for generating the key.

A better solution would be to use some sort of encryption for the key.

Hi, I have mentioned in the summary that the compiled code should be protected against reverse engineering before distributing it. But I really don t know if these programs claiming they protect. NET assemblies are good enough any idea about them.

But you have also to remember that the generator should not be distributed with the software, since it only belongs to the programmer. This means that the assembly will not be available in the first place to be opened using reflection.

modified on Thursday, August 14, 2008 PM

Re: Too simple for any copy protection mr_ber 18 Aug 08  

Although the generator should not be distributed, the validity checking code is a part of the distributed code and it has to calculate the same function. This validity checking code can be used to understand the function.

To solve this issue, some kind of private/public key method should be used. Meaning - you as the developer hold and protect the private key that enables you to generate the activation key from the serial number. The distributed code has only the public key to validate that the provided activation key refers back to the serial number. The problems remain: a - the validity code could be hacked and patched, b - a brute force attack could be used to get the private key.

Re: Too simple for any copy protection Yasser M. Jaffal 19 Aug 08  

I am not saying this is a top security solution - crackers where able to work around Microsft s security so I am sure this would be much easier with my application. But as I said the aim of this demo is to convey a simple idea on beginner s level on the big picture of serial number/activation key-based security.

Re: Too simple for any copy protection google198 20 Jul 11  

Thanks a lot Yasser, It was a very good code, Thanks from a Palestinian In France

Very Usefull Profiler 14 Aug 08  

Thank you.

Public

Function GetSerial

Long

Dim mc

New ManagementClass Win32_NetworkAdapterConfiguration

Dim mac

String

Dim moc ManagementObjectCollection mc.GetInstances

For

Each mo ManagementObject moc

mo.Item IPEnabled

Then

Exit

For

End

Next

Dim sum

Long

Dim index

Integer

Each ch

Char mac

Char.IsDigit ch

sum sum

Integer.Parse ch index

ElseIf

Char.IsLetter ch

Select

Case ch.ToString.ToUpper

Case A

sum sum index

Case B

Case C

Case D

Case E

Case F

Select

index

Return sum

Function

Class KeyGenerator

Function GenerateKey

ByVal serial

Dim x

Long serial

Return x x / x

113 x /

Class

Function CheckKey

ByVal key

Boolean

Long GetSerial

Dim y

Long x x / x

Return y key

Too simple for any copy protection

GurliGebis 14 Aug 08  

Re: Too simple for any copy protection

mr_ber 18 Aug 08  

Yasser M. Jaffal 19 Aug 08  

google198 20 Jul 11