打开输入码号弹出错误的信息框
然后dnspy打开搜索错误信息找到这个位置,在上面的if下断点
第一个if是判断是否为空的码号,第二个if是根据上面的函数算出结果是否为"winjia"
进入第二if上面的函数这个就是关键的算法了
取的单号前三位然后在这里比较。。但是我还不知道这个有啥用
算法很简单
在这之前先取单号的前3位,后面用来判断了一下,但是我不知道什么作用。。
this.var__ini_cnum[0] = mahao[1]
this.var__ini_cnum[1] = mahao[5]
this.var__ini_cnum[2] = mahao[10]
this.var__ini_cnum[3] = mahao[14]
this.var__ini_num:这个是单号保存的地方
this.var__ini_addnum = (byte)((double)this.var__ini_num[0] * (double)this.var__ini_num[5] + (double)this.var__ini_num[12] * (double)this.var__ini_num[13]);
this.var__ini_caddnum = (byte)((double)this.var__ini_cnum[1] * (double)this.var__ini_cnum[3] + (double)this.var__ini_cnum[0] * (double)this.var__ini_cnum[2]);
总的来说就是:单号的第1位*第6位 + 第13位*第14位 和 注册码的第6位 * 注册码的第15位 + 注册码第2位 * 注册码第11位 判断是否相等,相等则checkflag = "winjia",程序就能进入界面
|