Crackme #9 noob challenge

Discussion in 'Реверсинг' started by SHAG, 18 Jan 2009.

  1. SHAG

    SHAG Elder - Старейшина

    Joined:
    14 Jul 2007
    Messages:
    57
    Likes Received:
    17
    Reputations:
    2
    Crackme взят с crackmes.de. Уровень сложности Very easy, for newbies
    Платформа .Net
    Первые два Paswordа, находятся без особого труда.
    Вот они:
    Part1:HgRAhquDd
    Part2:2147483647
    Проблема возникла с написанием кейгена.
    NetReflector выдал такой код:
    Code:
    private void button3_Click(object sender, EventArgs e)
    {
        if (!this.textBox3.ReadOnly)
        {
            int length = this.textBox3.Text.Length;
            int num2 = 0;
            for (int i = 0; i < length; i++)
            {
                num2 += this.textBox1.Text[i];
                num2 *= i;
            }
            num2 /= 2;
            if (this.textBox4.Text == num2.ToString())
            {
                this.textBox6.ReadOnly = false;
            }
            else
            {
                MessageBox.Show("Wrong Password!", "Error");
            }
        }
    }
    Написал генератор номерков
    Code:
    #include <iostream.h>
    #include <conio.h>
    #include <string.h>
    using namespace std;
    
    int main()
    {
    char *name;
    char *name2="HgRAhquDd";
    long serial, num=0;
    int i;
    
    cout<<"Enter your name:";
    cin>> name;
    int length=strlen(name);
    for (i=0; i<length; i++)
    {
     num+=name2[i];
     num*=i;
    }
    serial=num/2;
    cout<< "\n"<< "Serial:"<< serial<<"\n";
    cout<< "\n";
    cout<< "Press and key to Exit...";
    getch();
    return 0;
    }
    Скомпилил в gcc. Кейген генерит неверные номерки. Подскажите пожалуйста, где я ошибся.
    Скачать crackme
     
    #1 SHAG, 18 Jan 2009
    Last edited: 20 Jan 2009
  2. FoX's

    FoX's Дохлый

    Joined:
    26 Dec 2004
    Messages:
    169
    Likes Received:
    29
    Reputations:
    0
    посмотри внимательнее

    Code:
    private void button3_Click(object sender, EventArgs e)
    {
        if (!this.textBox3.ReadOnly)
        {
            int length = [B]this.textBox3.Text.Length[/B];
            int num2 = 0;
            for (int i = 0; i < length; i++)
            {
                num2 += [B]this.textBox1.Text[/B][i];
                num2 *= i;
            }
            num2 /= 2;
            if (this.textBox4.Text == num2.ToString())
            {
                this.textBox6.ReadOnly = false;
            }
            else
            {
                MessageBox.Show("Wrong Password!", "Error");
            }
        }
    }
     
    2 people like this.
  3. SHAG

    SHAG Elder - Старейшина

    Joined:
    14 Jul 2007
    Messages:
    57
    Likes Received:
    17
    Reputations:
    2
    Спасибо. Теперь все работает.
     
    1 person likes this.