BUUCTF RE部分题目wp

RE

1,easyre
拖进ida,得到flag

2,helloworld

将文件拖入apk改之理,
BUUCTF RE部分题目wp_第1张图片
得到flag

3,xor
拖进ida,
BUUCTF RE部分题目wp_第2张图片
在这里插入图片描述
就是简单异或,写脚本

 
glo=[0x66,0x0a,0x6b,0x0c,0x77,0x26,0x4f,0x2e,0x40,0x11,0x78,0x0d,0x5a,0x3b,0x55,0x11,0x70,0x19,0x46,0x1f,0x76,0x22,0x4d,0x23,0x44,0x0e,0x67,0x06,0x68,0x0f,0x47,0x32,0x4f]
x='f'
for i in range(1,len(glo)):
    x+=chr(glo[i]^glo[i-1])
print(x)

 

得到flag

4,新春快乐
exe拖入ida,发现有壳,查壳
BUUCTF RE部分题目wp_第3张图片
upx,用upx -d脱壳,再拖入ida
BUUCTF RE部分题目wp_第4张图片
得到flag

5,reserve1
exe,拖入ida,有大量的函数,于是先看字符串
在这里插入图片描述
看到可疑字符串,点进去
在这里插入图片描述
找到了调用的函数,再点进去
BUUCTF RE部分题目wp_第5张图片
找到关键函数,分析,将字符串str2中所有的o替换为0即为flag

6,Mysterious
这题出在MISC里了,先找字符串
在这里插入图片描述
跟随
在这里插入图片描述
找到关键函数
BUUCTF RE部分题目wp_第6张图片
这里有个atoi()将字符串换为整形之后减一了,所以输入122xyz
BUUCTF RE部分题目wp_第7张图片
得到flag

6,不一样的flag
许久未见的迷宫题,进main
BUUCTF RE部分题目wp_第8张图片
十分贴心的已经将上下左右分好了,然后看_data_start___这就是迷宫
在这里插入图片描述
由*开始,由#结束,每五个一换行

*1111
01000
01010
00010
1111#

 

走一遍的flag

7,SimpleRev
拖进ida,可以找到关键函数decry,
BUUCTF RE部分题目wp_第9张图片
BUUCTF RE部分题目wp_第10张图片
看key1,3,
在这里插入图片描述
在这里插入图片描述
可以得到 text=killshadow,key=ADSFKNDCLS
然后程序对key进行了一番花里胡哨但其实就是把key变成小写的操作,于是得key=adsfkndcls,而我们要求的是v1,写脚本

 
#include
int main(void)
{
        char text[10]="killshadow";
        char key[10]="adsfkndcls";
        int v3=0;
        int v5=10;
        char flag[10];
        for(int i=0;i<10;i++)
        {
                for(char j='A';j<='Z';j++){
                        char temp;
                        temp=(j-39-key[i]+97)%26+97;
                        if(temp==text[i])
                                flag[i]=j;
                }
        }
        printf("%s",flag);
        return 0;
}

 

得到flag

8,内涵的软件
签到题,拖进ida,得到flag

9,reverse2

先看string

BUUCTF RE部分题目wp_第11张图片

 

 

找到关键函数

 

BUUCTF RE部分题目wp_第12张图片

 

 

 把flag中i,r替换为1,得到 flag

 10,reverse3

拖入ida,找到主函数

BUUCTF RE部分题目wp_第13张图片

 

 看str2

 

 将输入转换后与str2比较,看sub_4110BE

BUUCTF RE部分题目wp_第14张图片

 

 

 

 是base64加密,知道这一点就很容易了

import base64
str2='e3nifIH9b_C@n@dH'
flag=''
for i in range(0,len(str2)):
    flag+=chr(ord(str2[i])-i)

print(base64.b64decode(flag))

得到flag

 

 

 

 

转载于:https://www.cnblogs.com/harmonica11/p/11365728.html

你可能感兴趣的:(BUUCTF RE部分题目wp)