求助为了逆推一个视频软件的注册码,算法很简单,但是到最后关头卡住了
A1,...A5都是每一位字符asc码-30后的值,都在0-10之间
转换:
T1=A1
T2=10T1+A2
T3=10T2+A3
T4=10T3+A4
T5=10T4+A5
一共5个字符
当T5=2098h时,算出A1,...A5
下面是我写的代码,不知到是否有错`我是学java的.这方面不是很会写!但是算了好久都没有算出来!求高人另写代码.帮我算出他们的值
public class a1 {
public static void main(String args[]){
//int x1,x2,x3,x4,x5,T2,T3,T4,T5;
for(int x1 = 1;x1<10;x1++) {
for(int x2 = 1;x2<10;x2++) {
for(int x3 = 1;x3<10;x3++) {
for(int x4 = 1;x4<10;x4++) {
for(int x5 = 1;x5<10;x5++) {
for(int T1 = 1;T1<8344;T1++) {
for(int T2 = 1;T2<8344;T2++) {
for(int T3 = 1;T3<8344;T3++) {
for(int T4 = 1;T4<8344;T4++) {
/*
T2=16*x1+x2;
T3=16*T2+x3;
T4=16*T3+x4;
T5=16*T4+x5;*/
if(16*x1+x2==T2 &&T3==16*T2+x3 && T4==16*T3+x4 && 8344==16*T4+x5) {
System.out.println(x1 +"\t" + x2 + "\t" + x3 + "\t" + x4 + "\t"
+ x5 + "\t" + T1 + "\t"+ T2 + "\t" + T3 + "\t" + T4);
}
}
}
}
}
}
}
}
}
}
}
}
[课程]Linux pwn 探索篇!