|
Obsidium is available for 32-bit (x86) and 64-bit (x64) systems. While mostly identical,
there are some minor differences.
Please refer to this page for a comparison of the two versions.
The 32-bit version is fully compatible with any NT-based1
Windows operating system ranging from Windows NT 4 SP6 to Windows 7 (both 32- and 64-bit versions).
The 64-bit version is fully compatible with any 64-bit Windows operating system starting from
Windows XP x64.
Both version support virtually all types of natively compiled applications
(EXE, DLL, SCR, etc.) as well as .NET executables. Protected applications are fully compatible with
current security technologies such as DEP, UAC and ASLR.
Obsidium itself requires Windows 2000 (32-bit) or Windows XP x64 (64-bit) or a later version.
-
Code virtualization
Code Virtualization allows you to transform certain parts of your application's
code in order to make them harder to reverse-engineer, understand or modifiy.
Native machine code will be converted into functionally equivalent byte code for
a virtual CPU that is interpreted during runtime.
-
Encryption, compression and obfuscation of application code and data
In order to prevent disassembly and static analysis or modification
of your program file on disk, your application's code and data will
be encrypted using a strong and fast cipher (AES) and its integrity verified.
Additionally, you may choose to compress your application which will typically
reduce the size of the executable by up to 50 percent.
-
Runtime code encryption
Important parts of your code can be encrypted individually,
providing extra protection against modifications while the
program is running. Protected code will only be decrypted
in memory while it is being executed.
You may also protect code in such a way
that it can only be decrypted if a valid license key is present.
-
Time trials
Obsidium allows you to easily integrate time trial functionality into your
software in order to create time-based 'Try Before You Buy' applications.
You may specify a fixed expiration date or set the
application to expire after a certain number of days or executions.
-
Integrated licensing systems using strong public key cryptography
Obsidium offers two built-in licensing systems
that take advantage of high security asymmetric encryption to prevent generation
of fake license keys. Depending on your individual needs, you may choose
between long and short license keys (using RSA and elliptic curve cryptography,
respectively) which can be delivered to your customers in binary or textual form. Both types
of license keys support fixed expiration dates, hardware locking and license dependent
code encryption. Both internal licensing systems enable you to store some additional data in
generated license keys, allowing you to implement custom licensing models.
-
Transparent string protection
Obsidium's string protection feature allows you to transparently hide string constants used throughout your
application by removing them from their original memory location and placing them inside the protection code,
thus making analysis of protected applications even more time-consuming.
-
Protection SDK directly supporting Visual C++, C++ Builder, Delphi, Visual Basic, C# and others
Include files and sample applications demonstrating
the use of advanced features and the protection API are included in the
Obsidium package.
-
Automation of protection and license generation
If supported by your development environment, newly compiled applications can be protected immediately using
a dedicated command line version of Obsidium which allows direct access to almost all
of its features.
Moreover, a license key generation library is included (as a Windows DLL
and Linux shared library) that can easily be integrated into an existing
or a third party online licensing/activation service.
Try it online.
-
Transparency and ease of implementation
Implementing Obsidium in your application is quite easy and does not
require any advanced programming skills.
The protection system is completely self-contained and does not depend on the
installation of additional components such as services or drivers.
It is fully transparent while applications are in an unprotected state and
does not interfere with your usual development and debugging process.
-
Counter-measures against disassembling, debugging, dumping and patching
Obsidium implements a number of counter-measures
against various techniques and tools commonly used by crackers.
-
Blacklisting of stolen or compromised license keys
License keys that were stolen (e.g. by credit
card fraud) or leaked by a customer can be added to a blacklist, thus invalidating
the offending licenses in the next release of your software.
-
Integrated customer database
Obsidium's integrated user database allows you to keep track of your customers
and any license keys you issued to them.
-
Hardware locking
License keys may be locked to a specific system by computing a unique digital
fingerprint using a user-defined list of system components such as CPU, mainboard, operating system,
hard disk and MAC address.
-
File integrity checks
Protected applications can be configured to validate a user-defined list of
files during startup and refuse to run if any unauthorized modifications are detected.
-
Transparent data file encryption
Data file encryption will transparently intercept read/write operations to a
user-defined set of files and encrypt/decrypt any data written to/read from these files.
This feature allows your application to securely access data files
containing sensitive information without having to implement any encryption routines yourself.
-
Full Unicode compatibility
-
Password protection
For additional protection or to prevent unauthorized
use of your software, a password may be selected that has to be entered
in order to start the program.
-
Multilingual user interface
1Existing customers can request a legacy version of Obsidium which
allows protection of applications for obsolete versions of Windows (95, 98, ME). |