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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 安丘市| 东台市| 克东县| 婺源县| 枣强县| 陆良县| 丰镇市| 阿拉尔市| 郧西县| 砚山县| 廊坊市| 卓资县| 凤城市| 泽州县| 循化| 江永县| 微山县| 景德镇市| 庆云县| 克什克腾旗| 平南县| 泗水县| 岢岚县| 贵定县| 拉孜县| 德清县| 中西区| 澄城县| 凉城县| 连州市| 香港 | 鞍山市| 凤庆县| 宁化县| 萨迦县| 武邑县| 石狮市| 江西省| 云南省| 延边| 商南县|