分析
放入exeinfope中查看,32位无壳
用IDA打开后shift + F12 搜索字符串发现有base64加密特征的字符串
双击后按 X 查看引用
进入后发现是 sub_411AB0函数进行base64加密
从左侧函数名称 ctrl + f 搜索main函数并进入,F5进行伪代码查看,进行图中的分析
脚本
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<map>
#include<vector>
#include<queue>
#include<stack>
#include<set>
#include<string>
#include<cstring>
#include<list>
#include<stdlib.h>
using namespace std;
typedef int status;
typedef int selemtype;
int main()
{
char s2[] = "e3nifIH9b_C@n@dH";
char dest[] = {};
for(int i = 0; i < strlen(s2); i++){
dest[i] = s2[i] - i;
}
cout << dest;
return 0;
}
//输出 e2lfbDB2ZV95b3V9
此处计算出的是destination的值,所以我们还需要一次base64解密
很好用的解密网站(戳我直接进入)https://ctf.mzy0.com/CyberChef3/
故flag为 flag{i_l0ve_you}
其实很早就做完了没有发