[CodeEngn.com] Basic RCE Level 14 KeyGen (KEY/CRACK-ME #2 - BENGALY)
(Compiled with Windows SDK)
//
// ReverseL14_keygen.cpp - Key Generator of Basic RCE level 14
// Made by 3735943886
// Lisence : GPL
//
#include <iostream>
#include <string>
using namespace std;
unsigned __int32 KeyGen(string *Name)
{
unsigned __int32 ret, i, u;
ret = 0;
for(i = 0; i < Name->length(); i++)
{
u = Name->at(i);
u = (u * u) + (u >> 1) - u;
ret += u;
}
return ret;
}
int main()
{
string *Name = new string;
// Logo
cout << endl << "ReverseL14_keygen.cpp - Key Generator of Basic RCE level 14"
<< endl << "Made by 3735943886" << endl << "Lisence : GPL" << endl << endl;
// Get Name
cout << "Name : "; getline(cin, *Name);
if(Name->length())
cout << "Serial : " << dec << KeyGen(Name) << endl;
delete Name;
return 0;
}
[CodeEngn.com] Basic RCE Level 15 KeyGen (CrackMe#1 [UBC] by bRaINbuSY)
(Compiled with Windows SDK)
//
// ReverseL15_keygen.cpp - Key Generator of Basic RCE level 15
// Made by 3735943886
// Lisence : GPL
//
#include <iostream>
#include <string>
using namespace std;
unsigned __int32 KeyGen(string *Name)
{
unsigned __int32 ret, i;
ret = 0;
for(i = 0; i < Name->length(); i++)
{
ret += (Name->at(i) << 3);
}
ret += (Name->length() << 3);
ret <<= 2;
return ret;
}
int main()
{
string *Name = new string;
// Logo
cout << endl << "ReverseL15_keygen.cpp - Key Generator of Basic RCE level 15"
<< endl << "Made by 3735943886" << endl << "Lisence : GPL" << endl << endl;
// Get Name
cout << "Name : "; getline(cin, *Name);
if(Name->length())
cout << "Serial : " << dec << KeyGen(Name) << endl;
delete Name;
return 0;
}
[CodeEngn.com] Basic RCE Level 16 KeyGen (ReWrit's Crackme#5)
(Compiled with Windows SDK)
//
// ReverseL16_keygen.cpp - Key Generator of Basic RCE level 16
// Made by 3735943886
// Lisence : GPL
//
#include <iostream>
#include <string>
using namespace std;
unsigned __int32 KeyGen(string *Name)
{
unsigned __int32 ret;
ret = (Name->length() * 3) << 2;
ret = (ret * ret * ret + 0x17);
ret += ret * 0xace80;
return ret;
}
int main()
{
string *Name = new string;
// Logo
cout << endl << "ReverseL16_keygen.cpp - Key Generator of Basic RCE level 16"
<< endl << "Made by 3735943886" << endl << "Lisence : GPL" << endl << endl;
// Get Name
cout << "Name : "; getline(cin, *Name);
if(Name->length())
cout << "Serial : " << dec << KeyGen(Name) << endl;
delete Name;
return 0;
}
[CodeEngn.com] Advance RCE Level 4 KeyGen (LibertyorDeath's ASM KeygenMe #1)
(Compiled with Windows SDK)
//
// Reverse2L04_keygen.cpp - Key Generator of Advance RCE level 04
// Made by 3735943886
// Lisence : GPL
//
#include <iostream>
#include <string>
using namespace std;
void KeyGen(string *Name, unsigned __int32 *Serial)
{
unsigned __int32 i;
Serial[0] = 0; // ESI
Serial[1] = 0xa; // EDI
for(i = 0; i < Name->length(); i++)
{
Serial[0] += Serial[1] + Name->at(i) + 1;
Serial[1] *= (i + 1);
}
Serial[1] *= Serial[0];
}
int main()
{
string *pName = new string;
unsigned __int32 *Serial = new unsigned __int32[2];
// Logo
cout << endl << "Reverse2L04_keygen.cpp - Key Generator of Advance RCE level 04"
<< endl << "Made by 3735943886" << endl << "Lisence : GPL" << endl << endl;
// Get Name
cout << "Name : "; getline(cin, *pName);
if(pName->length())
{
KeyGen(pName, Serial);
cout << "Serial : LOD-" << dec << Serial[0] << "-" <<
uppercase << hex << Serial[1] << endl;
}
delete pName;
delete [] Serial;
return 0;
}
All other CodeEngn.com RCE solutions can be found
here(l3m0n-tr33 blog, unofficially linked)