re1
apk结构大致了解
直接看源码,和运行apk是找不到任何东西的,这时候就需要看apk的资源,而字符串string.xml一般都
在value下,直接找到string.xml就出来了
re2
异或后得出flag,GUETCTF{L1fe_G03s_On_ }
#include<stdio.h>
int main()
{
char str[] =
{0xB9,0xA8,0xB9,0xAF,0xB9,0xAD,0xBE,0x8C,0xBA,0xC4,0x92,0x96,0xAD,0xB6,0xC0,
0xDC,0x9D,0xB2,0xA3,0x85,0xB4,0xB6,0xb6,0x9a,0xe6};
for(int i=0;i<25;i++)
{
str[i] ^= i+1;
}
for(int i=0;i<25;i++)
{
str[i] ^= 0xff;
}
printf("%s",str);
return 0;
}
re3
打开ida,shitf + f12可以找到两组字符串,分别是base64的加密码表,和加密的密文,在网上可以找到
base64的解码网站或者c,python的解码脚本,更改码表后再解码就能得到flag为
GUETCTF{I_L0ve_Gu3t}
re4
代码加了优化比较复杂,但是认真分析代码逻辑还是能看出是两个迷宫问题的整合,找到这两个迷宫数组:

ida分析可得,第一个迷宫,上下左右对应着"QkbU",每一步移动都将执行到撞墙为止(
0是路,非0是
墙,0xa4是终点)
第二个迷宫,上下左右对应着"+-*/",而这里每一次移动只走一步,(
0是路,1是墙,只能在数组中移
动,不能越界,0xff是终点)
两个迷宫走法之间用字符^连接
最终不难得出,GUETCTF{kUQbk^+**++////---}