下载附件打开是个apk文件,检查是否有壳,无壳;
用jadx打开,很快发现
很简单,写了个py脚本,如下:
str1 = "dd2940c04462b4dd7c450528835cca15"
text_1 = []
for tmp in str1:
text_1.append(tmp)
text_1[2] = chr((ord(text_1[2])+ord(text_1[3])) - 50)
text_1[4] = chr((ord(text_1[2])+ord(text_1[5])) - 48)
text_1[30] = chr((ord(text_1[31])+ord(text_1[9])) - 48)
text_1[14] = chr((ord(text_1[27])+ord(text_1[28])) - 97)
for i in range(16):
tmp = text_1[31 - i]
text_1[31 - i ] = text_1[i]
text_1[i] = tmp
print('flag{' + ''.join(text_1) + '}')
c++脚本:
#include <bits/stdc++.h>
#include <string>
using namespace std;
int main ()
{
string x="dd2940c04462b4dd7c450528835cca15";
char a;
int i=0;
x[2] = (char)(x[2] + x[3] - 50);
x[4] =(char)(x[2] + x[5] - 0x30);
x[30]=(char)(x[31] + x[9] - 0x30);
x[14] =(char)(x[27] + x[28] - 97);
for ( ;i<16;++i)
{
a = x[31 - i];
x[31 - i] = x[i];
x[i] = a;}
cout<<x;
return 0;
}