PDA

Просмотр полной версии : Crackme #9 noob challenge


SHAG
18.01.2009, 18:04
Crackme взят с crackmes.de. Уровень сложности Very easy, for newbies
Платформа .Net
Первые два Paswordа, находятся без особого труда.
Вот они:
Part1:HgRAhquDd
Part2:2147483647
Проблема возникла с написанием кейгена.
NetReflector выдал такой код:
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");
}
}
}
Написал генератор номерков
#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 (http://www.crackmes.de/users/rewrit/rewrits_crackme_9_noob_challenge/download)

FoX's
18.01.2009, 18:54
посмотри внимательнее

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");
}
}
}

SHAG
18.01.2009, 19:23
Спасибо. Теперь все работает.