檢視脫殼資訊後丟入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);
}