攻防世界EasyRe WP

2020-10-22 11:00:01

攻防世界EasyRe

檢視脫殼資訊後丟入ida32,按下shift+F12發現第一行有flag,但是不是正確的,又看到有一個right\n

在這裡插入圖片描述

所以可以判斷真正的flag在這段指令附近,於是檢視虛擬碼

在這裡插入圖片描述
看到這個後,很容易逆出flag,程式碼如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int  main()
{
    const char* tar = "xIrCj~<r|2tWsv3PtIzndka";
    char flag[25] = {0};
    for (int i = 0; i < 24; i++)
    {
        flag[i] = tar[23 - i] ^ 0x6;
        flag[i]--;
    }
    printf("%s",flag);

}