Attention Sofware Developers! Protect Your Applications From Unauthorized Copying!
ProtectKit®3.5
Software Copy Protection Toolkit
For C#, VB.NET, Delphi, C++Builder, VB6, C++6 programming
![]() |
Single PC Developer's License: US$949.00 |
![]() ![]() ![]() |
The ProtectKit3.5 stops people from copying your software without your permission
- Stops software theft by preventing unauthorized copies of your applications from running.
- Two protection models: Password protection and Network protection.
- Detects the number of application running on a local area network.
- Machine specific password protection. Unlock passwords specific to the PC.
- Passwords unlock applications on one computer. Applications copied to other computers will not run.
- Flexible hardware parameters allow you to choose hardware signature.
- Random data added to hardware signature lets you differentiate between computers with identical hardware.
- 5 different types of unlock passwords.
- Supports 64 bit operating systems and 64 bit applications.
- Supports native Win32(64) applications in Delphi, C++Builder, Visual C++, and VB6.
- Supports .NET applications: Visual Studio
2017, 2015, 2013, 2012, 2010, 2008, and 2005
- Completely programmable. Lets you create a seamless enduser experience.
- 100% software solution
- No special hardware needed: No dongles, usb locks, or other hardware.
- 3 ways to generate passwords.
- Create trial versions for your applications.
- Rent or lease your software applications.
- Flexible protection periods by days, months, or date.
- Trial periods by number of uses, number of days, number of months, or expiration date.
- Start trial from day of first use, from beginning of month of first use, from month following first use.
- Renewable password protection enabling more uses, days, or months.
- Be sure that every copy of your software being used has been authorized and paid for!!
The ProtectKit3.5 protects your software applications by preventing unauthorized copies of your application from running. With a few simple steps, you can protect your application with one of the strongest copy protection systems available.
The ProtectKit3.5 has two protection models: Password protection and network protection. Password protection locks applications until they are unlocked by a unique password. Network protection provides protection for application running on a local network.
Password protection uses a lockword and the hardware signature of the computer where the application is running to create a unique password that unlocks the application on that computer and only that computer. If the application is copied to another computer, it will not run until it has been unlocked with a new password.
Password protection offers 5 types of protection: standard protection, "number of uses" protection, "number of days" protection, "number of months" protection, and "expiration date" protection. With the ProtectKit3.5, you can set renewable passwords that can enable applications that have exceeded the number of uses, number of days or number of months. Being able to renew an application with a new password after that application has exceeded its allowable uses, days, or months, gives you the ability to rent or lease your software applications. Renew passwords can be generated regularly based on rental or lease agreements with your endusers.
In addition to Password protection, the ProtectKit3.5 offers Network protection for your Win32 (Win64) applications. Network protection detects the number of instances of your application that are running on a network at the same time. The ProtectKit3.5 provides the ability for these applications to communicate with each other letting you, not only detect unauthorized copies, but to disable them as well. With the ProtectKit3.5, you can set the number of applications that you will allow to run simulataneously on a network.
ProtectKit3.5 Features:
Password protection is available in VB.NET /C#.NET
.NET applications built in .NET Framework 2.0 and above can be protected. Target platforms x86, x64, and AnyCPU supported.
Password and network protection is available for Win32(64) applications.
Protect native Win32(64) applications built in Delphi, C++Builder, VC++, and VB6.
Password protection supports 64 bit operating systems.
Password protection can be used on 64 bit operating systems (both 32
bit applications and 64 bit applications supported)
Password protection supports 64 bit applications.
Password protection can be used with 64 bit applications.
Supports digital signatures
Digitally signed applications can be protected with the ProtectKit3.5.
Special hardware is not necessary
The ProtectKit3.5 is a 100% software solution. It protects your applications from unauthorized copying without
the need for any special hardware. There is no need for dongles, usb locks, or
other hardware. Protected applications will run on desktop PCs and on laptops.
No additional runtime costs
The ProtectKit3.5 is runtime license free. This means that a registered user of
a ProtectKit3.5 PC developer license can protect as many different applications
as they wish and deploy an unlimited number of each application without any
additional costs, fees, or limitations.
A direct impact on your bottom line
The ProtectKit3 increases revenue because copies of your software that are
not authorized by you, will not run until you have authorized them. It is as
simple as that. No more pirated software. Every copy of your protected
applications currently being used will have been paid for.
ProtectKit3.5 protected applications can be deployed in exactly the same way as
your regular applications
Applications protected by the ProtectKit3.5 can be distributed in the same way
that you have always distributed your applications (DVD, internet download, email distribution, CD-ROM, Floppy Disk, etc). Because the ProtectKit3.5 protection is
embedded within your application, there is no need to change the way you deploy
your applications.
The ProtectKit3.5 can detect when unauthorized copies of your software are
running on a local area network. (Not available for .NET applications)
When copies of your protected application are running on a network, by using
Network protection, you can detect and control how many instances of your
application are running. You can verify how many are running, whether they are authorized and can disable applications when they are not.
Using the ProtectKit3.5, you can rent or lease your applications
Because you have the option of allowing renewable passwords, you can authorize
your application to work for a specific period of time or number of uses. After
that has been exceeded, the application will be locked until a renew password
is generated. Each time a renew password is used, it will enable the application to run again but only for the specified number of uses, days, or months. By setting "number of use", "number of days", or "number of
months" protection with renewable passwords, you have the ability to renew the application letting you rent or
lease software.
The ProtectKit3.5 retrieves a hardware signature from the computer that is running
your application
The ProtectKit3.5 uses a combination of a lockword and the hardware signature
where the application is running to create a unique password. Even after the
application has been unlocked on one computer, if that application is copied to a
different computer, it will not run. The ProtectKit3.5 allows you to determine what
combination of hardware will comprise a unique hardware signature (CPU,
Motherboard, Videocard, NetworkCard). This gives you added flexibility when
protecting your application. In addition to this, if your enduser's system
crashes and they must format their hard drive, as long as the hardware
signature has not changed, the same password will unlock your application on
the new hard drive. There is no need for the enduser to request a new password
from the application vendor.
Add random data to hardware signature
You can choose to add random data to your hardware criteria. This lets you distinguish between two computers that have identical hardware.
3 ways to generate passwords
The ProtectKit3.5 provides you with three types of password generators so that
you can provide passwords to your users seamlessly. The password generator EXE
is a runtime password generator that doesn't require any programming. Simply
enter the lockword and the hardware signature (PcID) from the enduser's computer
and you can generate the password needed to unlock that application on that
computer. The password generator OCX and DLL provide a programmable API that
allows you to generate the needed passwords programmatically. The Email API
gives you an easy seamless way to send the generated passwords to the enduser
so they can unlock the application.
How To Protect Your Applications
Password Protection
Password protection allows you to lock your application until it is unlocked by a password. The ProtectKit3.5 Password protection uses a combination of a lockword that you determine and a unique hardware signature that is retrieved from the enduser's computer. With these two unique pieces of information, a password is generated that will unlock the application on that computer and only that computer. If the unlocked application is copied to another computer, it will not run (unless it is unlocked on that computer with a different password).
The ProtectKit3 provides you with a variety of different types of password protection.
1. Standard Protection:
This type of protection locks the application until it it unlocked with a password. After it has been unlocked, the application will run on that computer indefinitely. If the protected application is copied to another computer, it will not work until unlocked on the new computer. There is no "renewal password" option with this type of protection.
2. Number of Uses Protection:
This protection sets the number of times an application can be used. The application can be used for the specified number of uses. Each time the application starts up, that is counted as one use. After the number of allowable uses has been exceeded, the application is locked and will remain locked until it is unlocked with a password. After being unlocked, the application will run indefinitely. At any time, if the protected application is copied to another computer, it will not work until unlocked on the new computer.
There is a "renewable" password option with this type of protection. This option allows the protected application to run for the specified number of uses. After the number of allowable uses has been exceeded, the application is locked and will remain locked until it is unlocked with a password. After being unlocked with a new password, the application will not run indefinitely but will only run again for the number of allowable uses. At any time, if the protected application is copied to another computer, it will not work until unlocked on the new computer.
3. Number of Days Protection:
This protection sets the number of days an application can be used. The application can be used for the specified number of days. After the number of allowable days has been exceeded, the application is locked and will remain locked until it is unlocked with a password. After being unlocked, the application will run indefinitely. At any time, if the protected application is copied to another computer, it will not work until unlocked on the new computer.
There is a "renewable" password option with this type of protection. This option allows the protected application to run for the specified number of days. After the number of allowable days has been exceeded, the application is locked and will remain locked until it is unlocked with a password. After being unlocked with a password, the application will not run indefinitely but will only run again for the number of allowable days. At any time, if the protected application is copied to another computer, it will not work until unlocked on the new computer.
4. Number of Months Protection:
This protection sets the number of months an application can be used. The application can be used for the specified number of months. After the number of allowable months has been exceeded, the application is locked and will remain locked until it is unlocked with a password. After being unlocked, the application will run indefinitely. At any time, if the protected application is copied to another computer, it will not work until unlocked on the new computer.
There is a "renewable" password option with this type of protection. This option allows the protected application to run for the specified number of months. After the number of allowable months has been exceeded, the application is locked and will remain locked until it is unlocked with a password. After being unlocked with a password, the application will not run indefinitely but will only run again for the number of allowable months. At any time, if the protected application is copied to another computer, it will not work until unlocked on the new computer.
5. Expiration Date Protection
This protection sets the date after which an application will be locked. The application will run until the specifed date is exceeded. After the specified date, the application is locked and will remail locked until unlocked with a password. After being unlocked, the application will run indefinitely. There is no "renewal password" option with this type of protection.
The above protection types can also be applied to a specific feature of your application!
What steps are needed to add password protection to my applications?
Adding password protection to your application is very easy:
1. Set ProtectKit code in your application.
2. Set protection information using the "Set Password Protection Tool".
3. Deploy Application.
4. Generate a password and send it to the user.
.NET Example: (in Visual Basic .NET)
Step 1: Initialize
the ProtectKit in your application code
Initializing the ProtectKit3.5 in the Form Load event:
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
passwordProtect1.DllFileName = "ProFuncNET32.dll"
Dim ret As Integer =
passwordProtect1.Initialize("VB_Sample1.exe", "ProInfo32.dll")
If (ret <> 0) Then
Select Case (ret)
Case
-1 : MessageBox.Show("Unable to run application.")
Case
1 : MessageBox.Show("Service is not running.")
Case
2 : MessageBox.Show("Unable to load protection information file.")
Case
3 : MessageBox.Show("Lockword is incorrect.")
Case
4 : MessageBox.Show("Application must run on a local disk.")
Case
5 : MessageBox.Show("An error has been generated")
End Select
Me.Close()
End If
Dim s As String = passwordProtect1.GetLockword()
Dim ChkLockword() As String = "AbcdefgH"
If (s <> ChkLockword) Then
MessageBox.Show("Lockword
is incorrect.")
Me.Close()
End If
label1.Text = "OK"
End Sub
Retrieve the computer's Hardware Signature (PcID):
Private Sub button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles button1.Click
textBox1.Text = passwordProtect1.QueryPcID()
End Sub
Set the Password:
Private Sub button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles button2.Click
passwordProtect1.SetPassword(textBox2.Text)
End Sub
Check Protection Status:
Private Sub button3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles button3.Click
Dim ret As Integer = passwordProtect1.QueryProtect()
Select Case ret
Case -1 : label4.Text = "Unable to run application."
Case 0 : label4.Text = "Application is unlocked."
Case 1 : label4.Text = "Application is locked."
Case 2 : label4.Text = "Exceeded allowable number of uses."
Case 3 : label4.Text = "Exceeded allowable number of days."
Case 4 : label4.Text = "Exceeded allowable number of months."
Case 5 : label4.Text = "Application has expired."
Case 6 : label4.Text = "Computer's clock has been turned back."
Case 7 : label4.Text = "Computer is different."
Case 8 : label4.Text = "Protection file is incorrect."
Case 9 : label4.Text = "Lockword is incorrect."
Case 10 : label4.Text = "Password is incorrect."
Case 11 : label4.Text = "Other"
Case 12 : label4.Text = "Using an improper protection file."
End Select
'...Other programming code....
End Sub
Step
2: Set protection information
Use the Set Password Protection tool to set protection information into your application:
This tool writes protection information into a "protection information file" and also writes the same information into a file that is added to your application as a resource.
Password protection allows you to enable your applications in a variety of ways. Standard protection locks the application until it is unlocked. "Number of uses", "Number of days", "Number of months" and "Expiration date" protection allow you to set how many times the application can be used, or for how many days, or months it will run. "Expiration date" protection sets a date after which the application stops running. The "renewable passwords" feature lets you re-enable an application that has stopped and it will be enabled again for the specified number of uses, days, or months.
Step
3: Embed the protection file into your application
In Step 2, the Set Password Protection tool, generated two files; a protection information file and another file containing the protection information that will be embedded in your application. To embed this file, use the Stream property of the PasswordProtect class.
How To Embed Protection Information:
There are two ways to embed the protection information into your
application:
1. Open your application project, select the PasswordProtect class.
In the Properties window, click on button at the right of the Stream property
(see image below) and set the path to the embedded protection file.
2. Open your application project and add the protection file to your project.
In the Properties Window, set the file's build action to "Embedded Resource".
After embedding the protection information, build the application.
Performing Steps 2 and 3, prior to Step 1, allows you to debug the protection
portion of your code.
Step
4: Obfuscate your application
If you are obfuscating your compiled application, do that at this step. If you are not obfuscating your application, proceed to Step 5.
We highly recommend that you obfuscate your .NET applications. If your applications and resource files are not obfuscated, program code may be readable if your application is decompiled and your lockword and other protection information may be exposed. Obfuscating your .NET application and resource files using string encryption will prevent your programming code and protection information from being exposed.
Step
5: Digital signature
If you are digitally signing your application, do that at this step. If you are not digitally signing your application, proceed to Step 6.
Step
6: Deploy your application
Deploy your application and all its associated files to the target machine.
Step
7: Generate a password to unlock the application and send it the user
Three types of Password Generators
The ProtectKit3.5 ships with three password generating programs. The runtime Password Generator (EXE) is an application that allows you to enter a lockword and a PcID to generate a password manually, without any need for programming. Using the lockword from Step 2 and the PcID retrieved from the enduser's computer, you can generate an unlock password, which you send to the enduser to unlock the application.
The Password Generator EXE
The Password Generator OCX and DLL files
These files provide the password generating functions in an easy to use API. This allows you to generate passwords programmatically using the lockword and retrieved PcID. You can also send the generated passwords to your users. These programming API allow you to do this seamlessly.
Below is sample code from a web application that uses VBScript to generate the password.
Set objCOM = Server.CreateObject("Pr3PassGen.PassGen")
objCOM.LockWord = varLockword
objCOM.PCID = varPCID
objCOM.PasswordType = varType
varUnlockword = objCOM.PS3GetPassword
Set objCOM = nothing
Here is Visual Basic code that uses the EMail API
ret = PS3SendMail("msv.newtone.co.jp",
"info@newtone.co.jp", _
"NEWTONE", "paul@company.com", "Users", _
"PassWord Information", "Below is the password needed to unlock....")
Win32 (Win64) Example: (in Visual Basic)
Step
1: Initialize the ProtectKit in your application code
Initializing the ProtectKit3.5 in the Form Load event:
Private Sub Form_Load()
Dim LockWord As String * 9
Dim ChkLockword As String
Dim LockwordLen As Long
.
ret = PK3Initialize("Project1.exe",
"ProInfo.dll")
If ret <> 0 Then
If ret = 1 Then
Msg= "Unable to run application."
If ret = 2 Then
Msg= "Unable to load protection information file."
If ret = 3 Then
Msg= "The lockword is incorrect."
.
End
End If
LockwordLen = PK3GetLockword(LockWord)
ChkLockword = "Ab" & "cd" & "ef" &
"gH"
If LockwordLen <> 8 Or ChkLockword <>
Left(Lockword, LockwordLen) Then
End
End If
End Sub
Retrieve the computer's Hardware Signature (PcID)
Private Sub Command1_Click()
Dim str As String * 65
Dim strLen As Long
...
ret = PK3QueryPcID(str, strLen)
Text2.Text = str
...
End Sub
Set the Password
Private Sub Command2_Click()
ret = PK3SetPassword(Text1.Text)
End Sub
Check Protection Status
Private Sub Command3_Click()
ret = PK3QueryProtect()
If ret = 0 Then Msg = "Application is unlocked."
If ret = 1 Then Msg = "Application is locked."
If ret = 2 Then Msg = "Exceeded allowable number of uses."
.
End Sub
Step
2: Set protection information
Use the Set Password Protection tool to set protection information into your application:
This tool writes protection information into a "protection information file" and also embeds the same information into your compiled application.
Step
3: Digital signature
If you are digitally signing your application, do that at this step. If you are not digitally signing your application, proceed to Step 4.
Step
4: Deploy your application
Deploy your application and all its associated files to the target machine.
Step
5: Generate the password and notify the user
The Password Generator
The ProtectKit3.5 provides several ways to generate passwords. The runtime Password Generator (EXE) allows you to enter a lockword and a PcID and generate a password manually. For example, using the lockword from Step 2 and the PcID retrieved from the user's computer, you can generate a password, which you send to the enduser so that they can unlock the application.
Password Generator EXE
Password Generator OCX and DLL
These files provide the password generating functions in a useful API. This API allows you to generate passwords programmatically from the lockword and retrieved PcID and to send the passwords to your users.
Below is an example of a web application that uses VBScript code to to generate a password.
Set objCOM = Server.CreateObject("Pr3PassGen.PassGen")
objCOM.LockWord = varLockword
objCOM.PCID = varPCID
objCOM.PasswordType = varType
varUnlockword = objCOM.PS3GetPassword
Set objCOM = nothing
Here is Visual Basic code that uses the EMail API
ret = PS3SendMail("msv.newtone.co.jp",
"info@newtone.co.jp", _
"NEWTONE", "paul@company.com", "Users", _
"PassWord Information", "Below is the password needed to unlock....")
Types of Password Protection:
Protection Type | Protected Application |
Standard Protection | The application will be locked until it is unlocked with a password. Once the application is unlocked it will run indefinitely on that computer. There are no renewable passwords with Standard Protection. |
Number of Uses Protection | The application will run until the specified number of uses are exceeded. Once exceeded, the application will be locked until it is unlocked with a password. If ordinary passwords are used with this application then when it is unlocked, the application will run indefinitely. If renewable passwords are used with this application then when unlocked, the application will run again for the specified number of uses. |
Number of Days Protection | The application will run until the specified number of days are exceeded. Once exceeded, the application will be locked until it is unlocked with a password. If ordinary passwords are used with this application then when it is unlocked, the application will run indefinitely. If renewable passwords are used with this application then when unlocked, the application will run again for the specified number of days. |
Number of Months Protection | The application will run until the specified number of months are exceeded. Once exceeded, the application will be locked until it is unlocked with a password. If ordinary passwords are used with this application then when it is unlocked, the application will run indefinitely. If renewable passwords are used with this application then when unlocked, the application will run again for the specified number of months. |
Expiration Date Protection | This protection sets the date after which an application will be locked. The application will run until the specifed date is exceeded. After the specified date, the application is locked and will remail locked until unlocked with a password. After being unlocked, the application will run indefinitely. There is no renewal password option with this type of protection. |
Renewable Password Option | For protection types 2, 3, and 4. Expired application can be enabled again for the specified number of uses, days, or months. |
Network Protection
Network protection allows you to detect the number of instances of your application that are running on a local network at the same time. Because the ProtectKit3.5 allows the instances of your application to communicate with each other, you are able to detect the number of instances running, retrieve and confirm serial numbers or other information, and disable applications.
Network protection is available for Win32 (Win64) applications only. Network protection does not support .NET applications.
Win32 (Win64) Example: (in Visual Basic)
Step 1: Initialize
the ProtectKit in your application code
Private Sub Form_Load()
Dim GetNetword As String * 65
Dim Netword As String
Dim ChkNetword As String
Dim NetwordLen As Long
Dim net As PROTECTKIT3NET
Dim ret As Integer
net.szAppID = "12345678.VB6" & Chr$(0)
'Setting an ID for the application
net.szMessage = Text1.Text & Chr$(0)
'The message to be transmitted
net.lSendTime = Val(Text3.Text)
'Interval timer (in seconds)
net.hWndHandle = Me.hWnd
'Window handle
...
ret = PK3NETInitialize(net, "Project1.exe",
GetNetword, NetwordLen)
ChkNetword = "A" & "b" & "c" & "d"
& "e" & "f" & "g" & "H"
If NetwordLen > 0 Then
Netword =
Left$(GetNetword, NetwordLen)
End If
If ret = False Or ChkNetword <> Netword
Then
MsgBox "The Netword
is incorrect."
Exit Sub
End If
ret = PK3NETStartNet
End Sub
End processing
Private Sub Form_Unload(Cancel As Integer)
PK3NETStopNet
End Sub
Checking for applications running on other computers
Private Sub Form_Resize()
Dim ret As Long
Dim msg As PROTECTKIT3NET_MSG
...
'retrieve the transmitted message
ret = PK3NETGetMessage(msg)
If ret <> False Then
Text2.Text =
Left(msg.szMessage, msg.lMessageLen) 'Receive message
Text4.Text =
Left(msg.szPcName, msg.lPcNameLen)
Text5.Text =
Left(msg.szMacAdr, msg.lMacAdrLen)
Beep
End If
End Sub
Step 2: Set
the Netword
Use the Set Network Protection tool to set the netword into the application file.
Step 3:
Digital signature
If you are digitally signing your application, do that at this step. If you are not digitally signing your application, proceed to Step 4.
Step
4: Deploy your application
Deploy your application and all its associated files to the target machine. It is not necessary to generate a password and send it to the enduser.
ProtectKit3.5 Licensing
The ProtectKit3.5 license is a "PC developer" license.
This means that a seperate license is required for each computer where the
ProtectKit3.5 is used to develop software.
For example:
If the ProtectKit3.5 is used by only one person on one computer, then only one PC developer license is required.
If the ProtectKit3.5 is used by only one person, but this person uses it on two
computers, then 2 PC developer licenses are required.
If two software developer's use the ProtectKit3.5 but only on one computer,
then only one license is required.
For software developers who require multiple licenses, we have multiple license packs available at a significant discount. For more details about licensing, please refer to our licensing page or contact us at sales@imagekit.com.
ProtectKit3.5 Runtime License
The ProtectKit3.5 is runtime license free for all registered developers. The registered developer can make as many different runtime applications as they wish and they can distribute as many of each of these applications as they wish with out limit, additional fees, or royalties. Only registered users are allowed to do this. To register, simply send us your contact information along with the serial number of the ProtectKit3.5 that you are using to register@imagekit.com. For more information, please visit our user registration page.
The ProtectKit3.5 can only be registered to the person using it. It cannot be registered to a company, a group, or any other entity.
USER REGISTRATION IS NOT TRANSFERRABLE WITHOUT EXPRESSED WRITTEN PERMISSION FROM NEWTONE CORPORATION.
Suggested Retail Price
ProtectKit3.5 PC
Developer License US$949.00
(1 Single PC Developer License)
Multiple licenses are available at a discount from our online store
Supported Environment
ProtectKit3.5
Supported OS
Microsoft Windows
10 / 8.1 / 8 / 7 / Vista / XP / Server 2016 / Server 2012 / Server 2008 R2 / Server 2008 / Server 2003
Supported Development Container
Native Applications (Password Protection and Network Protection)
Visual Basic 6.0, Visual C++ 2015 / 2013 / 2012 / 2010 / 2008 / 2005 / 2003 / 6.0, Embarcadero RAD Studio
Rio 10.3 / Tokyo 10.2 / Berlin 10.1 /Seattle 10 / XE8 / XE7 / XE6 / XE5 / XE4 / XE3 / XE2 / XE / 2010, (C++Builder
Rio 10.3 / Tokyo 10.2 / Berlin 10.1 / Seattle 10 / XE8 / XE7 / XE6 / XE5 / XE4 / XE3 / XE2 / XE / 2010, Delphi 10 Seattle
/ XE8 / XE7 / XE6 / XE5 / XE4 / XE3 / XE2 / XE / 2010), CodeGear RAD Studio 2009 (C++Builder
2009 / Delphi 2009 for Win32), CodeGear RAD Studio 2007 (C++Builder 2007 / Delphi
2007 for Win32), Borland Developer Studio 2006 (C++Builder / Delphi for Win32),
Delphi 2005(Win32) / 7 / 6 / 5, C++Builder 6 / 5
CLR Applications (Password Protection Only)
Visual Studio
2015 / 2013 / 2012 / 2010 / 2008 / 2005
IMPORTANT: Computers with multiple CPUs, multiple video or network cards, may not have a consistant hardware signature and may experience problems with the ProtectKit3.5.