jeb 2.0.6 注册算法简单分析

/ 0评 / 0

算法的大概思路是,获取系统的mechineId的long型数据,转成16进制,取低八位+1485001568+287454020 是否等于注册码Z之前的数据的低八位,取高八位-162693954+1432778632的结果再与上32就等于注册码Z之前的数据的高八位,再把注册码高低拼接后得到注册码Z之前假设这个值为key,计算出当前时间,格式为unix型,异或上1450416845得到个值假设为time,再通过函数计算得到最后一位的校验值,即

int sum=0;
int flag=0;
for(int i=time;time>0;time>>4){
sum+=i&0xf;
}
flag=sum%10;

将flag拼接在time后面,最后注册码的形式应该是key + Z+ time+flag


java可通过下面方法将高低八位拼接

ByteBuffer br = ByteBuffer.allocateDirect(8);
br.putInt(高八位);
br.putInt(低八位);
br.rewind();
br.getLong();

发表评论

电子邮件地址不会被公开。 必填项已用*标注