[BUUCTF]reverse_3

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

目录

分析

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

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值