Radare2 学习笔记:从入门到精通 1. Radare2 简介,及安装

2023-05-16

目录

  • Radare2 是什么?
  • Radare2 介绍
  • 如何安装 Radare2?
    • 在 Linux 中安装 Radare2 和 Cutter
    • 在Mac OSX 中安装 R2 和Cutter
    • 在 Microsoft Windows 中安装 R2 和 Cutter
    • 在 Android 上安装

Radare2 是什么?

A free/libre toolchain for easing several low level tasks like forensics, software reverse engineering, exploiting, debugging, …
It is composed by a bunch of libraries (which are extended with plugins) and programs that can be automated with almost any programming language.

翻译: 一个自由的工具链用来让低级的工作(比如取证,逆向工程,爆破实验,调试……)更加简单。它由一堆库(使用插件扩展)和程序组成,这些库几乎可以使用任何编程语言进行自动化。

Radare2 介绍

官网:https://www.radare.org/n/radare2.html
英语不好的看翻译:(微软translator)

特征

  • 批处理、命令线、可视和面板交互模式
  • 嵌入式网络服务器与js脚本和webui
  • 组装和拆卸大量 CPU 列表
  • 在 Windows 上运行,还有任何其他 UNIX 味道
  • 使用 ESIL 分析和模拟代码
  • 本机调试器和 GDB、WINDBG、QNX 和 FRIDA
  • 导航 ascii 技术控制流图
  • 能够修补二进制文件、修改代码或数据
  • 搜索模式、魔法标题、函数签名
  • 易于扩展和修改
  • 命令线,C API,脚本与r2管道在任何语言

如何安装 Radare2?

本教程中,你需要这两个组件:

community/radare2 4.3.1-2 [installed]
    Open-source tools to disasm, debug, analyze and manipulate binary files
community/radare2-cutter 1:1.10.2-3 [installed]
    Qt and C++ GUI for radare2 reverse engineering framework

  • Radare2:核心部件
  • Cutter: R2的图形化前端,使用Qt。当然你也可以使用r2-agent打开WebUI。

以下是官方的Radare2/Cutter 比较:
在这里插入图片描述
注:其中间的R2Pipe是一个可以调用 Radare2的 Python 脚本库。我不是一个 Python 开发者,因此本教程中不会对它加以描述。你可以通过https://www.radare.org/n/r2pipe.html来了解它。

在 Linux 中安装 Radare2 和 Cutter

你应该可以在 发行版的 软件包仓库中找到它们。在 Arch Linux 上,你可以通过以下 pacman命令来安装。

sudo pacman -S radare2 radare2-cutter

它们应该位于Arch Linux 的Community 仓库中,你也可以使用 AUR来安装它们,这需要pamacyay等工具。
如果你的发行版仓库不包含 Radare2 或 Cutter,通过以下命令来从源代码安装 Radare2。

git clone https://github.com/radareorg/radare2
cd radare2 ; sys/install.sh

如果遇到问题,尝试以下命令。

sudo make purge
rm -rf shlr/capstone
git clean -xdf
git reset --hard @~50
sys/install.sh

从 Cutter 的 GitHub 仓库 安装它:https://github.com/radareorg/cutter,从https://cutter.re/获取更多信息,你也可以使用这个仓库的releases页面来获取二进制包。

在Mac OSX 中安装 R2 和Cutter

大致的安装过程和Linux相同。你可能需要Homebrew MacPorts等包管理器和命令行开发者工具,它的安装器可以在CoreServices文件夹中找到。我不是一个 Mac 用户,因此本节内容未经实验,你应该参考 Radare2 和 Cutter 的官方指南。

  • 使用 MacPorts 安装 Radare2
  • 使用 以下 Homebrew Cask 命令安装 Cutter,你也可以下载Cutter的 dmg 文件。
    brew cask install cutter
    

以上是官方的安装指南,它们位于对应repo的GitHub readme MarkDown 文件中。

在 Microsoft Windows 中安装 R2 和 Cutter

