Vai al contenuto

[CrackME #1] Ice9 [1/10][Solved by Wentstorm]


Messaggi raccomandati

  • 2 settimane dopo...

Risolto anch'io :D (anche se era gia stato risolto), ecco qua.

 

- exe patchato che accetta qualsiasi nome + serial

- self-keygen che quando inserisci un nome + serial sbagliati ti dice il serial giusto per quel nome

- keygen

 

http://localhostr.com/file/ZxdBSz9/Ice9.rar

 

source del keygen:

#include <iostream>
using namespace std;

void GenerateSerial(char *name, char *dst)
{
size_t len = strlen(name);
int sum = 0;

for (size_t i=0; i<len-1; i++)
{
	sum += name[i];
	if (name[i] <= 'Z' && name[i] >= 'A')
		sum += 0x2C;
}

sum += 666;
sum *= 12345;
sum -= 23;
sum *= 9;

_itoa(sum, dst, 10);
sprintf(dst, "%s%s", dst, &name[3]);
}

int main()
{
char name[64] = {0};
char serial[64] = {0};

cout << "Keygen by GunyaGunya\n";

while (strlen(name) <= 3)
{
	cout << "Name: ";
	fflush(stdin);
	gets(name);
}

GenerateSerial(name, serial);
cout << "Serial: " << serial << endl << endl;

system("pause");
return EXIT_SUCCESS;
}

 

L'unica cosa è che non capisco perché il keygenme inverte la stringa alla fine per poi non farci niente e usare quella non invertita. Magari è stato un errore di chi l'ha programmato.

 

EDIT: Ah, invertire la stringa serve quando converte a stringa il numero facendo il resto della divisione per 10 perché altrimenti verrebbe al contrario

Modificato da GunyaGunya
Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

Giochi in Uscita



×
×
  • Crea Nuovo...