Jump to content
Tuts 4 You

Newbe KeygenMe1-App


Go to solution Solved by kao,

Recommended Posts

SaggingCoder
Posted

Difficulty : 5
Language : .NET
Platform : Windows
OS Version : All
Packer / Protector : ConfuserEx - Custom

Description :
This is my first time as a newbe; I hope I didnt do too badly 😅. Try to find at least one valid alphanumeric Key. The key has the following format: XXXX-XXXX-XXXX-XXXX-XXXX-XXXX, it can have letters and numers. Good luck!

Screenshot :
Unbenannt.PNG.6007f105ac856c3f4cd7aed0c2ce6b27.PNG

KeygenMe1.zip

  • Like 1
Posted (edited)

1/10, almost nothing moded

Spoiler

private void button1_Click(object sender, EventArgs e)
{
	this.textBox1.Text.ToCharArray();
	if (this.textBox1.Text.Length == 29)
	{
		if (this.textBox1.Text.Contains("-") && this.textBox1.Text.ToCharArray()[4] == '-' && this.textBox1.Text.ToCharArray()[9] == '-' && this.textBox1.Text.ToCharArray()[14] == '-')
		{
			if (this.textBox1.Text.ToCharArray()[19] == '-')
			{
				if (this.textBox1.Text.ToCharArray()[24] == '-')
				{
					if (!this.method_0())
					{
						MessageBox.Show("Sorry Duke, wrong key. Try again!");
						return;
					}
					this.label2.Visible = true;
					return;
				}
			}
		}
	}
	MessageBox.Show("The entered Key doesnt have the correct format", ":(", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

 

 

KeygenMe1-cleaned.zip

Edited by Reza-HNA
  • Like 3
Posted
2 hours ago, Reza-HNA said:

1/10, almost nothing moded

  Hide contents


private void button1_Click(object sender, EventArgs e)
{
	this.textBox1.Text.ToCharArray();
	if (this.textBox1.Text.Length == 29)
	{
		if (this.textBox1.Text.Contains("-") && this.textBox1.Text.ToCharArray()[4] == '-' && this.textBox1.Text.ToCharArray()[9] == '-' && this.textBox1.Text.ToCharArray()[14] == '-')
		{
			if (this.textBox1.Text.ToCharArray()[19] == '-')
			{
				if (this.textBox1.Text.ToCharArray()[24] == '-')
				{
					if (!this.method_0())
					{
						MessageBox.Show("Sorry Duke, wrong key. Try again!");
						return;
					}
					this.label2.Visible = true;
					return;
				}
			}
		}
	}
	MessageBox.Show("The entered Key doesnt have the correct format", ":(", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

 

 

KeygenMe1-cleaned.zip

Unpack is very easy you're right but how do keygen? I can't do that is that possible?

SaggingCoder
Posted
13 hours ago, Reza-HNA said:

1/10, almost nothing moded

  Reveal hidden contents


private void button1_Click(object sender, EventArgs e)
{
	this.textBox1.Text.ToCharArray();
	if (this.textBox1.Text.Length == 29)
	{
		if (this.textBox1.Text.Contains("-") && this.textBox1.Text.ToCharArray()[4] == '-' && this.textBox1.Text.ToCharArray()[9] == '-' && this.textBox1.Text.ToCharArray()[14] == '-')
		{
			if (this.textBox1.Text.ToCharArray()[19] == '-')
			{
				if (this.textBox1.Text.ToCharArray()[24] == '-')
				{
					if (!this.method_0())
					{
						MessageBox.Show("Sorry Duke, wrong key. Try again!");
						return;
					}
					this.label2.Visible = true;
					return;
				}
			}
		}
	}
	MessageBox.Show("The entered Key doesnt have the correct format", ":(", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

 

 

KeygenMe1-cleaned.zip

Nice, I knew youd easily unpack it, however this wasnt the entire purpose of this challenge. I'm asking if you can figure out at least one Key or better even write a keygen to this little app 😉

Posted
1 hour ago, SaggingCoder said:

I'm asking if you can figure out at least one Key or better even write a keygen to this little app

Given the way you designed this app, I believe it is not keygenable.

Basically, what you're asking is this: "knowing the encrypted data and the original data, find the used encryption key".
It's called known-plaintext attack and it's practically impossible on modern algorithms like AES (when they are used in the way you did).

 

However, I'll be happy to be proven wrong.. ;) 

  • Like 1
SaggingCoder
Posted (edited)
1 hour ago, kao said:

Given the way you designed this app, I believe it is not keygenable.

Basically, what you're asking is this: "knowing the encrypted data and the original data, find the used encryption key".
It's called known-plaintext attack and it's practically impossible on modern algorithms like AES (when they are used in the way you did).

 

However, I'll be happy to be proven wrong.. ;) 

Oooooh ok, I understand and I apologize! I thought there still might be a way to somehow reverse the rijndael algorithm... (or if it's impossible, just bruteforcing until one key is found) Welp then here is one key: 8C08-UT01-70J9-9ST3-D416-09A0, writing a keygen shouldnt be too hard now :)

Edited by SaggingCoder
  • Solution
Posted

..and with one known key it's perfectly solvable. :)

 

All credits go to @Reza-HNA for deobfuscating the keygenme. After that, it was a piece of cake. Keygen is not obfuscated in any way, so anyone can take a look how it's done.

keygen for Newbe KeygenMe1.zip

  • Like 5
  • 5 years later...
Sean Park - Lovejoy
Posted

How to unpack this target?

Regards.

sean.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...