'Dynamic Code Displacing' generates dynamic methods at run-time to replace your codes. It doesn't reflect or decompile any IL codes.

Dynamic Code Displacing uses dynamic methods to hide IL codes. It removes the codes from methods and properties, replaces them with uninitialized delegates, which act as empty placeholders with null values. The extracted codes then get encrypted and securely stored away, ensuring that there are no IL codes for reflectors to examine.
During runtime, the encrypted codes are retrieved, decrypted, and dynamically converted to dynamic methods. They then get associated with the specific delegate placeholders, depending on the selected mode. Dynamic Code Displacing offers three load modes:
- Preload: dynamic methods/delegates get created at the beginning of the application.
- LoadOnFirstCalled: a dynamic method is created and connected to the respective delegate upon calling the method for the first time.
- LoadAndDiscard: every time the method gets called, a dynamic method gets created, assigned to the delegate, and then discarded after the method returns to the caller.
Importantly, these dynamic methods cannot be reflected or disassembled, and Process Dumper/Reflector will only detect the delegate declarations, but not the underlying dynamic methods. CIL Debuggers cannot track or trace directly into dynamic methods.
Additionally, Dynamic Code Displacing can also convert obfuscated assemblies since highly complex reflectors can assign names indicating their functionality. With Dynamic Code Displacing on top of obfuscation, users can prevent reflectors from analyzing their codes.
Dynamic Code Displacing is a specialized tool that exclusively offers code hiding/displacing capabilities, hence users can combine it with other standard obfuscators for maximum protection. Overall, Dynamic Code Displacing delivers on its promise of providing a reliable solution for protecting codes from different reflectors, decompilers, disassemblers, and IL debuggers.
Version 1.1.0: New feature added - 'Dynamic Code Displacing'