Native C# Protection (NCSP) is a protection tool (not obfuscator) for C#
2003 applications.
The goal of NCSP is to produce trial versions with limited functionality of
C# applications.
With the correct NCSP Key these applications work as registered versions.
NCSP uses only NATIVE (but peculiar) TO C# means, i.e. NO EXTERNAL
PROCESSING
of C#-produced executable.
NCSP protects NOT CODE, BUT DATA needed to run the application.
In case of C# applications DATA IS A CORRESPONDENCE BETWEEN EVENTS AND EVENT
HANDLERS.
The difference between trial and registered versions produced by NCSP is
based
on use of DIFFERENT EVENT HANDLERS FOR TRIAL AND REGISTERED VERSIONS of the
protected application. The trial version uses one set of event handlers,
while
the registered version uses another one.
NCSP protects forms of C# project on the source level, i.e. NCSP temporarily
MODIFIES THE SOURCE CODE, then, AFTER RE-COMPILING, THE APPLICATION IS
PROTECTED.
During the process of protection NCSP MODIFIES THE SOURCE CODE of the form
in
such a manner that after re-compiling each protected event has no event
handler
assigned. During the protected application start TRIAL EVENT HANDLERS ARE
ASSIGNED TO THE CORRESPONDING EVENTS. If valid NCSP Key is
provided then REGISTERED EVENT HANDLERS REPLACE THE TRIAL ONES.
The protected application DOES NOT USE a call of some CHECKING ROUTINE to
choose which set of event handlers to use. Instead it USES DATA containing
in
NCSP Resource and in NCSP Key TO ASSIGN REGISTERED EVENT HANDLERS TO THE
CORRESPONDING EVENTS.
More information about NCSP may be found at
http://www.posolsoft.com/NCSP
Oleg Subachev
(E-Mail Removed)