官网:http://www.teorex.com/
判断注册是否成功的起始地址:
004888B0 /$ 55 push ebp
关键函数:
004888E4 |. E8 27010000 call Inpaint.00488A10
注册机编写:
#include "stdafx.h"
#include <windows.h>
int main()
{
char szBuf[MAXBYTE] = { 0 };
printf("请输入密钥(5位大写字母):");
scanf("%c%c%c%c%c", &szBuf[0], &szBuf[4], &szBuf[8], &szBuf[12], &szBuf[16]);
//szBuf[0]
szBuf[1] = 33 * szBuf[0] * szBuf[0] % 25 + ‘A‘;
szBuf[2] = 21 * szBuf[0] * szBuf[1] % 25 + ‘A‘;
szBuf[3] = 5 * szBuf[2] % 25 + ‘A‘;
//szBuf[4]
szBuf[5] = 13 * szBuf[2] * szBuf[3] * szBuf[3] % 25 + ‘A‘;
szBuf[6] = (szBuf[5] + 256 + szBuf[4]) % 25 + ‘A‘;
szBuf[7] = (szBuf[5] + szBuf[6] + szBuf[5]) % 25 + ‘A‘;
//szBuf[8]
szBuf[9] = szBuf[8] * szBuf[8] % 25 + ‘A‘;
szBuf[10] = (szBuf[7] + szBuf[8] + szBuf[6] + 489) % 25 + ‘A‘;
szBuf[11] = szBuf[8] * szBuf[9] * szBuf[10] % 25 + ‘A‘;
//szBuf[12]
szBuf[13] = (szBuf[2] + szBuf[5] + szBuf[10] + 845) % 25 + ‘A‘;
szBuf[14] = szBuf[12] * szBuf[13] * szBuf[7] % 25 + ‘A‘;
szBuf[15] = szBuf[12] * szBuf[11] * szBuf[3] % 25 + ‘A‘;
//szBuf[16]
szBuf[17] = szBuf[15] * szBuf[16] * szBuf[13] % 25 + ‘A‘;
szBuf[18] = szBuf[16] * szBuf[16] * szBuf[7] % 25 + ‘A‘;
szBuf[19] = (szBuf[7] + szBuf[18] + szBuf[4] + 425) % 25 + ‘A‘;
//szBuf[20](不用管)
szBuf[20] = ‘A‘;
szBuf[21] = szBuf[9] * szBuf[19] * szBuf[11] % 25 + ‘A‘;
printf("%s\r\n", szBuf);
system("pause");
return 0;
}