主函数有个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!}