{ code1[i] = this->regtoa(code1[i]); } code1[4]=0; //处理完第一组注册码 memcpy(®1,code1,4); reg2 = reg1 * 22; memcpy(code2,®2,4); for(i=0;i<4;i++) { code2[i] = this->change(i,code2[i]); code2[i] = this->regtoa(code2[i]); } code2[4] =0; //处理完第二组注册码 memcpy(®2,code2,4);
reg3 = reg2*3 + ((reg2 ^ reg1)+8)*reg1; memcpy(code3,®3,4); for(i=0;i<4;i++) { code3[i] = this->regtoa(code3[i]); } code3[4] =0; //处理完第三组注册码 memcpy(®3,code3,4);
reg4 = reg1*5 + ((reg2 * reg1)+6)*reg3; memcpy(code4,®4,4); for(i=0;i<4;i++) { code4[i] = this->regtoa(code4[i]); } code4[4] =0; //处理完第四组注册码
this->m_regcode = code1; this->m_regcode += "-"; this->m_regcode += code2; this->m_regcode += "-"; this->m_regcode += code3; this->m_regcode += "-"; this->m_regcode += code4; this->UpdateData(false); // CDialog::OnOK(); }
char CHero3000Dlg::change(unsigned char a, char b) { do { _asm mov bl,b; _asm test bl,0xC3; _asm jpe st0; _asm stc; st0: _asm rcr bl,1; _asm mov b,bl; if(a==0) a=0xff; else a--; } while(a>0); return b; }
unsigned char CHero3000Dlg::regtoa(unsigned char a) { for(;1;) { a = a & 0x7f; if(a>='A' && a<='Z' ) { a = a 0x20; //转为小写 } if(a == 0x6f) //如果是字符'o'则不要它。可能是'o'与'0'比较相似,在注册码中会去除。
上一篇:法律文书、合同样本库 5.10破解手记--算法分析
下一篇:黑马多媒体电子教室精简版简单算法分析
|