2020天翼杯,逆向reverse,mobile

主函数有个checkFlag函数

修改后缀为zip,找到apk的lib文件

 

 

 加载到ida里,找到checkFlag函数,v5是我们的输入flag,v6和v7是x和xx两个数组

 代码的逻辑是将每一个输入和xx数组做乘法,然后结果相加,判断是否等于x数组的值

我一开始想用爆破的方法,写了半天写不出来,因为每一个x的值都是经过32个未知的flag值得到的

转念一想,可以考虑为解32元一次方程,使用math库的solve函数可以解多元一次方程,32个方程的系数作为一个array,32个方程的结果作为一个array

得到如下解密代码,得到flag:FAKE{th15_15_n07_7h3_r341_f14g!}

import numpy as np

s=[   13,   0,   0,   0, 144,   0,   0,   0, 129,   0, 
    0,   0,  36,   0,   0,   0,  58,   0,   0,   0, 
   38,   0,   0,   0,  53,   0,   0,   0,  40,   0, 
    0,   0, 103,   0,   0,   0, 125,   0,   0,   0, 
   97,   0,   0,   0,  19,   0,   0,   0,  68,   0, 
    0,   0, 132,   0,   0,   0,  31,   0,   0,   0, 
  148,   0,   0,   0, 150,   0,   0,   0,  96,   0, 
    0,   0, 118,   0,   0,   0,  37,   0,   0,   0, 
   30,   0,   0,   0, 143,   0,   0,   0, 134,   0, 
    0,   0,  37,   0,   0,   0,  96,   0,   0,   0, 
   42,   0,   0,   0, 129,   0,   0,   0,  84,   0, 
    0,   0, 111,   0,   0,   0,  66,   0,   0,   0, 
   13,   0,   0,   0,  48,   0,   0,   0, 127,   0, 
    0,   0, 111,   0,   0,   0, 102,   0,   0,   0, 
   17,   0,   0,   0, 111,   0,   0,   0, 100,   0, 
    0,   0, 120,   0,   0,   0,  73,   0,   0,   0, 
   34,   0,   0,   0, 144,   0,   0,   0,  78,   0, 
    0,   0,  86,   0,   0,   0, 133,   0,   0,   0, 
   48,   0,   0,   0,  64,   0,   0,   0, 141,   0, 
    0,   0, 110,   0,   0,   0,  15,   0,   0,   0, 
   10,   0,   0,   0,  37,   0,   0,   0, 128,   0, 
    0,   0, 119,   0,   0,   0,  68,   0,   0,   0, 
  104,   0,   0,   0, 137,   0,   0,   0,  12,   0, 
    0,   0,  97,   0,   0,   0,  29,   0,   0,   0, 
   46,   0,   0,   0,  11,   0,   0,   0, 116,   0, 
    0,   0, 116,   0,   0,   0, 131,   0,   0,   0, 
  124,   0,   0,   0,  54,   0,   0,   0,  57,   0, 
    0,   0,  55,   0,   0,   0, 122,   0,   0,   0, 
   74,   0,   0,   0, 123,   0,   0,   0,  57,   0, 
    0,   0,  44,   0,   0,   0,  63,   0,   0,   0, 
  131,   0,   0,   0,  81,   0,   0,   0,  86,   0, 
    0,   0,  56,   0,   0,   0,  92,   0,   0,   0, 
   31,   0,   0,   0, 118,   0,   0,   0,  98,   0, 
    0,   0, 135,   0,   0,   0,  66,   0,   0,   0, 
  115,   0,   0,   0,  51,   0,   0,   0, 128,   0, 
    0,   0, 102,   0,   0,   0,  67,   0,   0,   0, 
   41,   0,   0,   0,  40,   0,   0,   0,  41,   0, 
    0,   0, 144,   0,   0,   0,  53,   0,   0,   0, 
   84,   0,   0,   0, 105,   0,   0,   0, 121,   0, 
    0,   0,  74,   0,   0,   0, 132,   0,   0,   0, 
   40,   0,   0,   0,  66,   0,   0,   0,  62,   0, 
    0,   0,  61,   0,   0,   0,  18,   0,   0,   0, 
  103,   0,   0,   0, 107,   0,   0,   0,  51,   0, 
    0,   0, 133,   0,   0,   0,  85,   0,   0,   0, 
  132,   0,   0,   0, 137,   0,   0,   0,  52,   0, 
    0,   0,  42,   0,   0,   0,  69,   0,   0,   0, 
   79,   0,   0,   0,  70,   0,   0,   0, 147,   0, 
    0,   0,  54,   0,   0,   0,  43,   0,   0,   0, 
   50,   0,   0,   0, 145,   0,   0,   0,  54,   0, 
    0,   0,  69,   0,   0,   0,  58,   0,   0,   0, 
   58,   0,   0,   0,  47,   0,   0,   0, 136,   0, 
    0,   0,  74,   0,   0,   0,  42,   0,   0,   0, 
   58,   0,   0,   0,  65,   0,   0,   0,  62,   0, 
    0,   0, 134,   0,   0,   0,  53,   0,   0,   0, 
   56,   0,   0,   0, 143,   0,   0,   0,  74,   0, 
    0,   0,  70,   0,   0,   0,  84,   0,   0,   0, 
   33,   0,   0,   0, 112,   0,   0,   0,  36,   0, 
    0,   0,  61,   0,   0,   0,  41,   0,   0,   0, 
   17,   0,   0,   0,  93,   0,   0,   0, 111,   0, 
    0,   0,  66,   0,   0,   0,  85,   0,   0,   0, 
   62,   0,   0,   0,  37,   0,   0,   0, 133,   0, 
    0,   0, 149,   0,   0,   0, 144,   0,   0,   0, 
   41,   0,   0,   0, 103,   0,   0,   0,  55,   0, 
    0,   0,  16,   0,   0,   0, 125,   0,   0,   0, 
  132,   0,   0,   0, 117,   0,   0,   0,  53,   0, 
    0,   0,  57,   0,   0,   0, 104,   0,   0,   0, 
  125,   0,   0,   0,  10,   0,   0,   0,  78,   0, 
    0,   0,  19,   0,   0,   0,  34,   0,   0,   0, 
   25,   0,   0,   0, 126,   0,   0,   0, 134,   0, 
    0,   0, 139,   0,   0,   0,  90,   0,   0,   0, 
   22,   0,   0,   0, 138,   0,   0,   0, 142,   0, 
    0,   0,  56,   0,   0,   0,  87,   0,   0,   0, 
   43,   0,   0,   0, 116,   0,   0,   0,  39,   0, 
    0,   0,  74,   0,   0,   0, 105,   0,   0,   0, 
   61,   0,   0,   0,  54,   0,   0,   0,  48,   0, 
    0,   0,  62,   0,   0,   0, 136,   0,   0,   0, 
   87,   0,   0,   0, 129,   0,   0,   0,  68,   0, 
    0,   0, 132,   0,   0,   0,  28,   0,   0,   0, 
  102,   0,   0,   0,  69,   0,   0,   0,  71,   0, 
    0,   0,  36,   0,   0,   0,  72,   0,   0,   0, 
   59,   0,   0,   0, 114,   0,   0,   0,  96,   0, 
    0,   0,  55,   0,   0,   0,  71,   0,   0,   0, 
   75,   0,   0,   0, 126,   0,   0,   0,  76,   0, 
    0,   0,  89,   0,   0,   0, 106,   0,   0,   0, 
  116,   0,   0,   0,  33,   0,   0,   0, 138,   0, 
    0,   0, 143,   0,   0,   0, 144,   0,   0,   0, 
   15,   0,   0,   0,  65,   0,   0,   0,  86,   0, 
    0,   0,  61,   0,   0,   0,  79,   0,   0,   0, 
   64,   0,   0,   0,  24,   0,   0,   0,  62,   0, 
    0,   0,  10,   0,   0,   0,  99,   0,   0,   0, 
   14,   0,   0,   0,  24,   0,   0,   0, 141,   0, 
    0,   0,  45,   0,   0,   0,  68,   0,   0,   0, 
   25,   0,   0,   0, 124,   0,   0,   0, 120,   0, 
    0,   0, 108,   0,   0,   0,  29,   0,   0,   0, 
   71,   0,   0,   0,  38,   0,   0,   0,  10,   0, 
    0,   0,  83,   0,   0,   0,  63,   0,   0,   0, 
  121,   0,   0,   0,  44,   0,   0,   0,  30,   0, 
    0,   0, 112,   0,   0,   0, 107,   0,   0,   0, 
   85,   0,   0,   0,  66,   0,   0,   0,  82,   0, 
    0,   0,  56,   0,   0,   0, 137,   0,   0,   0, 
   39,   0,   0,   0,  34,   0,   0,   0,  39,   0, 
    0,   0,  58,   0,   0,   0, 116,   0,   0,   0, 
  125,   0,   0,   0,  45,   0,   0,   0,  62,   0, 
    0,   0, 120,   0,   0,   0, 103,   0,   0,   0, 
   55,   0,   0,   0, 148,   0,   0,   0,  56,   0, 
    0,   0,  81,   0,   0,   0,  89,   0,   0,   0, 
   99,   0,   0,   0,  51,   0,   0,   0, 113,   0, 
    0,   0,  80,   0,   0,   0,  79,   0,   0,   0, 
  102,   0,   0,   0,  41,   0,   0,   0,  27,   0, 
    0,   0,  46,   0,   0,   0,  62,   0,   0,   0, 
   33,   0,   0,   0,  74,   0,   0,   0,  70,   0, 
    0,   0, 100,   0,   0,   0,  56,   0,   0,   0, 
   37,   0,   0,   0, 129,   0,   0,   0, 102,   0, 
    0,   0, 112,   0,   0,   0, 137,   0,   0,   0, 
   13,   0,   0,   0,  48,   0,   0,   0, 145,   0, 
    0,   0,  52,   0,   0,   0,  61,   0,   0,   0, 
   60,   0,   0,   0,  47,   0,   0,   0,  57,   0, 
    0,   0,  80,   0,   0,   0, 111,   0,   0,   0, 
  150,   0,   0,   0,  44,   0,   0,   0,  78,   0, 
    0,   0,  16,   0,   0,   0,  59,   0,   0,   0, 
  131,   0,   0,   0,  24,   0,   0,   0,  45,   0, 
    0,   0, 106,   0,   0,   0,  51,   0,   0,   0, 
   78,   0,   0,   0, 146,   0,   0,   0,  19,   0, 
    0,   0, 113,   0,   0,   0, 105,   0,   0,   0, 
  137,   0,   0,   0,  16,   0,   0,   0,  47,   0, 
    0,   0,  96,   0,   0,   0,  84,   0,   0,   0, 
   33,   0,   0,   0,  89,   0,   0,   0, 135,   0, 
    0,   0,  60,   0,   0,   0, 139,   0,   0,   0, 
   60,   0,   0,   0, 123,   0,   0,   0, 121,   0, 
    0,   0,  10,   0,   0,   0,  28,   0,   0,   0, 
   65,   0,   0,   0,  43,   0,   0,   0, 111,   0, 
    0,   0, 144,   0,   0,   0, 118,   0,   0,   0, 
   11,   0,   0,   0,  26,   0,   0,   0,  37,   0, 
    0,   0,  84,   0,   0,   0, 103,   0,   0,   0, 
   12,   0,   0,   0,  14,   0,   0,   0,  57,   0, 
    0,   0, 126,   0,   0,   0,  54,   0,   0,   0, 
   27,   0,   0,   0, 116,   0,   0,   0,  78,   0, 
    0,   0, 103,   0,   0,   0, 128,   0,   0,   0, 
   73,   0,   0,   0, 135,   0,   0,   0, 107,   0, 
    0,   0, 102,   0,   0,   0,  63,   0,   0,   0, 
   98,   0,   0,   0,  78,   0,   0,   0,  60,   0, 
    0,   0,  67,   0,   0,   0,  58,   0,   0,   0, 
   48,   0,   0,   0, 119,   0,   0,   0,  54,   0, 
    0,   0,  78,   0,   0,   0,  10,   0,   0,   0, 
   45,   0,   0,   0,  46,   0,   0,   0, 120,   0, 
    0,   0, 138,   0,   0,   0,  67,   0,   0,   0, 
   27,   0,   0,   0, 148,   0,   0,   0,  61,   0, 
    0,   0,  69,   0,   0,   0,  29,   0,   0,   0, 
   34,   0,   0,   0, 104,   0,   0,   0, 116,   0, 
    0,   0,  55,   0,   0,   0,  72,   0,   0,   0, 
   98,   0,   0,   0,  88,   0,   0,   0, 137,   0, 
    0,   0,  72,   0,   0,   0,  86,   0,   0,   0, 
  118,   0,   0,   0,  79,   0,   0,   0,  29,   0, 
    0,   0, 113,   0,   0,   0,  67,   0,   0,   0, 
   62,   0,   0,   0, 119,   0,   0,   0,  70,   0, 
    0,   0, 136,   0,   0,   0, 125,   0,   0,   0, 
   47,   0,   0,   0, 145,   0,   0,   0,  27,   0, 
    0,   0,  80,   0,   0,   0,  75,   0,   0,   0, 
   69,   0,   0,   0,  40,   0,   0,   0, 145,   0, 
    0,   0,  37,   0,   0,   0,  37,   0,   0,   0, 
   97,   0,   0,   0,  41,   0,   0,   0, 114,   0, 
    0,   0,  90,   0,   0,   0,  99,   0,   0,   0, 
   87,   0,   0,   0, 144,   0,   0,   0, 130,   0, 
    0,   0,  66,   0,   0,   0,  10,   0,   0,   0, 
   42,   0,   0,   0,  43,   0,   0,   0, 144,   0, 
    0,   0, 130,   0,   0,   0,  71,   0,   0,   0, 
  110,   0,   0,   0, 112,   0,   0,   0, 123,   0, 
    0,   0, 138,   0,   0,   0, 117,   0,   0,   0, 
  118,   0,   0,   0,  52,   0,   0,   0,  64,   0, 
    0,   0, 120,   0,   0,   0,  90,   0,   0,   0, 
  140,   0,   0,   0,  95,   0,   0,   0, 122,   0, 
    0,   0,  22,   0,   0,   0,  33,   0,   0,   0, 
  123,   0,   0,   0,  29,   0,   0,   0, 147,   0, 
    0,   0, 100,   0,   0,   0, 133,   0,   0,   0, 
   92,   0,   0,   0, 106,   0,   0,   0,  39,   0, 
    0,   0,  48,   0,   0,   0, 101,   0,   0,   0, 
   30,   0,   0,   0, 149,   0,   0,   0,  86,   0, 
    0,   0, 117,   0,   0,   0,  15,   0,   0,   0, 
   61,   0,   0,   0,  28,   0,   0,   0,  96,   0, 
    0,   0,  76,   0,   0,   0,  36,   0,   0,   0, 
  111,   0,   0,   0, 139,   0,   0,   0,  53,   0, 
    0,   0,  16,   0,   0,   0,  93,   0,   0,   0, 
   74,   0,   0,   0, 132,   0,   0,   0,  24,   0, 
    0,   0, 123,   0,   0,   0,  49,   0,   0,   0, 
   91,   0,   0,   0,  24,   0,   0,   0,  87,   0, 
    0,   0,  40,   0,   0,   0,  32,   0,   0,   0, 
   74,   0,   0,   0, 130,   0,   0,   0,  73,   0, 
    0,   0,  13,   0,   0,   0, 135,   0,   0,   0, 
   88,   0,   0,   0,  46,   0,   0,   0, 105,   0, 
    0,   0,  53,   0,   0,   0,  40,   0,   0,   0, 
   49,   0,   0,   0,  48,   0,   0,   0,  63,   0, 
    0,   0,  15,   0,   0,   0,  34,   0,   0,   0, 
  131,   0,   0,   0,  89,   0,   0,   0, 133,   0, 
    0,   0, 145,   0,   0,   0, 112,   0,   0,   0, 
  124,   0,   0,   0,  81,   0,   0,   0, 129,   0, 
    0,   0, 105,   0,   0,   0,  78,   0,   0,   0, 
  121,   0,   0,   0,  69,   0,   0,   0,  10,   0, 
    0,   0, 129,   0,   0,   0, 133,   0,   0,   0, 
   27,   0,   0,   0, 123,   0,   0,   0, 108,   0, 
    0,   0, 117,   0,   0,   0, 121,   0,   0,   0, 
   55,   0,   0,   0, 122,   0,   0,   0,  38,   0, 
    0,   0, 128,   0,   0,   0, 136,   0,   0,   0, 
   53,   0,   0,   0,  81,   0,   0,   0,  29,   0, 
    0,   0,  70,   0,   0,   0,  45,   0,   0,   0, 
  127,   0,   0,   0,  40,   0,   0,   0, 134,   0, 
    0,   0, 133,   0,   0,   0,  51,   0,   0,   0, 
   63,   0,   0,   0, 124,   0,   0,   0, 110,   0, 
    0,   0,  47,   0,   0,   0, 117,   0,   0,   0, 
   75,   0,   0,   0,  34,   0,   0,   0, 148,   0, 
    0,   0,  29,   0,   0,   0, 112,   0,   0,   0, 
   90,   0,   0,   0,  87,   0,   0,   0,  83,   0, 
    0,   0, 123,   0,   0,   0,  25,   0,   0,   0, 
   20,   0,   0,   0, 148,   0,   0,   0,  81,   0, 
    0,   0,  38,   0,   0,   0,  95,   0,   0,   0, 
  129,   0,   0,   0, 117,   0,   0,   0,  72,   0, 
    0,   0,  48,   0,   0,   0,  33,   0,   0,   0, 
  104,   0,   0,   0,  38,   0,   0,   0,  21,   0, 
    0,   0, 143,   0,   0,   0, 114,   0,   0,   0, 
  141,   0,   0,   0,  18,   0,   0,   0,  75,   0, 
    0,   0,  71,   0,   0,   0, 113,   0,   0,   0, 
  120,   0,   0,   0,  48,   0,   0,   0,  37,   0, 
    0,   0,  59,   0,   0,   0, 102,   0,   0,   0, 
  133,   0,   0,   0, 120,   0,   0,   0,  80,   0, 
    0,   0, 113,   0,   0,   0,  49,   0,   0,   0, 
  138,   0,   0,   0,  23,   0,   0,   0,  78,   0, 
    0,   0,  75,   0,   0,   0,  11,   0,   0,   0, 
  141,   0,   0,   0,  76,   0,   0,   0,  72,   0, 
    0,   0,  17,   0,   0,   0,  23,   0,   0,   0, 
  118,   0,   0,   0,  61,   0,   0,   0, 105,   0, 
    0,   0,  83,   0,   0,   0,  66,   0,   0,   0, 
  135,   0,   0,   0, 113,   0,   0,   0,  83,   0, 
    0,   0, 105,   0,   0,   0,  92,   0,   0,   0, 
  102,   0,   0,   0,  24,   0,   0,   0,  58,   0, 
    0,   0, 126,   0,   0,   0,  46,   0,   0,   0, 
   23,   0,   0,   0,  34,   0,   0,   0,  83,   0, 
    0,   0,  89,   0,   0,   0,  62,   0,   0,   0, 
  102,   0,   0,   0,  69,   0,   0,   0,  16,   0, 
    0,   0, 102,   0,   0,   0, 103,   0,   0,   0, 
  147,   0,   0,   0,  46,   0,   0,   0,  28,   0, 
    0,   0, 101,   0,   0,   0,  42,   0,   0,   0, 
   20,   0,   0,   0,  17,   0,   0,   0,  27,   0, 
    0,   0,  11,   0,   0,   0, 132,   0,   0,   0, 
  133,   0,   0,   0, 119,   0,   0,   0,  68,   0, 
    0,   0,  65,   0,   0,   0,  41,   0,   0,   0, 
   95,   0,   0,   0,  41,   0,   0,   0, 134,   0, 
    0,   0, 135,   0,   0,   0, 135,   0,   0,   0, 
   53,   0,   0,   0,  38,   0,   0,   0, 131,   0, 
    0,   0,  93,   0,   0,   0,  71,   0,   0,   0, 
   82,   0,   0,   0,  49,   0,   0,   0, 115,   0, 
    0,   0,  48,   0,   0,   0,  80,   0,   0,   0, 
   68,   0,   0,   0,  50,   0,   0,   0,  51,   0, 
    0,   0,  28,   0,   0,   0,  90,   0,   0,   0, 
  101,   0,   0,   0,  34,   0,   0,   0,  24,   0, 
    0,   0, 145,   0,   0,   0,  75,   0,   0,   0, 
  146,   0,   0,   0, 120,   0,   0,   0,  60,   0, 
    0,   0,  93,   0,   0,   0, 112,   0,   0,   0, 
   24,   0,   0,   0,  82,   0,   0,   0, 139,   0, 
    0,   0, 150,   0,   0,   0, 113,   0,   0,   0, 
  128,   0,   0,   0,  36,   0,   0,   0, 130,   0, 
    0,   0,  47,   0,   0,   0,  32,   0,   0,   0, 
   93,   0,   0,   0,  53,   0,   0,   0, 122,   0, 
    0,   0,  39,   0,   0,   0,  96,   0,   0,   0, 
   19,   0,   0,   0, 131,   0,   0,   0,  33,   0, 
    0,   0,  42,   0,   0,   0, 123,   0,   0,   0, 
   80,   0,   0,   0, 113,   0,   0,   0, 108,   0, 
    0,   0,  24,   0,   0,   0,  73,   0,   0,   0, 
  117,   0,   0,   0, 131,   0,   0,   0,  81,   0, 
    0,   0,  29,   0,   0,   0,  66,   0,   0,   0, 
   20,   0,   0,   0, 149,   0,   0,   0,  28,   0, 
    0,   0, 124,   0,   0,   0,  56,   0,   0,   0, 
   35,   0,   0,   0,  59,   0,   0,   0, 120,   0, 
    0,   0,  96,   0,   0,   0, 113,   0,   0,   0, 
   87,   0,   0,   0, 111,   0,   0,   0,  80,   0, 
    0,   0, 123,   0,   0,   0, 134,   0,   0,   0, 
   64,   0,   0,   0,  87,   0,   0,   0,  87,   0, 
    0,   0, 114,   0,   0,   0, 146,   0,   0,   0, 
  123,   0,   0,   0,  23,   0,   0,   0, 125,   0, 
    0,   0,  55,   0,   0,   0, 115,   0,   0,   0, 
   61,   0,   0,   0,  36,   0,   0,   0,  77,   0, 
    0,   0, 124,   0,   0,   0, 105,   0,   0,   0, 
   23,   0,   0,   0, 141,   0,   0,   0, 110,   0, 
    0,   0,  49,   0,   0,   0, 112,   0,   0,   0, 
   85,   0,   0,   0, 116,   0,   0,   0,  86,   0, 
    0,   0,  54,   0,   0,   0, 150,   0,   0,   0, 
   85,   0,   0,   0,  86,   0,   0,   0, 108,   0, 
    0,   0,  86,   0,   0,   0,  45,   0,   0,   0, 
   36,   0,   0,   0,  87,   0,   0,   0, 122,   0, 
    0,   0,  51,   0,   0,   0,  54,   0,   0,   0, 
   75,   0,   0,   0,  44,   0,   0,   0, 104,   0, 
    0,   0, 103,   0,   0,   0,  35,   0,   0,   0, 
  128,   0,   0,   0, 143,   0,   0,   0,  73,   0, 
    0,   0,  69,   0,   0,   0,  13,   0,   0,   0, 
   47,   0,   0,   0,  38,   0,   0,   0,  68,   0, 
    0,   0,  12,   0,   0,   0, 122,   0,   0,   0, 
   50,   0,   0,   0,  65,   0,   0,   0,  27,   0, 
    0,   0, 109,   0,   0,   0, 105,   0,   0,   0, 
   60,   0,   0,   0, 124,   0,   0,   0,  90,   0, 
    0,   0,  12,   0,   0,   0,  51,   0,   0,   0, 
   61,   0,   0,   0,  26,   0,   0,   0, 143,   0, 
    0,   0, 140,   0,   0,   0,  37,   0,   0,   0, 
   65,   0,   0,   0,  13,   0,   0,   0,  52,   0, 
    0,   0, 139,   0,   0,   0,  77,   0,   0,   0, 
   89,   0,   0,   0, 138,   0,   0,   0, 114,   0, 
    0,   0, 107,   0,   0,   0,  23,   0,   0,   0, 
  141,   0,   0,   0,  23,   0,   0,   0,  85,   0, 
    0,   0,  74,   0,   0,   0, 119,   0,   0,   0, 
  106,   0,   0,   0,  90,   0,   0,   0, 116,   0, 
    0,   0,  20,   0,   0,   0,  64,   0,   0,   0, 
  138,   0,   0,   0,  52,   0,   0,   0,  23,   0, 
    0,   0,  97,   0,   0,   0,  52,   0,   0,   0, 
   38,   0,   0,   0, 135,   0,   0,   0,  65,   0, 
    0,   0,  26,   0,   0,   0, 134,   0,   0,   0, 
  135,   0,   0,   0,  14,   0,   0,   0, 143,   0, 
    0,   0,  32,   0,   0,   0, 110,   0,   0,   0, 
   52,   0,   0,   0,  50,   0,   0,   0,  80,   0, 
    0,   0, 133,   0,   0,   0,  66,   0,   0,   0, 
   69,   0,   0,   0,  90,   0,   0,   0,  78,   0, 
    0,   0,  20,   0,   0,   0, 147,   0,   0,   0, 
   28,   0,   0,   0, 115,   0,   0,   0,  27,   0, 
    0,   0,  93,   0,   0,   0,  48,   0,   0,   0, 
   81,   0,   0,   0,  96,   0,   0,   0, 121,   0, 
    0,   0,  62,   0,   0,   0, 145,   0,   0,   0, 
   94,   0,   0,   0,  10,   0,   0,   0,  22,   0, 
    0,   0, 105,   0,   0,   0,  23,   0,   0,   0, 
  125,   0,   0,   0, 105,   0,   0,   0,  42,   0, 
    0,   0, 130,   0,   0,   0, 139,   0,   0,   0, 
   85,   0,   0,   0,  29,   0,   0,   0,  19,   0, 
    0,   0,  38,   0,   0,   0,  51,   0,   0,   0, 
   98,   0,   0,   0, 139,   0,   0,   0,  85,   0, 
    0,   0,  80,   0,   0,   0, 106,   0,   0,   0, 
   55,   0,   0,   0,  41,   0,   0,   0,  42,   0, 
    0,   0, 149,   0,   0,   0, 145,   0,   0,   0, 
   12,   0,   0,   0,  74,   0,   0,   0,  18,   0, 
    0,   0, 132,   0,   0,   0,  72,   0,   0,   0, 
  121,   0,   0,   0, 138,   0,   0,   0,  97,   0, 
    0,   0, 104,   0,   0,   0,  74,   0,   0,   0, 
   40,   0,   0,   0,  81,   0,   0,   0,  33,   0, 
    0,   0, 103,   0,   0,   0, 113,   0,   0,   0, 
   85,   0,   0,   0,  32,   0,   0,   0,  29,   0, 
    0,   0, 146,   0,   0,   0,  88,   0,   0,   0, 
   27,   0,   0,   0, 137,   0,   0,   0,  36,   0, 
    0,   0, 126,   0,   0,   0,  32,   0,   0,   0, 
   56,   0,   0,   0,  37,   0,   0,   0,  29,   0, 
    0,   0,  82,   0,   0,   0,  89,   0,   0,   0, 
   79,   0,   0,   0, 100,   0,   0,   0,  87,   0, 
    0,   0,  72,   0,   0,   0,  90,   0,   0,   0, 
   93,   0,   0,   0,  68,   0,   0,   0,  87,   0, 
    0,   0,  52,   0,   0,   0,  75,   0,   0,   0, 
  138,   0,   0,   0, 122,   0,   0,   0, 138,   0, 
    0,   0,  84,   0,   0,   0, 141,   0,   0,   0, 
   13,   0,   0,   0,  59,   0,   0,   0, 113,   0, 
    0,   0, 102,   0,   0,   0, 119,   0,   0,   0, 
  137,   0,   0,   0,  55,   0,   0,   0,  27,   0, 
    0,   0, 146,   0,   0,   0,  52,   0,   0,   0, 
   18,   0,   0,   0,  65,   0,   0,   0,  78,   0, 
    0,   0,  44,   0,   0,   0, 135,   0,   0,   0, 
  139,   0,   0,   0,  88,   0,   0,   0, 107,   0, 
    0,   0, 138,   0,   0,   0, 116,   0,   0,   0, 
   16,   0,   0,   0,  44,   0,   0,   0, 100,   0, 
    0,   0, 139,   0,   0,   0, 101,   0,   0,   0, 
   13,   0,   0,   0,  76,   0,   0,   0,  68,   0, 
    0,   0,  17,   0,   0,   0,  56,   0,   0,   0, 
   74,   0,   0,   0,  72,   0,   0,   0,  27,   0, 
    0,   0, 102,   0,   0,   0,  28,   0,   0,   0, 
   70,   0,   0,   0, 108,   0,   0,   0,  46,   0, 
    0,   0,  39,   0,   0,   0,  34,   0,   0,   0, 
   46,   0,   0,   0, 142,   0,   0,   0,  17,   0, 
    0,   0, 141,   0,   0,   0,  60,   0,   0,   0, 
   52,   0,   0,   0, 103,   0,   0,   0, 136,   0, 
    0,   0,  70,   0,   0,   0,  20,   0,   0,   0, 
  102,   0,   0,   0, 147,   0,   0,   0,  98,   0, 
    0,   0,  55,   0,   0,   0,  17,   0,   0,   0, 
   14,   0,   0,   0,  33,   0,   0,   0,  77,   0, 
    0,   0, 134,   0,   0,   0, 147,   0,   0,   0, 
   75,   0,   0,   0, 124,   0,   0,   0,  60,   0, 
    0,   0,  82,   0,   0,   0, 116,   0,   0,   0, 
   26,   0,   0,   0, 146,   0,   0,   0,  49,   0, 
    0,   0, 110,   0,   0,   0,  44,   0,   0,   0, 
  128,   0,   0,   0,  54,   0,   0,   0, 147,   0, 
    0,   0, 107,   0,   0,   0,  58,   0,   0,   0, 
   66,   0,   0,   0, 143,   0,   0,   0,  24,   0, 
    0,   0,  90,   0,   0,   0,  22,   0,   0,   0, 
   92,   0,   0,   0, 139,   0,   0,   0,  73,   0, 
    0,   0, 141,   0,   0,   0, 129,   0,   0,   0, 
  134,   0,   0,   0,  84,   0,   0,   0,  27,   0, 
    0,   0,  62,   0,   0,   0,  46,   0,   0,   0, 
   34,   0,   0,   0,  58,   0,   0,   0, 144,   0, 
    0,   0,  43,   0,   0,   0, 136,   0,   0,   0, 
  107,   0,   0,   0,  11,   0,   0,   0,  82,   0, 
    0,   0,  95,   0,   0,   0,  24,   0,   0,   0, 
  117,   0,   0,   0,  57,   0,   0,   0, 113,   0, 
    0,   0,  73,   0,   0,   0,  44,   0,   0,   0, 
   91,   0,   0,   0, 141,   0,   0,   0,  44,   0, 
    0,   0,  60,   0,   0,   0, 128,   0,   0,   0, 
  142,   0,   0,   0,  96,   0,   0,   0,  57,   0, 
    0,   0, 127,   0,   0,   0,  60,   0,   0,   0, 
   74,   0,   0,   0,  54,   0,   0,   0, 138,   0, 
    0,   0, 119,   0,   0,   0, 118,   0,   0,   0, 
   61,   0,   0,   0, 130,   0,   0,   0, 146,   0, 
    0,   0,  11,   0,   0,   0,  65,   0,   0,   0, 
   92,   0,   0,   0,  82,   0,   0,   0,  60,   0, 
    0,   0, 114,   0,   0,   0,  54,   0,   0,   0, 
  139,   0,   0,   0, 148,   0,   0,   0,  84,   0, 
    0,   0, 110,   0,   0,   0, 141,   0,   0,   0, 
  142,   0,   0,   0,  84,   0,   0,   0,  21,   0, 
    0,   0,  70,   0,   0,   0,  54,   0,   0,   0, 
  120,   0,   0,   0,  48,   0,   0,   0,  93,   0, 
    0,   0, 104,   0,   0,   0,  98,   0,   0,   0, 
   39,   0,   0,   0, 103,   0,   0,   0,  29,   0, 
    0,   0, 104,   0,   0,   0]

