radare2 常用操作总结

radare2 简介

radare2是一个用C语言编写的跨平台的二进制分析工具,支持ARM、MIPS、X86等平台,支持分析多种格式的二进制文件如ELF、Mach-O、Fatmach-O, PE、PE+、 MZ、 COFF等,同时也支持多种操作系统如Windows (since XP)、GNU/Linux、GNU/Darwin、GNU/Hurd、Apple’s 等等,总之就是巨屌。

核心功能:

  • 16进制编辑器
  • 调试器,可对源来自于磁盘、网络连接、内核驱动程序、正在运行的进程进行调试
  • 汇编、反汇编
  • 程序模拟
  • 二进制修补
  • 数据分析比较、搜索、替换和可视化

结构图

在这里插入图片描述

常用命令总结

本文总结的常用命令只是对我我在实际使用过程中常用操作的总结,仅供参考

官方手册见:https://book.rada.re/index.html

在radare2总获取帮助的命令是"?",在命令模式下输入一个命令并紧跟一个“?”就可以获取这个命令的帮助信息

基础命令

  • 移动 :s
命令简介备注
s 0x10移动到当前文件 0x10出
s +4以当前位置为基地址向前移动4字节
s -移动到上一次在的位置
sf function移动到function函数处
s?查看s命令帮助信息
  • sections 相关的

    iS打印二进制文件中所有的段
    om打印二进制文件中段的映射
  • 打印: p

px 0x10以16进制格式从当前位置打印0x10个字节,并以byte为单位显示
pxw 0x10以16进制格式从当前位置打印0x10个字节,并以word为单位显示
pd把当前位置开始的数据看做指令编码反汇编并显示
ps把当前位置开始的数据看做字符串并打印
pd @ 0x12006c874临时跳转到0x12006c874执行打印,并返回
p?查看p命令帮助信息
  • 搜索: /

    /w test在当前文件中搜索”test“字符串
    /a move fp, sp汇编move fp, sp,并在当前文件中搜索
    /m在当前文件中搜索magic,可以找出当前二进制文件中包含的其他文件

    在搜索命中时自动打印例子:

    [0x12006c874]> e cmd.hit = pd 1
    [0x12006c874]> /a lui gp, 0x5f
    Searching 4 bytes in [0x120658830-0x120a83ce0]
    hits: 0
    Searching 4 bytes in [0x1206254a8-0x120658830]
    hits: 0
    Searching 4 bytes in [0x120000000-0x1206154a4]
    hits: 105
    0x120060d28 hit3_0 5f001c3c
                ;-- hit1_0:
                ;-- hit3_0:
                0x120060d28      5f001c3c       lui gp, 0x5f               ; '_'
    0x120060d80 hit3_1 5f001c3c
                ;-- hit1_1:
                ;-- hit3_1:
                0x120060d80      5f001c3c       lui gp, 0x5f               ; '_'
    0x120060dc8 hit3_2 5f001c3c
                ;-- hit1_2:
                ;-- hit3_2:
                0x120060dc8      5f001c3c       lui gp, 0x5f               ; '_'
    
  • 分析: a

    radare2在打开一个二进制文件时处于效率考虑,不会默认对二进制文件进行分析,需要用户手动分析

    aaa对打开的二进制文件进行全面分析
    af sym.main对main函数进行分析
  • 二进制信息:i

    ie显示目标文件entry的信息
    ih显示目标文件的Headers信息
    iI显示目标文件二进制相关信息
    is显示目标文件的所有符号
    iS.显示当前所在的Sention信息
    it计算目标文件的hashes
    iM显示main函数的地址

可视化模式

radare2支持可视化模式,在可视化模式下很多操作和VIM相同。输入V进入可视化模式,输入q退出可视化模式

按键
p切换显示模式
Tab在当前模式下,切换显示的信息
j向下滚屏
k向上滚屏
:在可视化模式下使用命令(与VIM类似)
bF显示函数列表
b1进入bit编辑模式
1-9跳转到调用的函数
空格打印函数的调用图(需要先执行aaa)

可视化编辑

按c进入cursor mode ,选中要修改的数据,按i进入编辑模式进行修改

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值