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

被折叠的 条评论
为什么被折叠?



