alkimistu Posted January 17, 2012 Report Posted January 17, 2012 Gasiti algoritmul din urmatorul keygen:Keygen Quote
Flubber Posted January 25, 2012 Report Posted January 25, 2012 (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, pentruprivate void button2_Click(object sender, EventArgs e){ MessageBox.Show("1 indiciu e de ajuns!");}undeprivate void button3_Click(object sender, EventArgs e){ string str = ""; InputBox("Parola o gasesti pe RST in semnatura mea", "Introduceti parola: ", ref str);AdicaThe 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 January 25, 2012 by Flubber adaugari Quote
alkimistu Posted January 25, 2012 Author Report Posted January 25, 2012 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! Quote
SilviuSDS Posted January 25, 2012 Report Posted January 25, 2012 L-am decompilat si eu cu .NET Reflector atunci cand ai postat challenge-ul dar am uitat sa-l postez. Quote
Flubber Posted January 26, 2012 Report Posted January 26, 2012 L-am decompilat si eu cu .NET Reflector atunci cand ai postat challenge-ul dar am uitat sa-l postez. 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. Quote