featuring Dynamic Code Displacing
Cloak .NET Dynamic Code Displacing Obfuscator

Archangel Cloak .NET - Dynamic Code Displacer

Dynamic Code Displacing Technology is unique to Archangel Cloak .NET. This is the ultimate tool in anti-reflection and CIL-Anti-Debugging. Dynamic Code Displacing is the software protection solution that can completely stop any attempt to reverse engineer your programs. It will protect your codes from any reflectors, disassemblers, decompilers, and even IL debuggers.

.NET framework comes with comprehensive set of dynamic coding functionalities, hence Dynamic Code Displacing can be properly implemented on this framework. Unlike other similar products we do not decrypt and create hard coded methods at run-time, since this type of method can still be exposed to Process Dumper/Reflector. 'Dynamic Code Displacing' hides IL codes through dynamic assembly, dynamic class, and dynamic methods, ie:

  • IL codes are removed from methods/properties and replaced with uninitialized delegates.

    Method Hiding by Code Displacing Obfuscation

  • These delegates are just empty place holders which don't have any codes associated with them (set to null).
  • The extracted codes are then encrypted and safely store away, so there are no IL codes to be reflected by any reflectors. These IL codes are encrypted using AES cryptography algorithm.
  • At run-time these codes are retrieved, decrypt, and dynamically convert to dynamic methods and then associated with the delegates (place holder) according to the specified mode :
    • Preload : dynamic methods are created and assigned to the associated delegates at the start of application.
    • LoadOnFirstCalled : dynamic method will be created and assigned to the associated delegate when the method is called for the first time.
    • LoadAndDiscard : dynamic method is created and assigned to the associated delegate every time the method is called and then discarded after the method return to the caller.
  • These dynamic methods cannot be reflected, disassemble, or decompiled.
  • Process Dumper/Reflector will only see the delegate declarations. It will not be able to see the underlying generated dynamic methods.
  • CIL Debuggers cannot track or trace directly into dynamic methods.
  • For extra protection, Dynamic Code Displacing can also convert obfuscated assemblies (provided that ILDASM.exe is not disabled by the obfuscator). Obfuscation alone does not provide enough protection against modern reflectors. Highly complex reflectors have ability to assign names from their functionalities, hence make it easier to understand your codes. By adding Dynamic Code Displacing on top of obfuscation, it will prevent reflectors to analyze your codes (since there is no codes to analyze). Hence obfuscated names remain properly obfuscated. Even without obfuscation, Dynamic Code Displacing alone can provide far more superior protection against reverse engineering.
  • 'Dynamic Code Displacing' is a specialize obfuscation tool that only provides code hiding/displacing capability. It can be used in combination with other standard obfuscators if you feel that extra obfuscation is still needed. You don't need to used our obfuscator, feel free to used any of your favorite or already owned obfuscator.

Test drive our product now and you will see that the technology works well against all threats. None of your codes will be exposed to reverse engineering anymore. Don't settle for just simple obfuscation, start hiding your codes today with Dynamic Code Displacing.

Try the Free Code Displacing Obfuscator
The following page contains everything you need to know about our other products, some of which can be purchased through PayPal and some can be pre-ordered at heavily discounted prices. It also includes the estimated time to completion of each feature in these pre-ordered products. The page will be updated regularly to reflect our development progress.
Products:
  Description ETA
Assembly Packer
Free Edition
.NET EXE Packer (Compressor & Encryptor) Free Edition has almost the same features as the commercial edition except that it is for personal use only. The output assemblies are watermarked for 'Non Commercial Use Only' (licensing agreement). The generated assemblies will only run on Windows platform under full .NET Framework. Coming Soon
Assembly Packer Full features .NET Assembly Packer (Compressor & Encryptor)
  • Assembly Encryption and Compression.
  • Capable of encrypting and compressing any kind of assemblies (EXE or DLL). Note that packed DLL can only be accessed through packed EXE.
  • Capable of packing an EXE together with multiple DLL into a single assembly.
  • The packed EXE and DLL still maintain its original PE and .NET assembly signatures.
  • The decryptor is very well protected with Dynamic Code Hiding technology.
