> For the complete documentation index, see [llms.txt](https://trinity.gitbook.io/obfuscator/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://trinity.gitbook.io/obfuscator/protections/code-protection/module-flood.md).

# Module Flood

This protection will create a randomly selected amount of empty methods in the module and then call to them a random amount of time. This protection fills the \<Module> class so that it is harder for reverse engineers to find protection methods.

{% hint style="info" %}
The amount of methods created is chosen from a 0-10 range and the number of method invokes ranges from 100-500. All method names are chosen randomly from the .NET Library. This won't affect performance but will affect file size very lightly!
{% endhint %}

{% code title="Before Obfuscation" %}

```csharp
internal class <Module>
{
}
```

{% endcode %}

{% code title="After Obfuscation" %}

```csharp
static <Module>()
	{
		<Module>.TryUpdate();
		<Module>.TryUpdate();
		<Module>.TryUpdate();
		<Module>.TryUpdate();
		<Module>.TryUpdate();
		<Module>.TryUpdate();
		<Module>.TryUpdate();
		<Module>.TryUpdate();
		<Module>.TryUpdate();
		<Module>.GetAttribute();
		<Module>.GetAttribute();
		<Module>.GetAttribute();
		<Module>.GetAttribute();
		<Module>.GetAttribute();
		<Module>.GetAttribute();
		<Module>.GetAttribute();
		<Module>.GetAttribute();
		<Module>.GetAttribute();
		<Module>.GetAttribute();
		<Module>.WebResponse();
		<Module>.WebResponse();
		<Module>.WebResponse();
		<Module>.WebResponse();
		<Module>.WebResponse();
		<Module>.WebResponse();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.SystemCore_EnumerableDebugView();
		<Module>.get_IconPadding();
		<Module>.get_IconPadding();
		<Module>.get_IconPadding();
		<Module>.get_IconPadding();
		<Module>.get_IconPadding();
		<Module>.get_IconPadding();
		<Module>.get_IconPadding();
		<Module>.get_IconPadding();
		<Module>.ErrArgNoRef();
		<Module>.ErrArgNoRef();
		<Module>.ErrArgNoRef();
		<Module>.ErrArgNoRef();
		<Module>.ErrArgNoRef();
		<Module>.ErrArgNoRef();
		<Module>.ErrArgNoRef();
		<Module>.ErrArgNoRef();
		<Module>.ErrArgNoRef();
		<Module>.ErrArgNoRef();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
		<Module>.CreateConnection();
	}

	// Token: 0x0600000E RID: 14 RVA: 0x00002050 File Offset: 0x00000250
	internal static void CreateConnection()
	{
	}

	// Token: 0x06000010 RID: 16 RVA: 0x00002050 File Offset: 0x00000250
	internal static void ErrArgNoRef()
	{
	}

	// Token: 0x06000011 RID: 17 RVA: 0x00002050 File Offset: 0x00000250
	internal static void <>c__DisplayClass6_0()
	{
	}

	// Token: 0x06000012 RID: 18 RVA: 0x00002050 File Offset: 0x00000250
	internal static void get_IconPadding()
	{
	}

	// Token: 0x06000013 RID: 19 RVA: 0x00002050 File Offset: 0x00000250
	internal static void SystemCore_EnumerableDebugView()
	{
	}

	// Token: 0x06000014 RID: 20 RVA: 0x00002050 File Offset: 0x00000250
	internal static void WebResponse()
	{
	}

	// Token: 0x06000015 RID: 21 RVA: 0x00002050 File Offset: 0x00000250
	internal static void get_Navy()
	{
	}

	// Token: 0x06000016 RID: 22 RVA: 0x00002050 File Offset: 0x00000250
	internal static void GetAttribute()
	{
	}

	// Token: 0x06000017 RID: 23 RVA: 0x00002050 File Offset: 0x00000250
	internal static void TryUpdate()
	{
	}
```

{% endcode %}

&#x20;
