.Net License Manager

.Net License Manager

.Net License Manager

Developer’s Description

.Net License Manager is designed to implement demo or trial functionality to your .Net applications. With just few lines of code, you are all done. Either it is VB.Net, C#.Net or any other .Net, the library can be used in any project. If you are a .Net developer, then this library is a must for you. Once you integrate this component in your application, you are sure that your application will run on only single computer. Each license key is generated only for one PC. You can also configure the validity of license key, which means you can distribute the keys for certain time period. For example: if you would like your application to run till 31 Jan. 2030 date, then you can generate the keys which would expire on 31 Jan. 2030. Time limited keys will allow you to distribute your application that require renewal on certain time interval. You may use this technique to charge AMC from your customers. Time limited keys will work even if user has formatted their PC, which ensures that your application will not be used beyond certain time period. The component also allows you to generate the trial version of your application on time bounded or application runs basis. If you want your trial to last for 15 (configurable) days since application start, or you want your application to execute only for 30 (configurable) times, then this is the component you require. This small project will help you to manage licensing in your .NET applications. 

Please note that it’s still a work in progress then many things need to be completed (see issues) and code must be reviewed and simplified. All documentation is still a TO DO, please refer to both source code and cited SO post. Any help on this (also for documentation) is more than welcome!

.NET Licenser is Registry-based licensing management tool. It implements a licensing system that checks for the availability of a specific Registry key that contains a corresponding value. Your licensed application itself implements no code to write the Registry value but .NET Licenser inserts into your application subroutines that will do that. Registry keys will be set up by the installation/registration licensed application, and since most applications use the Registry anyway, this does not pose a significant development limitation.Licenser is helpful for licensing applications written in any language and designed under Microsoft .NET Framework (C#, VB.NET etc). It supports .NET Frameworks 1.0, 1.1, 2.0, 3.0, 3.5, 4.0, and 4.5.In the Application Title box, enter the title of your .NET application you want to be displayed in the licensing window’s title bar and in messages presented on the licensing windows.
In the Purchase Link box you have to insert an internet link where your customer can make on-line order of your application. The link will be presented on the licensing windows.
You can choose between 2 different ways when your application?s trial evaluation will be finished. You may specify an amount of days for the evaluation (30 days by default). Also you can select an exact date in the calendar when the licensing will start.
You can manage Registry entries of the licensing system. Encrypted installation date will be stored in Registry during your protected software first run. You can specify Registry Path where the date coded value is stored by calling Registry tree interface. The Path exists on your PC and you are not sure if it will be presented on your customer?s PC. The Path you specified will be created in end-user?s Registry at your application activation time.
The same path will be composed at customer PC.
Enter name of Registry entry for the installation date value in the Sub Key Name box.
Registration ID number will be stored in Registry during your protected software registration/activation. You can specify Registry Path where the Registration ID number coded value is stored by calling Registry tree interface.
Enter name of Registry entry for the Registration ID value in the Sub Key Name box..NET Licenser allows you to generate a secure cryptographically encrypted license key after your application has been registered/purchased on-line. Then you can provide customer with the Registration ID key by sending e-mail.
The most important part of the Registration ID interface is the ‘Password for Registration ID number cryptographic encryption’ box. Please insert some password that will be kept. It is important to do NOT change the password for your application. The password gives you ability to generate unique Registration ID. Other Licenser users will not be able to create right Registration ID for your application without the Password. You are licensing your application with some password and put software on the web for downloads. If you change the password you will not be able to generate correct RegID since your application is distributed with the first one.
Put your registered user name into User Name box and then push ?Generate Registration ID? button. You may edit e-mail message that you are going to send to your registered customer.When your software evaluation period expires it will show the ?Evaluation stopped? form and will offer your potential customer to visit on-line purchase registration order page. You can adjust the form message. You can use [ApplicationName] keyword instead of writing down your software exact name. The keyword will be replaced with your application title on the form message..NET Licenser works by providing secure cryptographically encrypted license keys. This assures an easy way to activate .NET application from demo/evaluation to fully functional version. .NET Licenser uses a cryptographic encryption to generate and verify license keys..NET Licenser is a functional software tool for complete license and customer management. Along with Skater .NET Obfuscator it helps you to prepare your product for protection, manage license, encrypt your code and data, send e-mails to registered customers and so on.

.NET Licenser allows you to generate a secure cryptographically encrypted license key after your application has been registered/purchased on-line. Then you can provide customer with the Registration ID key by sending e-mail.
 .NET Licenser is an exact software licensing tool for .NET developers who would like to:
Protect software products from getting pirated
Looking for easy real-time license management
Need effective and simple software activation

WHAT’S NEW IN VERSION 1.0

Glossary

Client: the machine where application you want to protect is deployed.

Server: the machine where you create licenses. It may be a public accessible web server or simply your development machine but your customers must not have direct access to its content.

Contact: it’s a text string generated at client side which contains some unique identifiers used to uniquely tie one license to a specific machine.

License: it’s a text string generated at server side and used client side which contains information about the license (to whom you licensed your application, its expiration and which features are enabled). License is generated from a contact and it’s indissolubly tied to a specific machine.

How to Use It

This project cannot be used as-is, to be effective you must include full source code in your repository and change it as described here, read carefully these notes. Project is separated in groups:

  • Read about Code Obfuscation.
  • Code that must deployed together with your application stays in. This assembly also contains code used by server components.
  • Code that must be only on your private server (if you wish to have a private license server) stays in Radev Licensing Server. Your customers must never have an accessible copy of this assembly because it contains your private key.
  • Code that must be directly included in your application, possibly in each single assembly you will check for license (for example if you have a modular architecture, where one assembly implements a set of features, you should include one copy of this file in each assembly). A generic template is LicenseManager but it must be customized for your specific use.

To start using this project you have to carefully follow these steps:

  • Create a new public/private key pair and save it as XML. Copy public key in Radev Licensing\Keys and both public and private keys in Radev Licensing.Server\Keys.
  • Include a copy of LicenseManager in each assembly where you need to check for the license together with a reference to Radev Licensing .
  • Update Feature enum to include all features you want to protect with license. You may simply omit this file (and relative code in LicenseManager) if you just need to know if there is a license but you don’t protect single features.
  • Create an utility (or something automatic, if you have a public licensing web server) to generate a contact:

If you need plain text (for example to send an e-mail) you can use ContactWriter ToString().

  • Create an utility (or something automatic, if you have a public licensing web server) to generate a license from a contact file:
  • When you need to check for license (or for a specific feature) simply call LicenseManager methods:

If in doubt about where you license file should be you may read Where to Save License File.

Please note you can assign a validity interval for your license (I strongly suggest to always make it valid from the day it has been created) and also specify which version (again a range) of your software is enabled by that license.

How It Works

To have an adequate protection few assumptions must be satisfied:

  • You want individually license each copy of your software and tie a license to the exact machine to which it has been associated: licenses cannot be copied and reused between different machines.
  • Licese file may be hidden but its strength does not come from that nor from obfuscation: even if it is accessible and modifiable your application must have a mechanism to realibly validate it.
  • Code that check for the license is reasonably protected and it is not easy to patch it to circumvent the license.

One License for Each Client

First of all we need to uniquely identify a specific machine. There are various IDs and settings we may use but we must combine more than one of them because hardware configuration may change and we do not want to invalidate our license for each small change.

I decided to use WMI queries to read configuration values, because they’re easy to use and to change, and by default (but it can be changed in Licensing\Token) I read only IDs, because they’re less subject to change compared to – for example – memory size. Note that this choice is not mandatory and you may want to change it implementing your own Licensing\Client\HardwareAnalyzerclass and changing Licensing\Token accordingly.

Application will compare hardware configuration stored in its license with current live configuration and if they differ more than a specified amount then it will consider license as invalid. For details check License.IsAssociatedWithThisMachine() and License.MaximumNumberOfHardwareChanges. Currently license will check these values:

  • Computer manufacturer and model. These values should not ever change over time, unless you also change motherboard, but they’re not widely available and they may contain dummy text.
  • Motherboard manufacturer, model and serial number. These values should not change over time but sometimes (especially on old systems) serial number is fake.
  • BIOS serial number. Also this value may be a fake on very old motherboards.
  • CPU ID. This value is not a true unique ID of your CPU but it model and stepping, combined with other IDs, will help you to uniquely identify a specific system.
  • OS serial number and installation date. Here you rely on Operating System license protection… if they use your application on two different machines then you assume they also need to use two different OS copies (unless they also want to crack OS). Installation date (absolutely optional) lets you detect false claims like I had to reinstall OS because of broken hard disk.

Note that I didn’t use any disk serial number (hard to reliably read) nor MAC addresses (NICs may be turned on and off at run-time).

Note that you may use motherboard and computer manufacturer name to detect virtual machines (Microsoft, Oracle, VMWare and similar). It’s not a reliable method but it has the advantage to be extremly simple. For a more reliable check you have to individually check for virtual machines you know, for more details check Wiki page about Virtual Machines.

Secure License File

After we collected all required information into a contact then we encrypt that data with our public key and then encode it as base64 (to make it easy to transfer, for example, via e-mail). Note that here encryption isn’t strictly necessary (because everything a cracker needs is available and visible in application code).

Server code will then decode and decrypt contact information, fill license as required and then sign result with our private key. Everything is then encoded again as base64. From this moment our application can detect any change to license content because signature (verified with public key) won’t match.

Protect Application Assemblies

Of course you also need to protect application assemblies otherwise they may be tampered. This topic is vast (especially because a cracker has a big surface attack) but you should at least start signing all your assemblies and then – eventually – embed Radev Licensing into your application assembly as a resource (to make things slightly more complicate for casual crackers), you will load it inside AppDomain CurrentDomain Assembly  Resolve event handler.

There are more things to consider:

  • If application can load untrusted/unsigned plugins then cracker may simply use Reflection to bypass/modify already validated in-memory license data.
  • Code may be patched at run-time bypassing license checks (the (in)famous NOP instead of CALL).
  • WMI information may be faked.
  • An entire system may be cloned using virtual machines.
  • Application may be shared using Web Access, Terminal Server or similar technology.

Remarks

The LicenseManager class provides the following static properties: CurrentContext and UsageMode. The class also provides the following static methods: CreateWithContext, IsValid, and Validate.

When you create a component that you want to license, you must do the following:

  1. Specify the LicenseProvider by marking the component with a LicenseProviderAttribute.
  2. Call Validate or IsValid in the constructor of the component. Validate throws a LicenseException when it tries to create an instance without a valid license. IsValid does not throw an exception.
  3. Call Dispose on any license that is granted when the component is disposed or finalized.

 

Registration Key

CHM54-Q2T8Y-BPBXU-D22IP-FJM2M
CG1BP-LNUF1-JWSFJ-19AI7-0ZQQY
PAO3R-4BSPR-SGOHC-QIGPN-N7KA8
FWXXK-UMNCA-EF7MS-VQZW0-SDGFR

Serial Key 2023

3XZEL-EXC3N-6A5W7-EYAVL-G38GT
IRNAY-SS1HS-V4RFO-SYG7Z-QFHGY
TU0GV-P7VXT-PCNMF-5EYT1-AY3FX
LE34Y-2688T-ULZH2-CBKEY-PFBPG

Product Key Download

OVN97-8GV3L-ETBAY-96FDB-NR3ZN
CLR0V-P3BKB-0LK07-4YW8J-4ZR7S
PI45C-AVAYN-ATP4F-028RQ-JHT95
9OEPM-0EW6N-Y7JAV-B9EEV-25KGS

Activation Key 2022

ONV50-83FV4-ALDPO-JU3WO-F1RZ7
7RHHU-ZLEYP-6U6W5-EJ1V2-ZIQPN
0QXI1-60FCK-TUWC8-49L34-KETYJ
Q5O8E-75ATN-XC716-0LPB0-OAW0L

Crack Key

BX4XL-90L9F-HDPYK-S52BE-RGXFJ
ONY3G-EZ03P-CEEE5-MVO1V-MKWDV
S9UG8-LE94N-HU5F3-OYIK5-SJC65
PYKIX-3DFSK-K0DB3-975DI-9AQ6S

License Number

77TPW-KKYN7-X75Q1-Q48I7-NTB3A
Z2SC1-0XJYO-MW245-DD4SH-XG8P8
TMEAE-BOQA6-NAC25-2PRZ5-5LEZA
H0YMK-T49LZ-STHGM-YNUHL-ITKTO

Serial Key

038G8-WT6PA-AG9UM-J30AP-JZB6K
WIYQX-N2FN0-E5MME-GFELY-CPJBR
XZVOO-NVJNI-6G94S-7DZS1-4IXYI
YSZFD-MLYA2-171OU-KMV2Z-MCAK3

License Keygen

03DAK-5JRRA-7CNXI-XYX3U-DHM7I
667EJ-JS1KP-HIWWM-0BWK2-KAP8U
7A73R-VNW7M-80A86-EEPGD-HC3X6
OXSQV-7IWTP-7PSKK-S0PWK-YTAKQ

Crack Full Key

U7469-82DUI-19GFS-1F9DS-LOJ31
Q32JG-3NW6G-5LJL3-6042I-647QI
EUFEJ-TWEL4-KWATS-0J7G7-YHVG7
R792U-WU81S-LG8ZC-VUWT5-SXA0B

Serial Key Download

X4EWD-2861Y-TIOAI-J2SYO-9SSCM
ZKP9R-2VSBB-4FP4R-7KWGW-E9MZR
HSVAH-DTB8P-QDECI-IOLFD-FPGFP
YCO2G-E6DIQ-06Y4X-W7QR8-VYWAC

License Keygen

0HHXT-3QAII-LCUJG-MOCO1-L62L9
UO9Q0-6HACH-0QFO8-S11J4-7EBRK
FPIV3-JWJQV-AZ8RD-0N92L-LLWXQ
ZLM4K-V2HBF-FQB94-8SL6O-GHB1J

Registration Key Latest

94NSZ-JI2LT-8R70W-ZPXYS-6EFE8
OME6F-QG0R7-BUHAK-XJYUU-2CN7A
35O81-O8M1X-30YAG-NOQPC-QG9KF
OWZQO-4R4K7-J8R3R-46CK8-CKLRI

Keygen

5N2XK-1GZX8-PJVTM-XGKEB-HHPZZ
H5HOR-MQN4G-YLHCG-3I9WX-Y4YM4
3BDXS-IWZKF-4AYV1-WIRDM-SRZM8
9Y8FX-8XQKG-20OJ0-F5FV7-6VFF7

Serial Code

2VQS2-M91PZ-OLA2S-J1YUS-U2CUI
7EIH7-W5FEV-O33WR-FHRIA-EUIK8
BR9LS-CNL7Q-6AV2M-833R6-2WJTT
9S96Y-Y0YHP-855JV-ODHVC-CLW4C

License Key Latest 2023

T6YIZ-3HCW8-CB81X-XA47F-KN2FA
EYB49-2IPEM-FYA70-2AO6G-W4LNO
HP6VE-DEEL4-IADSH-3VLMA-4N7IR
5LTI6-8DZ9Z-UBZR0-46LDH-HWSW

Serial Key Latest

ZISFO-2WYDU-MLF9S-F1GU1-6CEKG
01NU3-ZZV1Z-72GRF-HVGNM-BB7ZR
X9B32-QU3P0-75CK2-5P7KI-UIMDB
71LV7-CS9ZA-S71VF-2NNBE-KL41E

Registration Key 2023

ZLACA-RVB97-RLD6B-UTE6N-HOWGB
NTDZ1-RBRBX-MVNA8-2EVKU-BRC9V
VOLPI-6BUFP-O06MT-75PR4-SUI1A
1MMDU-RWOXH-UZIJK-CYW16-W7GE8

Serial Key 2022

Y1QAG-XTTYM-48NX4-7R5GH-QDI2W
UP9CZ-AQA6D-8UB23-XDIQE-DN6WP
X0ZGQ-7D7TT-PTPXW-2ZFM3-S01UT
4JIE1-H75VE-VRD4M-JUKTR-WRZUY

License key 2023

1OS8J-J6L12-0HU5Y-I2M31-SOD8Z
30GS3-WEIK6-4OG0I-MC6IT-HT0OB
A69KX-EPGMM-ADYVK-AAIJ9-1VVRP
VJAKD-YG6AO-UGLPE-O38ZR-IKK1G

Product Key 2022

K2ECX-G7ZCX-J7EE8-PNAI5-T44B4
7MXB4-IKCTA-HW0CS-JI1EN-XTD6B
ZLZV2-QFXCA-IILHN-4MCUB-IY6DP
6V8GR-X0UVA-ALOB2-IYCUL-0TAJJ

Registration Code

WHIMH-FMD1N-3AFUK-LDV3U-DIZ39
GHEKL-OIKGM-X66G2-9OGCG-3AFMP
DHOY8-0WWSA-MC0ON-C9RV7-LYRV6
ZRUJB-TF804-H4L0Z-BK9IA-EVDIS

Activation Key

S1VUQ-V2TV2-2DBV4-EWVZW-BF4CB
I0AVP-2OTRC-FI6HD-OF4KF-35G3U
RPRX0-XD2E9-5I3J0-95X6O-C6692
LVA3F-ZVAKC-J36QZ-RYRGX-NR5LT

License Key Download

JKG57-YH1F2-EJ9W1-C2ZW1-J27EC
APJRY-MEG1U-F50XQ-GUEFY-SK5T3
BGNLY-L5P16-40YP5-3D9PI-9PKTD
C08I0-VM0M9-TTGSK-2J44N-E7R3D

Registration Key 2022

F04RK-1A3N8-STF7J-82ME5-YBTV2
PMDR7-02NG3-RGKK9-DOD4V-FZLCL
2AQLW-BU0AH-T0WF1-QVR4R-12I3P
P26B2-WKN3O-KKH32-MM0ME-CE9RM

License Code

Z9O4O-8R1R0-A06AO-6L1GD-RR3AS
4INBO-6TMME-A21TK-2GL2F-IS9MW
6X0UW-T3B1M-10C5O-0ME3N-B9X34
KUP6A-2O4Y8-66KXJ-VVDCF-EJTTP

Serial Number

ULQMX-HUBU1-72ZLN-SV2ZI-Q16WM
7RJ27-4O6LW-35GOS-FJODG-0P7VR
DQ0UT-IPE1O-40WK5-YJN57-5HETM
JNFV9-LZS1H-2YTHE-K1UTU-YB84M

License Key

S33GC-N5H0A-WSQSP-2PFRX-BPY54
L47RU-IDODT-9OO2W-1Q5IW-CGMRG
54GRJ-MWXA2-AV53A-VA5TJ-K6MJ4
AUW0S-ITLBB-UYROF-Q7YXY-QULWR

Activation Key

IPJM3-5CDO5-BMXRR-MMABN-LKI2U
8I1J6-F6C30-MN5R3-FRFVM-XNAKQ
GLB29-UMFVL-YPJC4-ZPLQP-YRLBD
WL6A5-VPQNU-ES0KC-4Y8AL-J8YZR

Key Download

OO3HO-VKFL2-RDOVL-ROPKG-TX85M
GH5FL-8FTVH-68SLC-LMP53-UYEI1
WA4WC-7LTCF-LTBYD-85HG9-TVG71
NDQEE-5G02D-KR9PF-0JR34-2UBID

Product Key 2023

CR0NE-EBABB-NUTLB-HFAB1-FWNQB
J2KWP-NADGW-NJC8I-RJING-9VO12
UAATS-QJNG4-1EA20-0YOVM-B66BV
66B2Z-CZ5UE-DE5AP-JV6P5-FSCB9

Activation Code

042DI-VLTDV-WIVLL-XEP9D-Q4WF7
351DM-2OSHQ-PJ4DS-1DSC8-Q3E7P
WDVH8-RJ3MX-K3THL-WH6M6-Y70VL
0U3VF-3GHZU-LU23B-VANGZ-4NLFW

License Key 2022

E84QP-UN82A-274YU-JNRDU-EOQYU
UYN6R-ZFO8L-QIUC0-YQZ11-ZDL16
LWOAS-573LJ-LTTMK-X6YZK-KHFN5
OA8YR-7J6RV-GESN0-U1ULM-KJIOU

Activation Key 2023

7LX42-4K169-KU1IN-EYFQA-S0GTG
3U5H5-WSPMQ-H3KZQ-NV92G-NGF6U
RD6IS-6Q6R3-KU7EX-V2IZ7-ITGP4
1EUUT-VVSJ8-D1UDP-7D5GX-FGFUL

License Key For Window

BW2BR-7VFT8-JMN5U-CRLKJ-ENXRU
OHFM5-Z9STD-X8QOZ-BVEPB-YZYKS
E6KFL-5PJ7Y-5MBZW-KK8TU-7COL5
TGI3H-7GGRA-0KRTA-AAJ0A-33Z3Y

Product Key For Window

DFHS1-0PRXQ-5HAVH-1BPQ8-YNRAD
A70XT-XAL39-WO5R5-MQFB5-PATSC
9NAX5-XH45C-ZVVQG-4RL8F-GRCA8
LM7M7-V5IDI-XVZD8-69783-Y83PX

Which software is used in laptop?

Windows 10 is the world's most well-known and widely used operating system. Windows has long been known for its cutting-edge ecosystem applications. The most excellent part is that software is available for the Windows operating system in a free or paid version for any use.

General tips

1: Before installing software, game, or utility, be sure your computer can handle its system requirements.
2: The manual or a README file describes how to install the software. You may find it as a text file in the same directory as the installation files or online at the software's website.
3: Close or turn off any other applications that are already operating if you are having trouble installing software or it takes a long time.
4: If a new software asks you to restart the computer after installation, obey it.

How to Install?

1: Download the setup along with the crack from the link below.
2: Unzip and extract all files.
3: Install the latest trial version.
4: Then use Software Keygen file to generate the license key.
5: Use this key for the activation.
6: Launch the program and enjoy.
Posts created 13353

Leave a Reply

Your email address will not be published.

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top