我不是一个 Windows 用户,因此本节内容未经实验,你应该参考 Radare2 和 Cutter 的官方指南。

  • 使用这个 repo 提供的工具来安装 Radare2。或者直接下载这个 EXE 安装包。
  • 在 Cutter 的 releases 页面(https://github.com/radareorg/cutter/releases)下载最新的 ZIP 包并安装。
    以上是官方的安装指南,它们位于对应repo的GitHub readme MarkDown 文件中。

在 Android 上安装

这可能听起来有些疯狂,但这完全可能。感谢 Radare2 的Web UI,你可以在任何一个Web View中使用 Radare2 的图形界面。使用Termux等工具,你可以使用Radare 2 的命令行工具。甚至,借助于 X Server XSDLTermux,你可以运行 Radare2 Cutter!下图展示了通过 r2agent 进程的Web 服务器运行的 Radare2 界面。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Radare2 学习笔记:从入门到精通 1. Radare2 简介,及安装 的相关文章

  • 关于postman的请求参数的格式问题

    版权声明 xff1a 创作不易 xff0c 转载请附上本文地址https blog csdn net weixin 40375601 article details 85121974 注意点 xff1a 1 GET请求 2 参数格式为par
  • Specification中一个条件用或者表示(criteriaBuilder.or)

    Specification spec 61 root criteriaQuery criteriaBuilder gt List lt Predicate gt predicate 61 new ArrayList lt gt Predic
  • 在高德地图使用: AMap is not defined

    高德模板原版引入 xff1a lt script language 61 34 javascript 34 src 61 34 webapi amap com maps v 61 1 4 15 amp key 61 43b2dae85b7a
  • lottie动画使用

    1 安装 span class token function npm span i span class token parameter variable save span vue lottie 2 main js 中引入 span cl
  • Kotlin 开发Android app(十):Android控件绑定ViewBinding

    上一节中 xff0c 我们知道了Android的布局 xff0c 这种把界面和逻辑控制分开 xff0c 是编程里很好的分离方式 xff0c 也大大的解耦了界面和逻辑控制 xff0c 使得编程的逻辑不在和界面挂钩 有了界面的布局 xff0c
  • 在GitHub中绑定自己的域名,并实现https访问

    购买域名 由于项目的需要 xff0c 需要建一个网站来展现一些工具的信息 xff0c 就准备购买一个域名来放置自己的工具 购买域名比较简单我们先放着 xff0c 一个重要的问题是买哪个域名 选择一个好的域名是非常重要的 以下是一些选择好域名
  • 【hive】基于Qt5和libuv udp 的lan chat

    作者已经不更新了 但是很棒 在线用户列表 聊天窗口 主程序 单独的网络线程 network thread data管理关联网络管理的 程序update升级更新 和消息收到 即可
  • 两则预防crontab重复执行任务策略

    案例分析 前台异步上传文件到云端后台cron 10 usr local bin php path to upload php gt gt tmp apkqueue log 有时候上传一个文件到云端会很耗时 xff0c 一个cron还没有跑完
  • Windows10 Server 2012 2016 2019系统自动登录设置

    本教程适用于Windows Server 2008 2012 2016 2019服务器操作系统 Windows10的 xff1a 1909 1903 1809 1803及以下的版本 Windows电脑设置空密码风险很大 xff0c 设置了密
  • HAL库+环形队列(CFIFO)+Usart1+DMA数据缓存收发

    目录 一 参考文档 二 源代码 三 结构说明 四 原理讲解 五 代码讲解 4 1循环队列 CFIFO 代码 4 1 1 xff1a cifio h 4 1 1 xff1a cifio c 4 2循环队列 CFIFO 43 DMA实现USAR
  • linux登陆远程服务器的方式

    1 使用ssh设置好之后远程登录 xff1b 2 使用linux命令远程登录 xff1a 在macOS中 Linux系统同样适用 xff0c 打开终端 xff0c 输入ssh username 64 host就可以登录远程主机了 这里use
  • (计算机组成原理)Cache和主存之间的映射方式

    地址映射变换机构是将CPU送来的主存地址转换为Cache地址 由于贮存和Cache的块大小相同 xff0c 块内地址都是相对于快的起始地址的偏移量 xff08 即低位地址相同 xff09 xff0c 因此地址变换主要是主存块号与Cache块
  • 对于典型数据集,不同神经网络分类器的精确度排序

    不同神经网络分类器的精确度排序 包括如下典型数据集 xff1a MNIST CIFAR 10 CIFAR 100 STL 10 SVHN the website of the current state of the art in obje
  • CCF 202012-2 期末预测之最佳阈值 python

    CCF 202012 2 期末预测之最佳阈值 python 100 这道题对时间进行了限制 xff0c 所以要想一次遍历得出结果 xff0c 就应该思考 xff01 样例输入 安全指数011357挂科情况001111 思路详解 lt 前提
  • failed to open X11 display

    kali xff1a failed to open X11 display 在使用kali的rdeshtop进行远程桌面时 xff0c 出现了如下错误 xff1a root 64 kali span class token comment
  • python plt 画图实战

    matplotlib pyplot 画图实战 如果你想将神经网络的训练结果 xff0c 清晰地呈现出来 xff0c 不妨看看这篇文章 xff01 技术要点 xff1a 1 一张figure呈现一个横坐标对应多个纵坐标的曲线图 2 设置标题
  • 模拟退火解决TSP问题

    模拟退火解决TSP问题 模拟退火 https mp weixin qq com s src 61 11 amp timestamp 61 1633564978 amp ver 61 3359 amp signature 61 oeLMbNZ
  • Neo4j 下载安装

    Neo4j 下载安装 Windows Neo4j community 新旧版本下载 旧版本在官网上已经找不到了 xff0c 新旧版本的区别在于登录是否需要密码 Windows Neo4j community 2 0 1及2 1 0 不需要密
  • 【libuv】1.44 windows构建

    uv a 作为一个独立的工程构建的 c 工程里c符号找不到 链接不过 Build started span class token punctuation span span class token operator span class
  • SEU健康申报+离校请假

    SEU健康申报 43 离校请假 Github源码 通过对源码的学习修改 xff0c 本程序稍作调整 xff0c 将健康申报 销假和请假模块分开 xff0c 目前可用 配置 chromedriver下载方法 xff0c 将下载的chromed

随机推荐

  • ValueError: Please provide model inputs as a list or tuple of 2 or 3 elements: (input, target)

    ValueError Please provide model inputs as a list or tuple of 2 or 3 elements input target 报错信息 Traceback span class toke
  • tensorflow checkout 的作用

    tensorflow checkout 的作用 参考链接如下 xff1a Tensorflow保存恢复模型及微调 网络模型的保存和读取 tensorflow训练保存的模型 模型文件夹中的文件主要为以下三类 xff1a checkpoint
  • afl-fuzz多线程

    afl fuzz多线程 afl fuzz多线程 https blog csdn net lesliegail1 article details 70209351 首先 xff0c 我们阅读这篇博客对afl fuzz单机多线程进行了解 我们了
  • 将同一文件夹下的大量文件根据设定分至多组

    将同一文件夹下的大量文件根据设定分至多组 需求分析 在recon文件夹下存在大量文件 xff0c 观察文件名 xff0c 我们设计将文件按照recon 后的第一个数字进行分组 xff0c 那么最终产生的文件夹应为0 1 11 编写程序 基于
  • CCF 202206-4 光线追踪 python

    CCF 202206 4 光线追踪 python CCF官网题目 此题因为运行超时得到了30分 xff0c 仅为没思路的同学提供一些想法 xff0c 如果有改进建议欢迎评论 xff01 题目分析 首先将反射镜转换为单独的反射点 xff0c
  • AutoEncoder及Variational AutoEncoder模型

    AutoEncoder及Variational AutoEncoder模型 一 AutoEncoder概述 作为一种无监督或者自监督算法 xff0c 自编码器本质上是一种数据压缩算法 从现有情况来看 xff0c 无监督学习很有可能是一把决定
  • CCF-CSP【202303-3 LDAP】C++

    CCF CSP 202303 3 LDAP C 43 43 CCF真题网址 第一次提交结果超时 只有20分 题目思路 我的思路较为简单 xff0c 即对于每个匹配表达式 xff0c 遍历N个用户 xff0c 验证是否匹配 对于每个表达式有两
  • 2的幂次方

    2的幂次方 判断一个数是否为2的幂次方 我们可以参考如下链接 xff1a 判断一个数是否为2的N次方 借鉴文中的分析 xff0c 我认为 xff1a 其实一个数n xff0c 如果是2的幂次方数 xff0c 则n的二进制原码中一定只有一个1
  • 爬虫1000+个C程序

    爬虫1000 43 个C程序 问题场景 由于实验需要 xff0c 我需要1000 43 个elf文件 xff0c 可是网络可获取的elf文件较少 xff0c c程序较多 xff0c 所以首先下载c程序 xff0c 之后gcc编译链接生成el
  • 【libuv】定时器:uv_timer_start 的timeout和repeat 参数

    花了好几个小时验证 uv timer start 发现怎么都是错误的 现象是 repeat 作为了timeout的效果 而且repeat 代表是毫秒级别的 按照原有设计 timeout是微秒 repeat的参数并不是timeout参数 而且
  • 解决IDEA Maven依赖下载总是失败的几种方法

    为啥我的IDEA Maven依赖下载总是失败 xff1f xff1f 我们本地使用 IDEA 运行 maven 项目的时候 xff0c 有时候运气不好 xff0c 就会遇到某些 maven 依赖无法正常找到 导入 这就会导致 IDEA 构建
  • 几种常见排序算法的实现及运行时间对比

    冒泡排序 function popSort arr if arr length lt 2 return arr let n 61 arr length while n gt 1 let exchanged 61 false for let
  • FtpClient切换、创建目录不成功的问题(makeDirectory、changeWorkingDirectory)

    FtpClient切换 创建目录不成功的问题 xff08 makeDirectory changeWorkingDirectory xff09 做功能时切换目录老是不成功且无法创建文件夹 xff0c 翻阅一些博客后发现Ftp创建目录只能逐级
  • RNA-seq数据上游分析流程(从原始数据开始)

    数据分析的基本思路 xff08 1 xff09 从ncbi的geo或者其它数据库中查找自己感兴趣的RNASeq数据 xff0c 至少要求给出如下信息 xff1a xff08 2 xff09 对芯片数据进行质量控制评价及处理 xff08 如果
  • R语言2——数据类型和基本运算

    R语言2 数据类型和基本运算 目录 R语言2 数据类型和基本运算 1 R的数据类型 1 R的数据类型 xff08 1 xff09 Logical xff08 逻辑型 xff09 xff1a 只有两个值TRUE FALSE xff08 2 x
  • 红芯对chromium,瞩目对zoom。扒扒瞩目客户端。

    0x00 前提 一直以来 xff0c 人们普遍怀疑瞩目等 国产 云会议系统在界面 xff0c 功能上有剽窃国外的Zoom us的嫌疑 xff0c 但无证据 本文从瞩目的Ubuntu客户端入手 xff0c 详细证明了瞩目的Zoom血统 0x0
  • Linux下微信终极解决方案(不是网页版/electronic wechat)

    文章目录 为什么有这篇文章 xff1f 所需工具本人环境步骤0x01 解压微信安装包0x02 安装 Wine制作启动器 目前发现的Bugs 为什么有这篇文章 xff1f 在Linux系统下 xff0c 微信的使用体验说实话很糟糕 为新网页版
  • 发现了一个好玩的百科——BetaWorld

    官网说明 BetaWorld 百科是一部关于 Windows Beta 的综合百科全书 希望您能够通过这部百科全书 xff0c 更加深入地了解 Windows 操作系统的发展历程 xff0c 积累丰富的 Windows Beta 知识 网址
  • ArchLinux 应用清单

    说明 本清单是本人根据个人经验所写的 great 应用程序列表 欢迎在评论区补充 xff5e xff5e 基本类 安装时的base不再赘述了 xff5e 命令行工具 ZSH ShellOh My ZSH ZSH 美化 工具htop 替代过时
  • Radare2 学习笔记:从入门到精通 1. Radare2 简介,及安装

    目录 Radare2 是什么 xff1f Radare2 介绍如何安装 Radare2 xff1f 在 Linux 中安装 Radare2 和 Cutter在Mac OSX 中安装 R2 和Cutter在 Microsoft Windows