BUUCTF靶场 [reverse]easyre、reverse1、reverse2

news2024/9/22 5:32:51

工具:

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

[reverse]easyre

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

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

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

 便得到flag

 

 

[reverse]reverse1

拿到文件,先查壳,用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

提交成功啦!!! 

[reverse]reverse2

刚开始我将文件用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啦!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1685220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一刷后日谈

后日谈 1.前言 ​ 今天是一刷结束的日子,回顾一路走过来的路,还是得对自己说声谢谢的; ​ 我是一个向来都很抗拒编程的人,那繁琐的符号让我觉得很是头疼,本科期间数据结构与算法都重修了三次,最后临近毕…

Redis --学习笔记

Redis简介 一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件 特点: 基于内存存储,读写性能高 适合存储热点数据(热点商品、资讯、新闻) 企业应用广泛 Redis默认端口号为6379 Redis是用…

Shell之(正则表达式)

目录 一、正则表达式的概括 常用选项 基础正则表达式 查看以xxx为开头 查看以xxx为结尾的文件内容 匹配单个或多个字符 匹配中括号里的内容 对子表达式进行多次或者限定次数的匹配 拓展正则表达式的基本用法 扩展元字符 匹配前面的字符或表达式至少1次&#xff0…

分布式微服务之springboot学习[上]

文章目录 SpringBoot基本介绍官方文档springboot是什么?springboot快速入门需求/图解说明完成步骤快速入门小结 Spring SpringMVC SpringBoot的关系梳理关系如何理解 -约定优于配置 依赖管理和自动配置依赖管理什么是依赖管理修改自动仲裁/默认版本号 starter场景启动器starte…

CSDN智能总结助手

github项目地址: https://github.com/anjude/little-demo/tree/master 获取CSDN的user name和user token 打开csdn,打开控制台 - Application - Cookies,找到domain为blog.csdn.net的cookie,复制user_name和user_token的值 把上…

【计网】广播域和冲突域

一、相关概念 1.各层次设备 2.冲突域 2.1定义 冲突域通俗来讲就是在同一个网络中,两台设备同时传输的话会产生冲突。位于OSI的第一层:物理层 例如在集线器场景下,集线器属于物理层设备,它不具备交换机的功能,当收到节…

PIM Anycast RP(PIM实现)

拓扑图 配置 配置全局使能组播路由 配置OSPF 配置PIM-SM 配置anycast-rp,Loopback 1为Anycast-RP地址,Loopback 0为Anycast-RP本地地址 配置IGMP sysname AR1 # multicast routing-enable # interface GigabitEthernet0/0/0ip address 10.1.12.1 2…

删除重复的电子邮箱-力扣

题目 答案 delete p1 from Person as p1 ,Person as p2 where p1.email p2.email AND p1.id>p2.id; 解析 按照题目删除即可,注意删除的是一条,所以直接是person p1 即可 此处不能用distinct ,其一般与select相互使用。

遍历列表

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 遍历列表中的所有元素是常用的一种操作,在遍历的过程中可以完成查询、处理等功能。在生活中,如果想要去商场买一件衣服&#…

C++ RPC ORM 高速解析

支持所有常用编程语 https://capnproto.org/GitHub - capnproto/capnproto: Capn Proto serialization/RPC system - core tools and C library https://capnproto.org/capnproto-c-win32-1.0.2.zip 常用命令: capnp help capnp compile -oc myschema.capn…

Qt代码初识

文章目录 Qt代码初识1. Qt Hello World 程序1.1 使⽤ "按钮" 实现1.1.1 纯代码⽅式实现1.1.2 可视化操作实现 1.2 使⽤ "标签" 实现1.2.1 纯代码⽅式实现1.2.2 可视化操作实现 2. 项⽬⽂件解析2.1 .pro ⽂件解析2.2 widget.h ⽂件解析2.3 main.cpp ⽂件解析…

防火墙技术基础篇:解析防火墙的网络隔离机制

防火墙技术基础篇:解析防火墙的网络隔离机制 网络安全在现代社会中扮演着重要的角色,保护网络系统、用户和数据免受未经授权的访问、破坏和窃取。个人、企业和国家都需要加强网络安全意识,采取有效措施保护自身的网络安全。随着网络攻击手段…

VS2022通过C++网络库Boost.asio搭建一个简单TCP异步服务器和客户端

基本介绍 上一篇博客我们介绍了通过Boost.asio搭建一个TCP同步服务器和客户端,这次我们再通过asio搭建一个异步通信的服务器和客户端系统,由于这是一个简单异步服务器,所以我们的异步特指异步服务器而不是异步客户端,同步服务器在…

SQL靶场搭建

概述 简单介绍一下SQL靶场的搭建,以及在搭建过程中遇到的一些问题。使用该软件搭建靶场相对简单,适合新手小白。当然,也可以在自己的虚拟机下进行搭建,相对来说就较为复杂。本章主要讲解使用Phpstudy进行SQL靶场搭建。 这里我推…

SpringBoot 实现 RAS+AES 自动接口解密

一、讲个事故 接口安全老生常谈了 过年之前做了过一款飞机大战的H5小游戏,里面无限模式-需要保存用户的积分,因为使用的Body传参,参数是可见的。 为了接口安全我,我和前端约定了传递参数是:用户无限模式的积分“我们…

一个简约高级视差效果PR动态图文开场视频模板

这是一个高质量且易于定制的pr模板。具有模块化结构,可以轻松更改内容。包括视频教程,即使是新手小白也可以轻松套用模板制作视频。 主要特点: 水平(19201080)和垂直(10801920)分辨率&#xff…

实验二 电子传输系统安全-进展2

上周任务完成情况(代码链接,所写文档等) 重新调通电子公文传输系统部署gmssl学习生成SM2证书学习gmssl中的CTLS实现将数据库从SqlServer迁移到Mysql调试Mysql驱动学习Bouncy Castle 代码链接 Mysql表设计 /* Navicat MySQL Data Transfer…

用Python pynput库捕捉每一次组合键的优雅舞步

哈喽,大家好,我是木头左! 一、初识pynput:键盘与鼠标的监控利器 当谈论计算机交互时,键盘和鼠标无疑是最常用的设备。无论是编写代码、浏览网页还是玩游戏,都依赖于这些输入设备与机器沟通。但在一些特殊的…

【AI大模型】Embedding模型解析 文本向量知识库的构建和相似度检索

🚀 作者 :“大数据小禅” 🚀 文章简介 :本专栏后续将持续更新大模型相关文章,从开发到微调到应用,需要下载好的模型包可私。 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 目…

K8S/ hpa分享

在 Kubernetes 中,HorizontalPodAutoscaler 自动更新工作负载资源 (例如 Deployment 或者 StatefulSet), 目的是自动扩缩工作负载以满足需求。 hpa的使用本身还是很简单的 示例如下: 官网示例 apiVersion: apps/v1 k…