Constant Disintegration
This protection disintegrates the integers of your application in several arithmetic, logical and conditional operations dynamically so that the original value cannot be obtained.
Developer Startup Enterprise
Parameters
- Intensity: Determine the amount of operations that will be generated to disintegrate the values.
- Type of operations: It allows to select what type of operations will be used to disintegrate the values.
- Arithmetic
- Matehmatics Startup
- Conditionals
- Logic
- External
- Conversion
- Disitegration
- Native Enterprise
- Strings: Determines if teh strings and text of the application should be disintegrated.
Modes
Normal: Disintegrates integer constants based on dynamic operations.
Code example
- Before:
Program.n += 3 * args.Length;
Console.WriteLine($"Hello World ! Current processes {n}");
Console.ReadKey();
- After:
int[] array = new int[] {
4,
1,
296526,
767790,
-517058,
517058,
38748320
};
checked {
object[] array4 = new object[array3[num4 - num5]];
array4[string.Empty.Length] = ( < Module >.VARFLAG_FREPLACEABLE[4] | 1189635 % 475854) - <
Module >.VARFLAG_FREPLACEABLE[(94010 < 500724) ? 0 : 537936];
array4[array[ " ͕ ".Length] * ( - 160764 + 829328 > > Convert.ToInt32( " 13 ", 16))] = " ᦐ ";
array4[(Convert.ToInt32( " 1000011100000110110 ", 2) | 250883 * 2) ^ Marshal.SizeOf(typeof(MoveBufferArea))] =
unchecked(Marshal.SizeOf(typeof(__9__2_0)) - ((64135 ^ 842523) + checked(438545 - 732342)));
int num6;
if (((18665 % 7466 > Convert.ToInt32( " fffd0bb9 ", 16)) ? 1 : 0) == 0 / 2133) {
num6 = -767297 - -110690;
}
else {
num6 = ~ - 133694;
}
switch (unchecked(checked(unchecked(570830 - -870451) + ConcurrentDictionary__2.TargetedPatchingOptOutAttribute)
+ ~ (~ - 988634))) {
case 0:
num33 = (71311664 | -1900016382 | ((51665 == 51665) ? -206181069 : 495292));
break;
case 1:
{
int num35;
switch (( - 79617 - -79617) % < Module >.SafeLocalAllocHandle[1]) {
case 0:
{
int num34;
if ( - 58016 > 876632) {
num34 = 602830;
}
else {
num34 = 2;
}
num35 = num34;
break;
}
case 1:
num35 = (790119523 | -656071033);
break;
}
num33 = num35;
break;
}
}
array7[num33] = (int) array2[((62301 < 630141) ? -255426 : -270726) + (83010 | 172416)]; <
Module >.get_InheritanceFlags(ref str3, array7);
}
Console.WriteLine(str + str2 + str3 + (ConcurrentDictionary__2.add_ReflectionOnlyNamespaceResolve * checked((array[6] > >
(6 | 4)) - unchecked(833425 + -830673) * Convert.ToInt32( " 334 ", 8))).ToString());
Console.ReadKey();
Exclusions
- Exclude with attribute
Include this attribute in your source code:
[Obfuscation(Exclude = true, Feature = "ConstantsMutation")]
- Exclude from the interface
You can exclude this protection from the methods or classes you want.