安装 ,打开,输入Key,提交->错误

放进JEB ,查看FlagActivity的伪代码,

看到onCreakTest函数,很明显,输入的密码跟 i 函数的结果比较,直接复现 i 内容就是flag
#include <iostream>
using namespace std;
int main()
{
string m = "com.didi_ctf.flagapp.FlagActivity";
int p[]={-40, -62, 107, 66, -126, 103, -56, 77, 122, -107, -24, -127, 72, -63, -98, 64, -24, -5, -49, -26, 79, -70, -26, -81, 120, 25, 111, -100, -23, -9, 122, -35, 66, -50, -116, 3, -72, 102, -45, -85, 0, 126, -34, 62, 83, -34, 48, -111, 61, -9, -51, 114, 20, 81, -126, -18, 27, -115, -76, -116, -48, -118, -10, -102, -106, 113, -104, 98, -109, 74, 48, 47, -100, -88, 121, 22, -63, -32, -20, -41, -27, -20, -118, 100, -76, 70, -49, -39, -27, -106, -13, -108, 115, -87, -1, -22, -53, 21, -100, 124, -95, -40, 62, -69, 29, 56, -53, 85, -48, 25, 37, -78, 11, -110, -24, -120, -82, 6, -94, -101};
int q[]={-57, -90, 53, -71, -117, 98, 62, 98, 101, -96, 36, 110, 77, -83, -121, 2, -48, 94, -106, -56, -49, -80, -1, 83, 75, 66, -44, 74, 2, -36, -42, -103, 6, -115, -40, 69, -107, 3, -28, -49, 49, 73, -26, 8, 100, -18, 1, -16, 13, -61, -12, 22, 33, 51, -80, -120, 42, -75, -123, -22, -78, -68, -110, -94, -14, 68, -7, 3, -9, 10, 84, 70, -8, -63, 26, 126, -76, -104, -123, -71, -126, -62, -23, 11, -39, 70, 14, 59, -101, -39, -124, 91, -109, 102, -49, 21, 105, 0, 37, -128, -57, 117, 110, -115, -86, 56, 25, -46, -55, 7, -125, 109, 76, 104, -15, 82, -53, 18, -28, -24};
int v1=0;
char v2[10101];
int len=sizeof(p);
int v0;
for(v0=0;v0<len;v0++){
v2[v0]=p[v0]^q[v0];
}
int v3=v2[0];
for(v0=0;v2[v3+v0]!=0;v0++){
}
cout<<"v0:"<<v0<<endl;
char v4[v0];
while(v1<v0){
v4[v1]=v2[v3+v1];
++v1;
}
cout<<(string)v4<<endl;
return 0;
}
flag{DDCTF-e7d1786701a049d5b2f181fb6d8d5aad@didichuxing.com};
网友评论