# shamecontrol
## Description[EN]What if it is a Windows .exe, do you still can? Flag format: "3DS{flag}" 
[PT-BR]E se for binario Windows, voce ainda consegue? Flag no formato: "3DS{flag}" 
## Solution
Another .NET application, but this time there was no output when we tried to run the application in console mode. So, let's read the code:
```csharpnamespace ConsoleApplication2{	// Token: 0x02000002 RID: 2	internal class Program	{		// Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250		private static void Main(string[] args)		{			string text = "40";			RegistryKey currentUser = Registry.CurrentUser;			if (Debugger.IsAttached)			{				Console.WriteLine("3DS{2}j{0}t{0}v{0}c{0}b{0}nd{1}{3}", new object[]				{					text[1],					text[0],					"{",					"}"				});			}			RegistryKey registryKey = currentUser.OpenSubKey("parangaricutirimirruaro");			if (registryKey != null)			{				Console.WriteLine("3DS{2}j{0}t{0}v{0}c{0}b{0}nd{1}{3}", new object[]				{					text[0],					text[1],					"{",					"}"				});				registryKey.Close();			}			currentUser.Close();		}	}}```
A simple substitution on the given string was enough to get the solution. But there was some debugger verification on the code:
```csharpif (Debugger.IsAttached)```
This generates a fake flag: 3DS{j0t0v0c0b0nd4}
The vector starts from zero, so the correct approach:```text[0] = 4 text[1] = 0```
Flag: 3DS{j4t4v4c4b4nd0}