2021梦极光CTF Re

re1

apk结构大致了解
直接看源码,和运行apk是找不到任何东西的,这时候就需要看apk的资源,而字符串string.xml一般都
value下,直接找到string.xml就出来了

re2

异或后得出flagGUETCTF{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的解码网站或者cpython的解码脚本,更改码表后再解码就能得到flag
GUETCTF{I_L0ve_Gu3t}

re4

代码加了优化比较复杂,但是认真分析代码逻辑还是能看出是两个迷宫问题的整合,找到这两个迷宫数组:

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如意如意按我心意,快快显灵

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值