如何算出注册码
string matrix[10]
long ll
string ls = ""
long ll_i
long ll_len
string ls_res
string ls_arr[100]
string ls_arrstr
string ls_sec1
string ls_sec2
string ls_sec3
string ls_sec4
string ls_sec5
matrix[1] = "N"
matrix[2] = "T"
matrix[3] = "B"
matrix[4] = "e"
matrix[5] = "s"
matrix[6] = "t"
matrix[7] = "S"
matrix[8] = "o"
matrix[9] = "f"
matrix[10] = "t"
ll = long(string(getcpuid()))
if false then
ls = string(gl_limitunitnum) + string(gl_limitathletenum) + reverse(string(abs(long(ll))))
else
for ll_i = 1 to integer(len(string(ll)) / 2)
ls = ls + right(string(long(right(left(string(ll),ll_i),1)) * long(left(right(string(ll),ll_i),1))),1)
next
for ll_i = len(ls) to 6
ls = ls + left(right(string(ll),ll_i - len(ls)),1)
next
for ll_i = len(ls) to 6 step -1
ls = left(ls,len(ls) - 1)
next
for ll_i = 1 to 3
ls = ls + string(long(right(string(ll),ll_i * 2 - 1)) * (long(right(string(ll),ll_i * 2 - 1)) + long(right(string(ll),ll_i * 2))))
next
for ll_i = 1 to 3
ls = ls + left(right(string(ll),ll_i),1)
next
end if
for ll_len = 1 to len(ls)
ls_res = ls_res + matrix[mod(long(mid(ls,ll_len,1)) * (gl_limitunitnum + gl_limitathletenum + 26 + 26 + 25),10) + 1]
next
for ll_len = 1 to len(ls_res) * 2 step 2
if ll_len < 22 then
if ll_len = 1 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("Z"),26) + 65)
end if
if ll_len = 3 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("H"),26) + 65)
end if
if ll_len = 5 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("a"),26) + 65)
end if
if ll_len = 7 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("n"),26) + 65)
end if
if ll_len = 9 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("g"),26) + 65)
end if
if ll_len = 11 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("Z"),26) + 65)
end if
if ll_len = 13 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("H"),26) + 65)
end if
if ll_len = 15 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("e"),26) + 65)
end if
if ll_len = 17 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("n"),26) + 65)
end if
if ll_len = 19 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len + 1) / 2,1)) + asc("Y"),26) + 65)
end if
if ll_len = 21 then
ls_arr[ll_len] = char(mod(asc(mid(ls_res,(ll_len - 1) / 2,1)) + asc("u"),26) + 65)
end if
else
ls_arr[ll_len] = mid(ls_res,(ll_len + 1) / 2,1)
end if
next
for ll_len = 2 to (len(ls_res) - 1) * 2 step 2
ls_arr[ll_len] = string(mod(asc(ls_arr[ll_len - 1]) ^ 2 + asc(ls_arr[ll_len + 1]),10))
next
ls_arr[1] = "B"
ls_arr[3] = "S"
for ll_len = 1 to 100
ls_arrstr = ls_arrstr + ls_arr[ll_len]
next
ls_sec1 = upper(left(ls_arrstr,5))
ls_sec2 = upper(mid(ls_arrstr,7,5))
ls_sec3 = upper(mid(ls_arrstr,13,5))
ls_sec4 = upper(mid(ls_arrstr,19,5))
ls_sec5 = upper(mid(ls_arrstr,15,5))
return (ls_sec1 + "-" + ls_sec2 + "-" + ls_sec3 + "-" + ls_sec4 + "-" + ls_sec5)
机器序列号:F8E9CACA0C113F62E15B 还请各位高手帮忙啊