求助:这个如何写注册机,最好是易语言。其他也行
算法分析:21位注册码(没有零)
1、固定字符串 L A S E R K I N G W T Z J Y 2 Q4U5XDPCOF3M8VH169B7。
对应的位置 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23
计算位置Pn 0 1 2 3 4 5 6 7 8 9 A B C D E F10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22
2、按顺序取下注册码的第6、13、21、4、7、9、14、17、20位
q=第6、13、21位Pn值之和
(P4-q+69)/23的余数为a1 P4、7、20等是对应的字符所在的Pn值
(P7-q+69)/23的余数为a2
(P9-q+69)/23的余数为a3
(P14-q+69)/23的余数为a4
(P17-q+69)/23的余数为a5
(P20-q+69)/23的余数为a6
a1-a6要大于0小于等于2
3、顺序取下注册码的第1、2、3、5、8、10、11、12、15、16、18、19位,找对应的Pn值,做如下计算:63-Pn;第2、5、10、12、16、19,是
63-Pn-(22、23)a1-a6是1时,为23,是2时为22。
按照1、2、3、5、8、10、11、12、15、16、18、19位顺序,经计算后,得到12组数据,A1---A12
4、计算 [(A1---A12)- q + C8] / 64得到12组余数,B1---B12
5、从B11开始倒取,(B11---B1)/ A 的余数,乘5,再乘2,与Bn+1组数据IMUL(乘)6666667的余数,SAR 2,相加。得到11组数据,C1---C11。
6、
a= B12/A的余数乘5
b=B1*66666667的余数,再SAR 2。
c=a*2+b
X=[(c*5*5+c*5*5*4+C10)*5*5*4+C9]*5*5*4+C7
7、
Y=(C6*5*5*4+C4)*5*5*5*5*4+C1
8、
Z=[(C8+7D0)*5*5*4+C5]*5*5*4+C2
9、10进制计算
X/Z*100000000=T1
Y/Z=T2
T=T1+T2+0.5 (取整数)
10、要求:
输入的注册码,按上述过程,最后验证,(T的16进制-C11*F69B5)/186A0的整数部分为零,余数部分大于C350。这样的注册码满足条件。 使用E语言的汇编模块试试看。 顶一下,不会编程帮不上啊,哪位兄弟来看下。。。 不懂的啊,看你们活得都挺累啊 这里的固定字符串好像没什么用吧。。
“a1-a6要大于0小于等于2” 这里是减吧?
楼主能不能给个码可以测试下看是不是正确的? ”按顺序取下注册码的第6、13、21、4、7、9、14、17、20位“
这些都是16进制的吧?
就是一直都是采用这种16禁止形式 (P7-q+69)/23的余数为a2
(P9-q+69)/23的余数为a3
(P14-q+69)/23的余数为a4
(P17-q+69)/23的余数为a5
这些有什么用?
按顺序取下注册码的第6、13、21、4、7、9、14、17、20位
这个也没用?
(B11---B1)/ A 的余数
A是什么? 细看了下
按顺序取下注册码的第6、13、21、4、7、9、14、17、20位
这个是有用的
页:
[1]
2