问题描述
publicclassVer{privateint_$9=0;privateint_$8=0;privateString_$7=null;privateString_$6=null;privateint_$5=0;privateint_$4=0;privatelong_$3=0L;privateint_$2=0;privateint_$1=0;publicvoidload(FileparamFile)throwsFileNotFoundException{_$1(paramFile);}privatevoid_$1(FileparamFile)throwsFileNotFoundException{if((paramFile==null)||(!paramFile.exists())){thrownewFileNotFoundException("Can'tfindthefile.");}try{FilelocalFile=paramFile;byte[]localObject1=newbyte[(int)localFile.length()];//取得文件[9,-31,9,49,-3,12,-113,7,101,20,25,42,59,117,-48,-117,25,-59,106,36,-42,-76,56,-78,59,113,114,-105,-98,85,-77,82,-16,78,86,-86,30,28,-2,39,83,-21,0,32,86,-71,-124,-114,122,64,-95,-79,-89,-17,-71,-35,-95,-10,34,103,56,95,17,-70,89,-1,-107,-22,61,-86,77,-31,-73,112,9,44,-49,-125,53,-9,76,61,115,-94,90,-21,65,-59,122,-76,-36,-91,88,-1,51,-90,-90,-118,99,-128,17,-109,-49,-41,-28,111,98,-19,-127,86,-37,-87,76,88,45,-93,5,95,-38,-111,16,-49,30,-72,-54,3,105,101,55,19,11,-29,-115,-41,-19,-69,111,-27,-64,96,-43,71,-1,82,106,-116,-45,51,87,17,-12,118,-111,125,-108,-112,56,-36,-117,113,120,-115,127,1,106,-49,9,48,-12,38,81,20,-69,44,37,81,104,30,-89,-71,69,63,-121,-12,17,108,-52,37,57,125,-117,-84,-121,19,-43,73,-100,99,-5,-17,100,-84,-121,-69,-3,19,-69,-101,-25,-127,-84,124,21,113,27,48,-76,76,13,-19,-127,-103,-1,17,-85,46,-76,114,30,40,-78,-62,86,59,-34,-89,110,-58,-58,14,-71,21,-80,-33,98,4,-50,121,-83,-21,-121,50,-89,-51,89,117,12,119,-87,88,-84,19,-65,51,-40,-61,-29,-51,-35,-82,54,51,-39,126,82,-70,62,-128,109,-121,-38,116,115,71,115,74,-74,-96,-95,-48,-1,-92,28,36,-50,-47,20,-115,116,-20,80,75,74,27,14,97,99,102,86,-51,-55,-38,127,-20,10,52,-5,126,6,0]ObjectlocalObject2=newFileInputStream(localFile);((FileInputStream)localObject2).read((byte[])localObject1);//读取文件((FileInputStream)localObject2).close();byte[]localObject3={0,65,0,3,0,-113,-115,-38,-106,-26,-14,-81,3,-112,-94,-22,89,37,77,-6,39,-29,67,-82,-44,-103,47,21,38,71,-89,72,2,89,-49,-19,1,110,74,68,-117,-28,123,107,107,92,105,-5,59,-23,11,-107,-27,36,-85,-22,101,82,-40,-108,15,-103,61,-39,52,28,57,-28,101,1,0,1};inti=(localObject3[0]&0xFF)<<8|localObject3[1]&0xFF;//i=65intj=(localObject3[2]&0xFF)<<8|localObject3[3]&0xFF;//j=3byte[]arrayOfByte2=newbyte[i];//开出65个字节[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]byte[]arrayOfByte3=newbyte[j];//创建三字节[0,0,0]System.arraycopy(localObject3,4,arrayOfByte2,0,i);System.arraycopy(localObject3,4+i,arrayOfByte3,0,j);ObjectlocalObject4=newBigInteger(1,arrayOfByte2);//7518539155220091912091271151607171597180694736625285327722048871200906719085585230683358494079624676176505503892717301692809619039513418622614148430292069ObjectlocalObject5=newBigInteger(1,arrayOfByte3);//65537intm=(((BigInteger)localObject4).bitLength()+7)/8;//m=64intn=m;//n=64inti1=m-1;//i1=63inti2=(localObject1.length+n-1)/n*i1;//315byte[]arrayOfByte1=newbyte[i2];//315inti3=0;for(inti4=0;i3<localObject1.length;i4+=i1){byte[]arrayOfByte4=newbyte[n];inti5=localObject1.length-i3;if(i5>n)System.arraycopy(localObject1,i3,arrayOfByte4,0,n);elseSystem.arraycopy(localObject1,i3,arrayOfByte4,0,i5);BigIntegerlocalBigInteger1=newBigInteger(1,arrayOfByte4);//517407651520686600069155755378994573441292672595621585940102495302888392538492833013031513124330161658548374683634860721799927620216002436239992782000570BigIntegerlocalBigInteger2=localBigInteger1.modPow((BigInteger)localObject5,(BigInteger)localObject4);//9976971778203722047684271002989477961883238883022141389684090131454479278822236304571083126853114419726057531570923733312166778452205013214592459886091arrayOfByte4=localBigInteger2.toByteArray();//[48,-60,52,63,1,-44,-69,-93,0,-96,-98,-92,123,83,-12,108,110,-2,0,108,-20,30,-111,-45,112,-38,-1,-118,-13,-66,-49,17,-27,116,-124,-79,93,30,83,-67,0,94,100,8,112,47,0,-34,127,-87,1,-18,100,-4,29,-103,-118,72,77,-23,0,78,11]if(arrayOfByte4.length<=i1)System.arraycopy(arrayOfByte4,0,arrayOfByte1,i4+i1-arrayOfByte4.length,arrayOfByte4.length);elseSystem.arraycopy(arrayOfByte4,arrayOfByte4.length-i1,arrayOfByte1,i4,i1);i3+=n;}i=arrayOfByte1[0]&0xFF;//取得j=65j=arrayOfByte1[1]&0xFF;//取得J=3arrayOfByte2=newbyte[i];for(intk=0;k<i;k++){//循环计算arrayOfByte2[k]=arrayOfByte1[j];j=arrayOfByte1[(j+1)]&0xFF;}ByteArrayInputStreamlocalByteArrayInputStream=newByteArrayInputStream(arrayOfByte2);localObject4=newDataInputStream(localByteArrayInputStream);//获取解密:this._$8=((DataInputStream)localObject4).readShort();//CPUthis._$7=((DataInputStream)localObject4).readUTF();//用户this._$6=((DataInputStream)localObject4).readUTF();//版本if(this._$8>=3){this._$5=((DataInputStream)localObject4).readInt();//0this._$4=((DataInputStream)localObject4).readInt();//10this._$3=((DataInputStream)localObject4).readLong();//1387728000000this._$2=((DataInputStream)localObject4).readInt();//365this._$1=((DataInputStream)localObject4).readInt();//-1}else{localObject5=((DataInputStream)localObject4).readUTF();if(((String)localObject5).endsWith("CPU"))this._$5=Integer.parseInt(((String)localObject5).substring(0,((String)localObject5).length()-3));elsethis._$5=Integer.parseInt((String)localObject5);this._$3=((DataInputStream)localObject4).readLong();this._$1=((DataInputStream)localObject4).readInt();if(this._$1==-1){this._$4=5;this._$2=15;}else{this._$4=0;this._$2=0;}}this._$9=this._$1;//IPif((this._$8==2)||(this._$8==3)){StringlocalObject13=(this._$1>>>24&0xFF)+"."+(this._$1>>>16&0xFF)+"."+(this._$1>>>8&0xFF)+"."+(this._$1>>>0&0xFF);//255.255.255.255localObject2=InetAddress.getByName(localObject13);//255.255.255.255ServerSocketlocalObject31=newServerSocket(0,1,(InetAddress)localObject2);((ServerSocket)localObject31).close();this._$9=0;}}catch(ThrowablelocalThrowable){if(this._$1==-1){//365转成MILLISlongl=System.currentTimeMillis()-this._$3;if((l>=0L)&&(l<this._$2*86400L*1000L))this._$9=0;elseif((this._$4>0)&&(this._$4<6)){this._$9=0;}elsethis._$9=2130706434;}}}
解决方案
解决方案二:
楼主是想干嘛呢
解决方案三:
想知这个是什么算法。应该是个组盒算法。RAS大码还有SHA1或MD5
解决方案四:
解决方案五:
没人懂么?请问:this.getMd5(password).ToUpper().Substring(3,0x10)==Id.Substring(0,0x10));什么意思呀?