通过实例学习radare2

本文通过一个crackme实例,详细介绍了如何使用radare2进行二进制分析和调试。从基本的二进制信息查看到深入的函数分析,再到反汇编和调试技巧,为读者提供了一个全面的学习指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过调试一个crackme来学习radare

拿到一个crackme,首先查看二进制信息。
我们首先使用-i标识调用rabin2,打印出二进制信息,如操作系统,语言,体系结构
在这里插入图片描述

运行起来看看
在这里插入图片描述

假设crackme需要参数才能运行

在这里插入图片描述
还是运行失败

接下来使用radare2
在这里插入图片描述
默认显示了入口点
在这里插入图片描述

以i开头的相关命令可以用i?进行查看
在这里插入图片描述
I命令的目的是从打开的文件中获取操作信息

接下来我们进行分析。输入a?来看看分析选项
在这里插入图片描述

我们选择aaa进行分析

在这里插入图片描述

运行fs列出标识
在这里插入图片描述

我们可以使用flag ;f来进行查看标记空间

在这里插入图片描述

数据部分中的iz-列表字符串
Izz-在整个二进制文件中搜索字符串

在这里插入图片描述在这里插入图片描述

Afl:分析函数列表
在这里插入图片描述

接下里看看反汇编
在这里插入图片描述

V可以进入视图模式,使用p\P在两个模式之间进行切换
在这里插入图片描述
Hjkl可以进行上下左右切换
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

最后几张图的逻辑:
关注beet rot13函数
在图形化界面时可以看到地址是‘ebp – local_88h’ 。 ‘local_88h’ 就是十进制的 136,我们可以输入 :之后再输入 ? 0x88 来执行 r2 内置的命令.
二进制文件将我们传入的参数来和经过 rot13 处理后的 ‘Megabeets’ 作比较

因此在调试模式下输入Zrtnorrgf时会反馈success

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值