DC Application Protector
Overview
-
DC.AppProtector is a library that allows you to protect Windows executable files against piracy using multi-level encryption algorithms. Thanks to Nested Layers Protection (NLP), the new protection technology we adapted in our protection system.
-
DC.AppProtector's dialog box is generated on the fly so any hacker's attempt to remove its resource will fail. It can be used with any developing language that supports COM based applications like Visual Basic, Visual C++, Borland C++, Delphi, and others.
-
DC.AppProtector allows you to release your trial version with restrictions like a day limit. It has 3 levels of encryption algorithms, with about 50 million collections. Each encryption algorithm in this 50 million collection has a huge variety of activation keys that can be generated.
-
If you are losing sales to software piracy, stop it now with our advanced, secure software protection system. It is very easy to include in your developing project with only 3 lines of code. EGY1ST has done a lot of work for you. You define a few lines of code and we keep you safe from hackers' attempts.
Features
Do you know that DC.AppProtector itself is protected by itself!? Just a few lines need to be added in your Form_Load event and you will get a full, secure software protection system.
You can:
- Define your multi-level encryption algorithms.
- Define your free trial days limit.
- Define your customized message that appears on the protection dialog box.
- Define your URL where customers can purchase your product.
Example:
Dim MyProtection As New DynamicComponents.AppProtector()
Dim ProductName As String
Dim CompanyInfo As String
' Customized author message
CompanyInfo = "Company Name: EgyFirst Software, inc." + vbCrLf ' vbCrLf forces a new line
CompanyInfo += "Home Page: http://www.egyfirst.com" + vbCrLf
CompanyInfo += "License: Free 30 Day Trial Version"
ProductName = "DC AppProtector v1.0"
' Code of Protection
MyProtection.SetInformation(ProductName, CompanyInfo, "https://example.com/buy")
MyProtection.SetAlgorithms(1234, 56, 78)
MyProtection.SetLicense(30) ' May be ignored, the default is 30 days
MyProtection.ShowAuthor()
System Requirements
DC.AppProtector runs as a COM class that can be included in any developing language that supports COM based applications like Visual Basic, Visual C++, Borland C++, Delphi, and others.
Installation
The DC.AppProtector setup program will automatically register the DC_AppProtector10.dll file on your system. There is no need to manually run RegSvr32.exe on your development system.
Including DC.AppProtector
To include DC.AppProtector in your project:
- From the Project menu select Add Reference.
- Click the Browse button to locate your AppProtector10.DLL file which by default is located in c:\windows\system32. Now the specific DLL is included in your references.
Deploying DC.AppProtector
The only file that needs to be distributed with DC.AppProtector COM applications is DC_AppProtector10.dll.
This file should be copied to the WinSystem directory which by default is C:\Windows\System32.
How to Use
SetInformation Function
The SetInformation function enables you to define your customized message that appears on the protection dialog box. It includes 3 parameters:
- Product info
- Company info
- URL where customers can purchase your product by clicking the Buy Now button on the Protection dialog box
Syntax:
SetInformation(ByVal str_ProductName As String, ByVal str_CompanyInfo As String, ByVal str_BuyNow_URL As String)
Example:
Dim CompanyInfo As String
CompanyInfo = "Company Name: EgyFirst Software, inc." + vbCrLf ' vbCrLf forces a new line
CompanyInfo += "Home Page: http://www.egyfirst.com" + vbCrLf
CompanyInfo += "License: Free 30 Days Trial Version"
MyProtection.SetInformation("DC AppProtector v1.0", CompanyInfo, "https://www.egyfirst.com/buy")
SetAlgorithms Function
Encryption algorithms define the method DC.AppProtector is used to generate its activation keys.
DC.AppProtector has 4 levels of encryption algorithms:
- First level has 6000 choices (must be between 1000 and 7000)
- The second level has 90 choices (must be between 10 and 99)
- The third level has 90 choices (must be between 10 and 99)
- Fourth level is a 7-character string
If you develop more than one product and protect them all with the same DC.AppProtector, then every product must have a different ID. So the first product may have algorithms like (1234, 56, 78, "abcdefg") and the second product may have (1234, 56, 78, "aaabccc"). This means you can define similar or different algorithms for multiple protected products, but every product must have a unique ID defined by the int_Algorithms4 parameter.
Caution: If you develop more than one product and protect them all with the same product ID, then any registration to one will register the rest.
Syntax:
SetAlgorithms(ByVal int_Algorithms1 As Integer, ByVal int_Algorithms2 As Integer, ByVal int_Algorithms3 As Integer, ByVal str_Algorithms4 As String)
Example:
SetAlgorithms(1234, 56, 78, "abcdefg")
SetLicense Function
The SetLicense function enables you to define the trial version days limit. If this assignment is ignored, it will default to 30 days.
Syntax:
Public Sub SetLicense(ByVal int_DaysLimit As Integer)
Example:
SetLicense(15)
ShowAuthor Function
This function is the heart of your protection and is responsible for popping up the protection dialog box. This function must be called at the end of your protection code block.
Syntax:
Function ShowAuthor()
No parameters are required.
Example:
ShowAuthor()
NotLicensed
The NotLicensed public variable indicates the state of your product license. It will be True if the protected product is registered or within the trial period.
Syntax:
Public NotLicensed As Boolean = False
Example:
Dim MyProtection As New DynamicComponents.AppProtector()
If MyProtection.NotLicensed Then Exit Sub
Activation Key Utility
Using the Activation Key utility you can generate huge numbers of randomized activation keys based on the algorithms you use. So the activation keys collection generated by SetAlgorithms(1234,56,78) will differ completely from one generated using SetAlgorithms(1111,11,11) or any other algorithms.
Example:
Here are some activation keys generated using the algorithms:
SetAlgorithms(1234,56,78)
2533-177-552-708-7856
2670-209-627-395-7963
2858-259-683-679-4606
3210-373-873-517-1567
3331-419-780-812-0071
2412-152-129-710-8440
3451-468-894-209-3279
2222-117-365-198-8042
3193-367-706-720-5254
2616-196-555-752-0925
SetAlgorithms(1111,11,11)
2167-115-069-275-1206
2933-292-542-319-1226
3781-640-481-975-8749
3784-642-049-096-4889
3797-648-869-680-0506
3767-633-202-668-7204
3607-553-914-590-1600
2381-153-727-457-2744
3923-717-512-323-8126
3805-653-091-025-3862
There are 50 million encrypted algorithms available generated from any combination of (*, *, ) where:
- The first algorithm must be between 1000 and 7000 ==> (7000 - 1000) ==> 6000 options
- The second algorithm must be between 10 and 90 ==> (90 - 10) ==> 80 options
- The third algorithm must be between 10 and 90 ==> (90 - 10) ==> 80 options
This is (6000 * 80 * 80) ==> 4,800,000 different combinations
Tutorial
This tutorial describes all the features supported by DC.AppProtector.
You can also refer to the project example installed by default at:
C:\Program Files\Dynamic Components\Application Protector\Tutorial\
This code must be in the first form loaded in your project:
Private Sub TestForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim MyProtection As New DynamicComponents.AppProtector()
Dim ProductName As String
Dim CompanyInfo As String
' Customized author message
CompanyInfo = "Company Name: EgyFirst Software, inc." + vbCrLf ' vbCrLf forces a new line
CompanyInfo += "Home Page: http://www.egyfirst.com" + vbCrLf
CompanyInfo += "License: Free 30 Days Trial Version"
ProductName = "DC AppProtector v1.0"
' Code of Protection
MyProtection.SetInformation(ProductName, CompanyInfo, "http://www.egyfirst.com/buy")
MyProtection.SetAlgorithms(1234, 56, 78)
MyProtection.SetLicense(30) ' Default is 30 days
MyProtection.ShowAuthor()
End Sub