|
|
 |
The Main Panel
The main panel consists of 4 tabs. Each tab is
designed to accomplish a special range of tasks and setups.
Files

The Files page specifies the main protected assembly, additional
protected assemblies and debug files, and general protection
settings.
In Application protection mode, Additional Files (*.dll and *.pdb files only)
are embedded into the protected application. In Library protection
mode, Additional
Files (*.dll and *.exe files only) are protected separately or
merged with the main assembly. In contrast to Application
protection mode, with Library protection mode the protected output
can be still referenced and used from other assemblies.
Settings

General
Settings
In the Settings page, the General Settings node enables
compression, visual styles, display of the console (for console
applications only), target file location and display of a loading
screen. The bottom panel gives you a description of the
currently selected property.
- Compression - If set to True, .NET Reactor
will compress a .exe file saving space on disk and bandwidth if you
provide your code for internet download.
- Visual Styles - If you wish to use visual styles
(which are a feature of Windows Xp and Windows Vista), you will
need to set this option to True. If set to false, any attempt in
your assembly to enable visual styles will be ineffective.
- Console Display - Set to true to display the
character mode console when your program starts. This option should
normaly be set to false for applications that only use a graphical
user interface.
- Target file location - .NET Reactor creates a new
file containing your protected assembly. This field allows you to
specify the path and name of that file. If left blank, .NET Reactor
will write the new file to a default location.
- Loading Screen - During the loading of a
protected application, .NET Reactor can display a small "loading"
screen.
Protection Settings
The Protection Settings node allows you to enable Compact Framework
Protection, Native Library Filename, and NecroBit protection. The
bottom panel documents the selected property.
Native Library Filename should be left blank, unless you want to
specify a unique protected output filename. Please note, an
additional library is only created in "Library" protection
mode.
NecroBit protection protects your source from decompilation.
In Compact Framework Protection mode, it is not possible to support
license implementations.
- Compact Framework Protection Mode - Enable this
option if you wish to use the Compact .NET Framework with your
assembly. Please note that in Compact Framework Protection Mode,
the powerful licensing facilities of .NET Reactor are not
available.
- Digital Certificate - This node enables you to
sign your protected assembly with a digital certificate.
- Merge Assemblies - This option is used only in
Library protection mode. Enable this option to merge multiple .NET
assemblies into one .NET assembly. Disable this option to protect
all Additional
Files separately. In Application Protection mode all Additional
Files (*.dll and *.pdb files only) are embedded automatically into
the protected application.
- Native Library Filename - This option is used
only in Library protection mode, when NecroBit protection or a Lock
is enabled. Native Library Filename should be left blank, unless
you want to specify a unique protected output filename.
- NecroBit - Enable this option to use NecroBit
protection. NecroBit can be used with both Application and Library
protection mode. In Library protection mode an additional file will
be created.
- Obfuscation - This node allows you to enable
Control Flow Obsfucation, to Create a Mapping file, to enable
general obsfucation of class, method, property and variable names,
to obfuscate public types, to use unprintable characters in
obsfucated names, and/or to perform string encryption.
- Enable "Control Flow Obfuscation" to mangle program flow,
making it extremely difficult for humans to follow the program
logic. Most decompiler are unable to decompile control flow
obfuscated methods.
- Enable "Mapping file" to create a file which cross
reference unobfuscated names with obfuscated ones, which
is used by the Stack Trace Deobfuscator.
- Set "Enabled" to True to obfuscate non public class
and member names.
- Enable "Obsfucate Public Types" to obfuscate all type and
member names in an assembly.
- Unprintable characters uses unprintable strings to obfuscate
type and member names, but cannot be used if your assembly must run
as safe code.
- String Encryption disguises internalized text, making it all
the more difficult to decipher the interaction of your CIL.
- Protection Mode tells .NET Reactor if you are
protecting an application or a library
-
- In Application protection mode, Additional Files (*.dll
and *.pdb files only) may be embedded into the protected
application.
- In Library protection mode, Additional Files (*.dll
and *.exe files only) are protected separately or merged with the
main assembly. In contrast to Application protection mode, the
protected library can be referenced and used from other
assemblies.
- String Encryption - Enable this option to have
.NET Reactor encrypt your string constants and variables. This
encryption makes it much more difficult for a hacker to
attempt a native code patch of your application, as he will be
unable to identify the text of messages or other
useful strings, making it much more difficult to identify
where to patch your code.
- Strong Name Key Pair File - .NET Reactor
automates the handling of strongly named assemblies. Select your
key file and specify your password, and .NET Reactor does the
rest.
Lock
Settings
Once you have protected your intellectual property
from theft or unintended disclosure using the .NET Reactor
protection options, the next step in maximising your revenue stream
is to ensure your full version application cannot be used without
the purchase of a license. This is where the feature rich .NET
Reactor licensing system comes in. Using a variety of "locks", .NET
Reactor gives you the ability to control use of your application in
a variety of ways - trial versions, software rental, software as a
service - all are possible using .NET Reactor locks, and all
without any modifications to your source code. We recommend that
you spend some time to understand these license enforcement options
as the time you invest in doing so will be time well spent.
The Lock Settings node is where you specify the
licensing controls you want .NET Reactor to build into your
assembly when you protect it. These locks are implemented by
additional code which .NET Reactor includes in the protected
assembly and requires no changes to your application source code to
implement. One of the powerful features of .NET Reactor licensing
is that the settings you inbuild into your assembly can be
overridden by providing a license file to your customer, meaning
you do not need to supply a separate licensed version of your
program - the trial version and full version are exactly the same,
the only difference being the license file you provide to paying
customers.
Note: These options are ignored when you
set "Compact Framework Protection Mode", in the "Protection
Settings" node to True.
- Expiration Behavior All
-
- When set to True causes the expiration of
the assembly only when all other enabled locks have expired.
- When set to False the assembly expires when any
one of the locks expires. This is a very powerful option, enabling
you to (for example) implement a trial period which is either 30
days or 50 uses. It is worth spending a little time considering the
flexibility which this option offers.
- Inbuild Lock - Evaluation
Period
The Evaluation period lock enables the creation of trial versions
of your application, limiting the use of your trial in a variety of
ways :
- Dialog - Specifies whether a dialog box should be
displayed to the user when the Evaluation Period expires and the
message to display
-
- Enabled - set to true to display an evaluation
period expired dialog box
- Message - Enter the text of the message you would
like to display to the user when the Evaluation Period expires. The
message can be customised by .NET Reactor based on the evaluation
settings, by substituting various strings as follows :
-
- [current_minutes_days] is replaced by the current
days since your application was installed (for evaluation type =
Trial_Days) or the number of minutes the application has run for
(for evaluation type = Runtime_Minutes)
- [max_minutes_days] is replaced by the value
specified in the "Time" field
- Enable - Enables this lock.
- Evaluation Type - Allows you to specify 2
different types of trial versions :
-
- Trial_Days - your application will work for the
specified number of days from the date of first installation on a
computer
- Runtime_Minutes - The use can run the application
an unlimited number of time, for an unlimited number of days, but
the apllication will shut down each time it is run, after the
specified number of minutes.
- Time - Specify the number of days or minutes for
the evaluation period.
- Message - Evaluation period expired message.
- Inbuild lock - Expiration Date
The Expiration Date lock allows you to specify the exact date on
which your application should expire. This is useful for example
for beta test versions and for software rental (where you can
specify the expiration date as the day following the last date the
customer has paid for the use of your software).
- Dialog - Specifies whether a dialog box should be
displayed to the user when the Expiration Date is reached, and the
message to display
-
- Enabled - set to true to display an "expiration
date reached" dialog box
- Message - Enter the text of the message you would
like to display to the user when the Expiration Date is
reached.
- Enable - When set to true, this lock is
enabled.
- Expiration Date - Specify the date upon which the
application is to expire.
- Inbuild Lock - Number
of Uses
This lock, if enabled, causes your application to expire after the
specified number of uses.
- Dialog - Specifies whether a dialog box should be
displayed to the user when your application has been used the
specified number of times, and the message to display
-
- Enabled - set to true to display a "number of
uses exceeded" dialog box
- Message - Enter the text of the message you would
like to display to the user when the number of uses has been
exceeded. The message can be customised by .NET Reactor based on
the evaluation settings, by substituting various strings as follows
:
-
- [current_uses] is replaced by the number of times
your application has been run by the user
- [max_uses] is replaced by the value set in the
"Uses" field for this lock.
- Enable - Enable this lock.
- Uses - Specify the number of times the user can
run your application before it expires.
- Max Number Of Instances
The max number of instances lock allows you to specify the maximum
number of copies of your application the user is allowed to start
at the same time. Please note that exceeding the specified number
of instances does NOT cause your application to expire.
- Dialog - Specifies whether a dialog box should be
displayed to the user when they attempt to run more than the
specified number of instances of your application, and the message
to display
-
- Enabled - set to true to display a "number of
instances exceeded" dialog box
- Message - Enter the text of the message you would
like to display to the user when the number of instances has
been exceeded. The message can be customised by .NET Reactor based
on the evaluation settings, by substituting various strings as
follows :
-
- [max_processes] is replaced by the value set in
the "Instances" field for this lock
- Enabled - Enable ths lock.
- Instances - The maximum number of instances.
- Nag Screen
We are all familiar with nag screens in applications, reminding us
to purchase the product before the trial period expires. This
option allows you to specify whether to display a nag screen to
your user, again without any modification to the source code of
your assembly.
- Enable - Enable the Nag Screen..
- Message - The text of the message to display in
the nag screen.
- XDays - .NET Reactor can either display the nag
screen every time the application is started (in which case set the
value of this option to -1), or a specified number of days before
the end of the Evaluation Period or Expiry Date. This is useful to
allow the user a period to experience your application as if it
were properly licensed, but then start to nag him as the end of the
trial period or expiration date approaches.
- Run Another Process After Expiration - Opens or
launches another application, file, or web site upon expiration.
Usually used to send evaluation users to a web page.
- Run Without License File - Set to false to
require a valid license for operation. If true, enabled Inbuild
Locks are honored. If a valid license file is found the Inbuild
Locks settings are overriden with the license file settings.
- Shut Down Process After Expiration - Terminates
your application upon expiration.
- Static License FileName - Specifies a license
file name or extension (*.myextension). Leave blank to allow .NET
Reactor to determine a *.license file name from your assembly name.
To avoid conflicts with optional methods of extending license
behavior, binary .NET Reactor licenses do not use the .LIC
extension reserved to .NET license classes.
- V3 Licensing Mode - .NET
Reactor v3.x uses a new encryption technique which is not backward
compatible with previous versions of .NET Reactor. Set this
option to True to use .NET Reactor v3 license encryption technique,
or False to use the V2.x compatible encryption method.
Dialog
Settings
- Dialog Box Interface - .NET Reactor will display
a default dialog box whenever a message is to be displayed to the
user. However you can design your own dialog box for .NET Reactor
to display. Specify the fully qualified name (namespace.dialogname)
of the dialog box .NET Reactor should use. There are example C# and
Visual Basic projects in the SDK/Customisable MessageBox folder win
the .NET Reactor installation folder.
- Dialog Caption - Title for message window.
- Gradient Color Begin - Gradient Color of the
message windows.
- Gradient Color End - Gradient Color of the
message windows.
- License Not Found - The text of the message which
is issued when a license file is not found (if "Run Without
License" is set to false), is found but is corrupt or otherwise
invalid.
So many dialog boxes !
The number of possible dialog boxes may seem
large, and you may worry that your customer will see numerous
dialog boxes when the locks expire. This is not the case, the .NET
Reactor licensing system will only ever display one dialog to your
user. .NET Reactor determines which is the most important dialog
and displays that one only. The dialog box to display is determined
as follows :
- If "Run Without License File" is set to "True"
and .NET Reactor cannot find the License file, or a License file is
present (regardless of whether "Run Without License File" is true
or false) and that License file is invalid, corrupt, not for the
Hardware ID of the PC on which the application is run, or is
invalid for some other reason, .NET Reactor will display the
"Invalid License File" dialog;
- If the application has expired, .NET Reactor will
display the dialog box for the first lock which triggered the
expiry of the application in this order :
-
- Expiration Date
- Evaluation Expired
- Number of uses Exceeded
- If the application has not expired, the Nag
screen is enabled, and the XDAYS setting is such that the NAG
screen should be displayed, then the NAG screen is
displayed.
License Manager

The .NET Reactor license system allows you to distribute your
assembly without a license file
provided that you have set "Run without license file" to True. When
your customer purchases a license, you use the License Manager to
build a license file to unlock your application. Lock settings in a
license file always override the inbuilt lock settings
To create a valid license file, the same master key must be used
for license creation as was used to protect your application. This
master key is generated when you create your project, which must be
saved to preserve the original key, otherwise you will be unable to
generate valid license files.
The Evaluation, Expiration Date and Number of Uses Locks work
in eactly the same way as the inbuilt locks, except that the
settings in the License file override the settings of the Inbuilt
Locks.
The Individual Licensing
Behaviour option is a particularly powerful feature of the
.NET Reactor licensing system. If set to true, for the Evaluation
Period and Number of Uses Locks, tne specified number of days or
uses are specific to the particular license file. For example, let
us assume that your license file has the number of uses lock
enabled and number of uses set to 10. With "Individual License
Behaviour" set tio True, when you issue the first license to a
user, he has 10 uses of the software available. If he then buys
another license with the number of uses lock enabled and the number
of uses set to 10, he has a further 10 uses (20 in total). If
"Individual License Behaviour" were set to false, he would only
have 10 uses in total (i.e the 10 uses in the 2 license files are
the same 10 uses). You must take care when issuing licences with
"Individual License Behaviour" set to true to understand that a
user claiming to have lost his license file and requesting another
will receive additional uses of your product. You should ensure you
retain copies of issued license files so they can be re-issued to
users who lose their licenses to prevent this.
License Files also introduce a new type of lock -
the Hardware Lock. This allows you to create licenses which can be
used only any a particular PC, based on a Hardware ID which
identifies the particular combination of hardware in that PC.
License Files which have the Hardware disabled can be used on any
PC. Utilising the Hardware Lock prevents your customer from
purchasing one license file and using it on multiple PCs.
To create licenses which are locked to the
hardware of a particular PC, you must enable "Hardware Lock"
and provide the Hardware ID of the client's PC. You can either
use an SDK function to display the Hardware ID from within you
apllication (for example in the "About" dialog box), or provide
your customer with a program which will display the Hardware ID
.NET Reactor can produce such a program for your (called
HID.exe) via the Tools -> Hardware ID Generator option in the menu system. Your
customer then runs the Hardware ID Generator, which produces a
Hardware ID file (*.txt), which they send to you.This file is then
read by the License Manager uses to output a valid,
machine-specific license.
Additional information can be added to the license file at this
time with the Add tool. Your application can access this
information with the functions available in the SDK libraries.
'.NET Inspector'
Tab

.NET Inspector reflects extractable information from a
assembly.
© Copyright 2004 - 2007 EZIRIZ
|
|