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";

Last updated

Was this helpful?