急需这个注册机,但实在不会C++的说:
CString CKeyGun::MakeMachineCode() //Make MachineCode
{
CString MachineCode;
DWORD Disk_Vol;
char CPUStr[12];
int i;
GetVolumeInformation("C:\\",NULL,12,&Disk_Vol,NULL,NULL,NULL,10);
_asm{
mov eax,0
cpuid
mov DWORD ptr CPUStr , ebx
mov DWORD ptr CPUStr+4 , edx
mov DWORD ptr CPUStr+8 , ecx
}
for(i=0;i<12;i++)
{
MachineCode+=char((Disk_Vol+int(CPUStr[i]))%0x1A+0x41);
}
return MachineCode;
}
CString CKeyGun::MakeKey(CString MaCode,CString Username) //Make Reg key
{
int i,Usr;
Usr=0;
for(i=0;i<Username.GetLength();i++)
{
Usr+=int(Username.GetAt(i));
}
CString Key;
for(i=0;i<11;i++)
{
Key+=char(((MaCode.GetAt(i)*Usr)+MaCode.GetAt(i+1))%0x1A+0x41);
}
Key+=char((MaCode.GetAt(i)*Usr)%0x1A+0x41);
for(i=0;i<12;i++)
{
Key+=char((MaCode.GetAt(i)*(Usr+1))%0x1A+0x41);
}
return Key;
}
CString CKeyGun::MakeMachineCode() //Make MachineCode
{
CString MachineCode;
DWORD Disk_Vol;
char CPUStr[12];
int i;
GetVolumeInformation("C:\\",NULL,12,&Disk_Vol,NULL,NULL,NULL,10);
_asm{
mov eax,0
cpuid
mov DWORD ptr CPUStr , ebx
mov DWORD ptr CPUStr+4 , edx
mov DWORD ptr CPUStr+8 , ecx
}
for(i=0;i<12;i++)
{
MachineCode+=char((Disk_Vol+int(CPUStr[i]))%0x1A+0x41);
}
return MachineCode;
}
CString CKeyGun::MakeKey(CString MaCode,CString Username) //Make Reg key
{
int i,Usr;
Usr=0;
for(i=0;i<Username.GetLength();i++)
{
Usr+=int(Username.GetAt(i));
}
CString Key;
for(i=0;i<11;i++)
{
Key+=char(((MaCode.GetAt(i)*Usr)+MaCode.GetAt(i+1))%0x1A+0x41);
}
Key+=char((MaCode.GetAt(i)*Usr)%0x1A+0x41);
for(i=0;i<12;i++)
{
Key+=char((MaCode.GetAt(i)*(Usr+1))%0x1A+0x41);
}
return Key;
}