Jump to content
alkimistu

Keygen

Recommended Posts

Posted (edited)

Din moment ce nimeni nu a raspuns dupa atata timp, daca mi se permite:


private void button1_Click(object sender, EventArgs e)
{
if (this.textBox1.Text.Length < 4)
{
MessageBox.Show("Minim 4 caractere");
this.textBox1.Text = "";
this.textBox1.Focus();
}
else
{
string str = this.Reverse(this.StringToASCII(this.textBox1.Text.Substring(0, 1)));
string str2 = this.Reverse(this.StringToASCII(this.textBox1.Text.Substring(1, 1)));
string str3 = this.Reverse(this.StringToASCII(this.textBox1.Text.Substring(2, 1)));
string str4 = this.Reverse(this.StringToASCII(this.textBox1.Text.Substring(3, 1)));
int num = Convert.ToInt32(str) * 2;
int num2 = Convert.ToInt32(str2) * 2;
int num3 = Convert.ToInt32(str3) * 2;
int num4 = Convert.ToInt32(str4) * 2;
string str5 = Convert.ToString(num) + Convert.ToString(num2) + Convert.ToString(num3) + Convert.ToString(num4);
if (str5.Length < 7)
{
this.textBox2.Text = str5.Substring(0, 4) + "---" + str5.Substring(0, 4) + "---" + str5.Substring(0, 4);
}
else if (str5.Length < 12)
{
this.textBox2.Text = str5.Substring(0, 4) + "---" + str5.Substring(4, 4) + "---" + str5.Substring(0, 4);
}
else
{
this.textBox2.Text = str5.Substring(0, 4) + "---" + str5.Substring(4, 4) + "---" + str5.Substring(8, 4);
}
}
}

public string Reverse(string text)
{
char[] chArray = text.ToCharArray();
string str = string.Empty;
for (int i = chArray.Length - 1; i > -1; i--)
{
str = str + chArray[i];
}
return str;
}

public string StringToASCII(string input)
{
string str = null;
for (int i = 0; i < input.Length; i++)
{
str = input[i].ToString();
}
return str;
}

A propos, pentru

private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("1 indiciu e de ajuns!");
}

unde

private void button3_Click(object sender, EventArgs e)
{
string str = "";
InputBox("Parola o gasesti pe RST in semnatura mea", "Introduceti parola: ", ref str);

Adica

The password for the keygen is the serial generated with my nickname.
ceea ce inseamna
    if (str == "1581---6021---4021")
{
MessageBox.Show("Ascii string reverse!", "Hint");
}
else
{
MessageBox.Show("Wrong password!");
}
}

Toate acestea le putem vedea si in IDA dar sub o alta forma desigur.

Am sa revin mai tarziu cu un alt eseu ce va explica de ce Ollydbg se incurca atunci cand vede VB.NET/C#, deasemenea va fi un link catre un articol ce explica toate acestea (este in engleza, insa articolul este foarte bun), asta daca intereseaza pe cineva...

Edited by Flubber
adaugari
Posted

Corect. Singura diferenta dintre codul meu si al tau este numele diferit al variabilelor. Daca ti-a placut acest challenge voi incerca sa postez si altele de acest gen pe viitor. Iti multumesc pentru timpul petrecut pentru a rezolva acest challenge si te felicit pentru modul cum tratezi orice subiect. Bravo!

Posted
L-am decompilat si eu cu .NET Reflector atunci cand ai postat challenge-ul dar am uitat sa-l postez. :P

Intocmai =)

.NET Reflector pwnz them all cand nu sunt prezente diferite obfuscari.

Cat despre articolul promis?

Il gasiti aici:

http://www.ring3circus.com/rce/an-introduction-to-net-reversing/

Este un pic cam vechi, insa nu multe s-au schimbat intre timp.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...