BUUCTF靶场 [reverse]easyre、reverse1、reverse2

工具:

DIE:下载:https://download.csdn.net/download/m0_73981089/89334360
IDA:下载:https://hex-rays.com/ida-free/

新手小白勇闯逆向区!!!

reverseeasyre

首先查壳,用DIE看程序信息,看到无壳且是64位的程序,用其相应的IDA打开

用IDAx64打开,查看源码,点开主函数(main)

发现界面是直接由flag字眼,直接点开

便得到flag

reversereverse1

拿到文件,先查壳,用DIE根据下图,可以判断该程序无壳,且程序也是64位

将其用IDA64位打开进行反汇编

看主函数(main)这里是main 0,打开便看到汇编码显眼的flag字眼

还看到这个{}非常像flag

但是不是

回滚到看到显眼flag字眼:

我是小白😳,看的有点困难😅,直接再此界面看伪代码(按F5键)

有点编程小基础应该能猜到红色框是输出printf(print),黄色框框应该是输入scanf

而Str1是我们所需要输入的内容,点开Str2,发现是 {hello_world}字符串

再分析上端代码

大概意思是:

用for循环来遍历Str2这个字符串,如果超过Str2长度则跳出循环,如果再Str2能找到ASCII码为"111",则把其替换为ASCII码为"48"的字符

如果不记得ASCII码可以选中ASCII码键盘按"R"键,会显示ASCII对应的字符,如图

那这样就大概知道了,只需要把Str2" {hello_world}"的o替换为数字0,则是本题的flag

提交成功啦!!!

reversereverse2

刚开始我将文件用010 editor打开,发现了一串很像flag的字符串

输进去,我以为我以为意外解,哇趣,不对,骗人!

仔细想想,这是一道逆向题,不用任何相关文件就能解出flag概率还是很小的 😳

回归正题:

老规矩,先查壳,用DIE工具,没有壳,程序为64位

还是用IDAx64位打开,进行反汇编

还是先查看主函数的汇编代码,大致看了一下,也看到flag的字眼

(看不懂汇编代码的可以跟我操作哦)所以我们先查看伪码(按F5),慢慢分析

s2是我们需要输入的但是flag我们不知道,点击flag进行查看:

看来flag是**{hacking_for_fun}**,等等先别急,我们代码还没有分析呢

输入输出由一些些C语言基础或者C++基础应该是可以看懂的,这里就不过多解释啦

直接看条件

大概意思是:

如果pid不为空,则会执行waitpid这个函数(此不是我们需要重点抓住的),看后边,如果pid为空则for循环遍历flag这个字符串,如果flag上的字符加上从0到其长度的等于ASCII码为105或者114,则改为ASCII码为49

(是不是上一题很像啊,嘻嘻~)

如果不知道ASCII码是不是可以选其ASCII码然后按(R)键

更加一目了然啦!!!

所以最终的flag是将原本的flag"{hacking_for_fun}"所含有"i" 和 "r"字符替换为数字"1",这样就可以拿到本题的flag啦!!!

相关推荐
天涯柳絮9 小时前
SQL注入
数据库·sql·网络安全
黄金龙PLUS10 小时前
Xoodoo置换算法的优缺点
算法·网络安全·密码学·哈希算法·同态加密
residual_fan11 小时前
深度渐进收缩学习(DPSL):面向强噪声与类内分散的机械复合故障诊断方法
人工智能·算法·数据挖掘·数据分析
BYSJMG11 小时前
计算机毕设选题做什么好?基于大数据的用户美食数据分析与可视化,PySpark预处理+ECharts大屏,含Isolation Forest异常检测算法
大数据·python·信息可视化·数据分析·spark·课程设计·美食
学逆向的12 小时前
PE——RVA与FOA的转换
开发语言·网络安全·pe
2601_9620975612 小时前
摩根大通:AI发现漏洞速度远超修补能力 网络风险持续累积
网络安全·ai·工业设施·漏洞修补·补丁缺口
追风少年ii12 小时前
课前准备--3D-QSAR与药物结构优化
数据分析·分子动力学·分子对接·结构生物学
BYSJMG16 小时前
计算机毕设选题做什么好?基于大数据的用户健身行为数据分析与可视化系统,Hadoop+Spark处理
大数据·人工智能·hadoop·数据分析·spark·课程设计
benchmark_cc1 天前
REST API 和 Python SDK 应该怎么选?量化交易数据接口选型实战
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
xierui1231231 天前
给内容 Agent 接平台账号前,先设计四层权限:读、写、预填、提交
人工智能·网络安全·aigc·软件工程