分析
放入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}
其实很早就做完了没有发

文章描述了对一个32位无壳程序的分析过程,使用IDAPro打开并搜索base64相关字符串,发现了sub_411AB0加密函数。通过查看main函数的伪代码,进行了字符串解密操作,解密后的结果为e2lfbDB2ZV95b3V9。作者还推荐了一个解密网站CyberChef3。
907





