官网: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; }