Trinity Obfuscator
  • Welcome to Trinity Info Desk
  • FAQ
    • File won't work after obfuscation
    • File detected as virus
    • My personal data
    • My file didn't come through
  • Protections
    • Code Protection
      • Control Flow
        • Dynamic Control Flow
        • Duplicate Control Flow
      • Constants
        • Mutate Constants
        • Constants Melt
        • Expression Constants
        • Math Protection
      • Junk Dump
      • Invalid Metadata
      • Module Flood
    • Name Protections
      • Name Protection
      • Reference Proxy
      • Locals to Fields
      • Decompiler Crash
      • Type Scrambler
    • Code Convertion
      • Virtualization
      • Call to Calli Conversion
    • Anti Protections
      • Force Elevation
      • Anti VM
      • Anti DnSpy
      • Anti Debug
      • Anti Dump
      • Anti Tamper
      • Anti De4dot
      • Process Monitor
      • Integrity Check
    • Free Protections
      • Executable Packer
      • String Encryptor
Powered by GitBook
On this page

Was this helpful?

  1. Protections
  2. Code Protection
  3. Constants

Mutate Constants

This protection is similar to Constants Melt, however it mutates constants using maths expressions and flows them more.

Before Obfuscation
private void InitializeComponent()
		{
			this.button1 = new Button();
			base.SuspendLayout();
			this.button1.Location = new Point(284, 190);
			this.button1.Name = "button1";
			this.button1.Size = new Size(206, 73);
			this.button1.TabIndex = 0;
			this.button1.Text = "button1";
			this.button1.UseVisualStyleBackColor = true;
			this.button1.Click += this.button1_Click;
			base.AutoScaleDimensions = new SizeF(8f, 16f);
			base.AutoScaleMode = AutoScaleMode.Font;
			base.ClientSize = new Size(800, 450);
			base.Controls.Add(this.button1);
			base.Name = "Form1";
			this.Text = "Form1";
			base.ResumeLayout(false);
		}

		// Token: 0x04000001 RID: 1
		public string lol = "Hi";
After Obfuscation
private void InitializeComponent()
		{
			this.button1 = new Button();
			base.SuspendLayout();
			Control control = this.button1;
			int num = 283;
			object obj = sizeof(GCNotificationStatus);
			int num2 = num + obj;
			object obj2 = sizeof(sbyte);
			int num3 = num2 - obj2;
			object obj3 = sizeof(sbyte);
			int num4 = num3 - obj3;
			object obj4 = sizeof(sbyte);
			int x = num4 - obj4;
			int num5 = 188;
			object obj5 = sizeof(char);
			control.Location = new Point(x, num5 + obj5);
			this.button1.Name = "button1";
			Control control2 = this.button1;
			int num6 = 204;
			object obj6 = sizeof(char);
			int width = num6 + obj6;
			int num7 = 71;
			object obj7 = sizeof(char);
			control2.Size = new Size(width, num7 + obj7);
			Control control3 = this.button1;
			int num8 = -2;
			object obj8 = sizeof(char);
			control3.TabIndex = num8 + obj8;
			this.button1.Text = "button1";
			ButtonBase buttonBase = this.button1;
			bool flag = false;
			object obj9 = sizeof(GCNotificationStatus);
			bool flag2 = flag + obj9 != null;
			object obj10 = sizeof(sbyte);
			bool flag3 = flag2 - obj10 != null;
			object obj11 = sizeof(sbyte);
			bool flag4 = flag3 - obj11 != null;
			object obj12 = sizeof(sbyte);
			buttonBase.UseVisualStyleBackColor = (flag4 - obj12 != null);
			this.button1.Click += this.button1_Click;
			base.AutoScaleDimensions = new SizeF(8f, 16f);
			AutoScaleMode autoScaleMode = AutoScaleMode.None;
			object obj13 = sizeof(GCNotificationStatus);
			AutoScaleMode autoScaleMode2 = autoScaleMode + obj13;
			object obj14 = sizeof(sbyte);
			AutoScaleMode autoScaleMode3 = autoScaleMode2 - obj14;
			object obj15 = sizeof(sbyte);
			AutoScaleMode autoScaleMode4 = autoScaleMode3 - obj15;
			object obj16 = sizeof(sbyte);
			base.AutoScaleMode = autoScaleMode4 - obj16;
			int num9 = 799;
			object obj17 = sizeof(GCNotificationStatus);
			int num10 = num9 + obj17;
			object obj18 = sizeof(sbyte);
			int num11 = num10 - obj18;
			object obj19 = sizeof(sbyte);
			int num12 = num11 - obj19;
			object obj20 = sizeof(sbyte);
			int width2 = num12 - obj20;
			int num13 = 448;
			object obj21 = sizeof(char);
			base.ClientSize = new Size(width2, num13 + obj21);
			base.Controls.Add(this.button1);
			base.Name = "Form1";
			this.Text = "Form1";
			bool flag5 = -1 != 0;
			object obj22 = sizeof(GCNotificationStatus);
			bool flag6 = flag5 + obj22 != null;
			object obj23 = sizeof(sbyte);
			bool flag7 = flag6 - obj23 != null;
			object obj24 = sizeof(sbyte);
			bool flag8 = flag7 - obj24 != null;
			object obj25 = sizeof(sbyte);
			base.ResumeLayout(flag8 - obj25 != null);
		}

		// Token: 0x04000001 RID: 1
		public string lol = "Hi";
PreviousConstantsNextConstants Melt

Last updated 6 years ago

Was this helpful?