xx=[]
for i in range(0,len(s),4):
          xx.append(s[i])
          
x=[  201711,
  208667,
  203854,
  205935,
  196952,
  211952,
  189384,
  174521,
  197444,
  202569,
  184416,
  186751,
  214509,
  220072,
  161059,
  225949,
  203349,
  210431,
  168832,
  208291,
  212829,
  220012,
  191145,
  205850,
  176410,
  198189,
  200769,
  210976,
  178739,
  205545,
  196557,
  230918]

a=[]
for i in range(0,32):
          a.append([])
          for j in range(0,32):
                    a[i].append(xx[i*32+j])
a=np.array(a)

b=np.array(x)

x=np.linalg.solve(a,b)

'''
array([ 70.,  65.,  75.,  69., 123., 116., 104.,  49.,  53.,  95.,  49.,
        53.,  95., 110.,  48.,  55.,  95.,  55., 104.,  51.,  95., 114.,
        51.,  52.,  49.,  95., 102.,  49.,  52., 103.,  33., 125.])

s=[70,65,75,69,123,116,104,49,53,95,49,53,95,110,48,55,95,55,104,51,
95,114,51,52,49,95,102,49,52,103,33,125]
'''
s=[70,65,75,69,123,116,104,49,53,95,49,53,95,110,48,55,95,55,104,51,
95,114,51,52,49,95,102,49,52,103,33,125]
for i in s:
    print(chr(i),end='')

#FAKE{th15_15_n07_7h3_r341_f14g!}

 

posted @ 2020-07-31 18:33  黑冰Lisa  阅读(631)  评论(1编辑  收藏  举报