Coming Soon
Code Displacer
Free Edition
Dynamic Code Displacer - Free Edition has almost the same features as the commercial edition except that it is for personal use only. The output assemblies are watermarked for 'Non Commercial Use Only' (licensing agreement). The generated assemblies will only run on Windows platform under full .NET Framework. pre-release available
Code Displacer Dynamic Code Displacer is the software protection solution that can completely stop any attempt to reverse engineer your program. It will protect your codes from any reflectors, disassemblers, decompilers, and even IL debuggers. Dynamic Code Displacing Technology hides your il-codes until needed at runtime and then dynamically generated them behind dynamic methods. These dynamic methods can't be reflected by reflectors or trace into by CIL debuggers. pre-release available
Archangel Cloak .NET
Enigma Edition
Complete Software Protection & Licensing Solution for Applications (EXE), Libraries and Components Publishing (i.e.: publishable DLL).
  • Includes all features of 'Dynamic Code Displacing'.
  • Includes all features of 'Assembly Packer'.
  • Capable of publishing DLLs as standalone libraries and components.
  • Built-in obfuscator.
  • Visual Studio integration.
  • Advance anti-debugger, anti-tracing, and anti-attaching.
  • Supports software locking and licensing functionality such as
    • watermark
    • expiration date
    • trial period
    • key files
    • license files
    • user-name/serial/password
    • software activation (both Internet and phone)
  • Capable of Internet time verification.
  • Local clock adjustment detection mechanism.
  • Unique machine ID allocation.
2019
  • These editions are for PC (Windows) platform only. The detail for other platforms will be announce later.
Platform:
  ETA
Windows (PC)
Xamarin TBA
Mono TBA
Unity
ASP .NET TBA
Framework:
  ETA
.NET Framework 2.0 - 3.5
.NET Framework 4.0 - 4.7
.NET Core 1.x.x
.NET Core 2.0.2 Soon
   
Application Type:
  ETA
WPF Application
WinForm Application
Console Application
UWP Application Soon
Cloaker Tools:
  ETA
Drag and Drop
Command Line
Visual Studio Integration TBA
   
Anti-Debugging:
  Description ETA
Anti-Debugger Detects whether the program is running under the debugger. This doesn't stop debugger from starting the program but it is capable of detecting the present of debugger before getting into the decloaking device and user codes. TBA
Anti-Tracing Prevents any kind of tracing, stepping, and breaking in the middle of program. This doesn't prevent single stepping at the startup code but it will eventually terminate the attempt. TBA
Anti-Attaching Prevents debugger from attaching itself to already running program. TBA
  • The anti-debugger and anti-attaching are hardware specific to Windows (PC) only.
  • The anti-tracing is not hardware specific and will work on any platforms.
Code Protection:
  Description ETA
Data Encryption & License Key
    Data Encryption is used in all aspect of software protection and software licensing :
  • AES Cryptography Algorithm is used for encryption.
  • The decryption key can be securely embedded in the assembly or stored separately as per software licensing requirement (see below).
  • The decryption key is always hidden using highly complex stealth technique.
TBA
Data Compression Data compression can reduce the overall size of your software, and at the same time provide some form of additional code protection.
Dynamic Code Displacing Dynamic Code Displacing hides your IL codes until needed at runtime and then dynamically generated them behind dynamic methods. These dynamic methods can't be reflected by reflectors or trace into by CIL debuggers.
Obfuscation Obfuscation is included to ensure the highest possible protection against reverse engineering. You can never have too much security. TBA
Software Licensing:
  Description ETA
Watermark Identify illegal copy of your software by watermarking. A message can be hidden within an assembly. This message can then be shown by a hot key or a special program. 2019
Expiration Date The software will be locked after the specified date. You can choose to use local machine time, Internet time, or both. 2019
Trial (number of days) The software will be locked after the specified number of days have passed. You can choose to use local machine time, Internet time, or both. 2019
Private Key Files This is a simple form of license file. Unique private key file for each program is needed in order to run it. This would be useful in a situation where you want to distribute a program to some specific audience. Since the key is separated from the cloaked assembly, a program can be make publicly downloadable but only the people who have the appropriate key file can access it. 2019
License Files Similar to private key file but with added security authorization mechanism, a license file can be authorized to a specific user or machine (PC). A valid license file is needed in order to run the program. 2019
User/Serial/Password Protection User name + serial + password can be associated with a program. It can also be made specific to a machine (PC). Valid password is needed in order to run the program. It can be used in conjunction with software activation to provide higher protection. 2019
Software Activation The machine-license-id is derived from the above method and then can be used to request an appropriate activation code through on-line, phone, or email. For on-line activation, you will only need to implement an interface to your server, and we will do the rest. 2019
  • You can specify customized UI and messages to be shown for each event.