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 舵手 閱讀(819) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 武宣县| 红安县| 五华县| 迭部县| 东乌珠穆沁旗| 合川市| 陆丰市| 航空| 内黄县| 什邡市| 玛纳斯县| 枣阳市| 攀枝花市| 油尖旺区| 台南县| 松溪县| 邳州市| 河曲县| 漳平市| 兴安盟| 宜川县| 登封市| 新郑市| 教育| 台山市| 邓州市| 海盐县| 鸡泽县| 东安县| 喀喇沁旗| 达州市| 车致| 霍山县| 西乡县| 太原市| 阜宁县| 象州县| 澄江县| 乃东县| 安康市| 天气|