GalaxyPilot —— D.S


                  生命不熄,戰斗不止
          數據加載中……

          java一算法的逆運算,分享出來供有興趣的朋友研究

          private static void eighth(byte[] target){//[5, 4, 3, 8, 6, 0, 12, 10, 10, 2, 15]
          byte abyte0[] = new byte[11];
                  long l3 = (target[9] << 4) + target[10]; //47
                  for(int i = 0; i < 9; i++)
                  {
                      long l5  = 9L * l3 + (long)i;//423
                      long l6;
                      long l7 = ((l6 = 0x7fffffffL) - 1L) / 256L;//8388607
                      long l8 = (l6 << 1) + 2L;//4294967296
                      long l9 = 16807L;//16807
                      long l10 = 1L;
                      for(int i1 = 0; (long)i1 < l5 + 12L; i1++)
                      {
                          if((l10 = (int)(l10 *= l9)) < 0L)
                              l10 += l8;
                          l10 %= l6;
                      }
                      byte byte1;
                      byte1  = (byte)(int)(l10 / l7);
                      abyte0[i] = (byte)(target[i] - byte1 & 0xf);//[0, 10, 7, 5, 0, 7, 1, 1, 11, 0, 0];
                  }
          }
          byte參數 target 實際值 =[5, 4, 3, 8, 6, 0, 12, 10, 10, 2, 15],
          經該方法運算后 abyte0 =[0, 10, 7, 5, 0, 7, 1, 1, 11, 0, 0];
          現在要根據 abyte0 =[0, 10, 7, 5, 0, 7, 1, 1, 11, 0, 0] 逆向算出 target,數組最后兩位可以不管。

          posted on 2019-11-27 16:39 舵手 閱讀(815) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乌什县| 滨州市| 虎林市| 桓台县| 扎兰屯市| 双桥区| 罗城| 中西区| 治县。| 桑日县| 梓潼县| 海南省| 永春县| 林周县| 东乡县| 嵊州市| 子长县| 宝兴县| 石家庄市| 临夏县| 四会市| 莱阳市| 开远市| 丰镇市| 荆州市| 简阳市| 阳泉市| 云梦县| 梓潼县| 栾城县| 邢台市| 新巴尔虎左旗| 图木舒克市| 定远县| 徐汇区| 屏南县| 彭泽县| 兰溪市| 昌黎县| 文山县| 宜春市|