buu re部分wp(二)(未完待续)

1、[FlareOn4] IgniteMe

2、[HDCTF2019] maze

1、[FlareOn4] IgniteMe
在这里插入图片描述
可见sub_401050是关键函数
在这里插入图片描述
在这里插入图片描述
求v4的函数。。我看不懂,可以试一下动调求v4,可以在call sub_401000处下断步入
在这里插入图片描述
也可以在后面开始异或的地方看
在这里插入图片描述
得到v4等于4,可以开始写脚本往回逆了
这个地方要注意,不是把简单地byte_403000里的数字按位异或,是每得到一位flag和byte_403000里对应的数异或可得下一位flag,还有最后要取逆

#include<iostream>
#define _CRT_SECURE_NO_WARNINGS
using namespace std;

int main()
{
    
    
    int byte_403000[40] = {
    
     0x0D, 0x26, 0x49, 0x45, 0x2A, 0x17, 0x78, 0x44, 0x2B, 0x6C,
 0x5D, 0x5E, 0x45, 0x12, 0x2F, 0x17, 0x2B, 0x44, 0x6F, 0x6E,
 0x56, 0x09, 0x5F, 0x45, 0x47, 0x73, 0x26, 0x0A, 0x0D, 0x13,
 0x17, 0x48, 0x42, 0x01, 0x40, 0x4D, 0x0C, 0x02, 0x69, 0x00 };
    int flag[40] = {
    
    };
    int j = 38;
    int v4 = 4;
    int temp = 0x69;
    for (int i = 0; i <40; i++)
    {
    
    
        flag[i]=temp^ v4;
        temp = flag[i];
        v4 = byte_403000[j-1];
        j--;
    }
    for (int i = 38; i >=0; i--)
    {
    
    
        printf("%c", flag[i]);
    }
       
}

在这里插入图片描述

2、[HDCTF2019] maze

不能F5,因为那个红处的花指令,直接nop掉
在这里插入图片描述
依旧不能直接F5,还要选中main的部分(一直到retn指令),按P键创立一个function
在这里插入图片描述
正常了,逻辑简单就是一个常规的迷宫题,wsad上下左右
在这里插入图片描述
在string窗口或hex窗口拿到迷宫,shift+e提取
在这里插入图片描述
在这里插入图片描述
然后。。。走迷宫即可

猜你喜欢

转载自blog.csdn.net/m0_51357657/article/details/114082283