liujiajia123 发表于 2020-8-2 17:25

2020天翼杯比赛试题逆向apk

1.re类型的第一题是apk,反编译dex文件,发现其中并没有存在相关连的具体算法;
所以应该想到算法存在于lib文件夹下的.so文件中,利用搜索;
可以查看到对应的checkflag相关函数;从dex的反编译看;只要执行这一步成功就可以得到flag;
将.so文件加载到ida中,我们可以发现对应的算法;
v5为输入的flag;v6和v7是x和xx两个数组的逻辑是将每一个输入与xx数组做乘法;然后结果相加,
判断是否等于x数组的值;
应为每一个v6都是由32个未知的flag得到的,可以把他考虑成一个解32元一次方程,使用math库的solve函数可以解多元一次方程;

2.提取对应xx的值进行处理;

3.提取对应x数组的值为;
x=
3.利用对应的脚本求解为# -*- coding: utf-8 -*-
# @Time    : 2020/7/31 16:30
# @AuThor: liujiajia123
# @file    : chall.py


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)

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]
sum=''
a = []
for i in range(0, 32):
    a.append([])
    for j in range(0, 32):
      a.append(xx32 + j])
a = np.array(a)
b = np.array(x)
x = np.linalg.solve(a, b)
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:
   sum+=chr(i)
   print(sum)

# FAKE{th15_15_n07_7h3_r341_f14g!}

Deuez 发表于 2020-8-2 17:43

liujiajia123 发表于 2020-8-4 21:05

test1550 发表于 2020-8-3 01:19
这个明显是错的,正确的flag要用跟踪,用内存的值dump出来才可以解出。

我就是从.so文件中提取的字符串,进行拼凑出来的。

冥鹿 发表于 2020-8-2 19:40

零基础的我一脸茫然

Shocker 发表于 2020-8-2 19:51

请问下有题目连接吗?

psych1 发表于 2020-8-2 21:37

这是假flag吧,也不是正确答案啊。也不说一下还没搞完?

鎏丿情何以堪 发表于 2020-8-2 21:50

虽然我也不知道是什么 但看起来很厉害的样子

巴黎、的小手 发表于 2020-8-2 23:33


谢谢分享

hwhj 发表于 2020-8-2 23:49

emmm,不明觉厉

梦魇_Hex 发表于 2020-8-2 23:57

虽然我看不懂,但是不影响我给大佬点赞{:1_918:}

test1550 发表于 2020-8-3 01:19

这个明显是错的,正确的flag要用跟踪,用内存的值dump出来才可以解出。
页: [1] 2 3
查看完整版本: 2020天翼杯比赛试题逆向apk