问题标签 [radare2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

c - 雷达2:r_reg_get:断言'reg && name'失败(第296行)

我正在为radare2 开发asm 插件。我实现了反汇编功能,因此它使用以下方法返回反汇编指令:

现在,当我设置asm.arch为我的新架构时,我可以通过键入来查看行变量的内容pd。但是,在打印反汇编程序之前,我收到一堆警告说:

这发生在我的反汇编函数完成后,对于用我的代码处理的每条指令。这种错误的根源可能是什么?它似乎与操作码结构无关,我正在填写,而是与寄存器名称有关。除了 asm 插件之外,还需要实现 anal 插件吗?通常我看到两者都可用于支持的架构。

0 投票
1 回答
92 浏览

python-2.7 - Radare2/r2pipe 二进制写入模式

我想将一些数据写入 ELF 二进制文件。我曾尝试使用此 r2pipe 函数r = r2pipe.open('binary', flags=['-w'] 如何使用 r2pipe 二进制写入模式函数将一些字符串添加到 ELF 二进制文件?对不起这个愚蠢的问题。任何建议和简单的例子都值得赞赏。

0 投票
2 回答
2254 浏览

debugging - GDB还是Radare2?

我应该使用 GDB 还是 Radare2 来反转可执行文件(我是初学者)?我尝试用 C 编程,但我得到了 SegFault。我想对它进行逆向工程以获得装配经验,看看我在哪里得到了 SegFault。

0 投票
1 回答
158 浏览

radare2 - How to go to a highlighted function in radare2?

In radare2, after hitting "v", I can scroll through the code, and also selection function calls with the cursor. I'm curious how I can jump to the definition of a function, as in "step into" a function call that's highlighted.

0 投票
0 回答
250 浏览

reverse-engineering - 在radare2中设置入口点和部分

我目前正在尝试按照本教程对我从闪存中检索到的 esp8266-01 固件转储进行逆向工程。esp8266 处理器基于 Tensilica Xtensa,radare2 在使用-a xtensa标志启动时支持其指令集。从教程中我也知道存在以下部分(引用上面的链接):

0x40100000 – Instruction RAM. Used by bootloader to load SPI Flash <40000h 0x3FFE8000 – User data RAM. Available to applications. 0x3FFFFFFF – Anything below this address appears to be data, not code 0×40100000 – Anything above this address appears to be code, not data

我知道入口点包含在文件头中,在我的例子中是 0x4010f29c。现在我的问题是:我如何告诉radare2所有这些值并正确映射段?到目前为止,我想出的只是像这样映射文件: radare2 -a xtensa -m 0x4010f29c flash.bin但我很确定这不是我真正想要的。

非常感谢您!<3

0 投票
1 回答
681 浏览

arm - 带手臂调试的刀具

在反转 x86 二进制文件时,我已经能够使用我的本地主机 (x86_64) 库在 Cutter (radare2) 中运行调试器。尝试调试 arm 二进制文件时,我将如何做这样的事情?如何让切割机使用 libc.so 代替我的本地主机,以便我可以调试?

0 投票
0 回答
2082 浏览

disassembly - 如何使用 Cutter 或 Radare2 比较两个 EXE 文件、找出差异并反编译它们?

经过几天的努力,我想问问社区:)

我有两个exe文件。两者大小相同且相当大(约 80MB)。

  • 第一个exe是原文件,前段时间编译过。我也有相应的PDB文件。
  • 第二个文件与第一个文件几乎相同,但已在多个位置进行了二进制修补。

我设法用 Cutter (Radare2 GUI) 反编译了文件,但考虑到文件大小,几乎不可能通过每一种方法。

使用十六进制编辑器(Hex Fiend),我设法获得了应用补丁的每个偏移位置。现在我正在尝试使用 Cutter 找到这些偏移量来反编译这些位置。

问题是:如何?当我在 Cutter 中打开 Hexdump 时,似乎一切都没有到位,我可能需要一个偏移量。在 Cutter 的加载屏幕上设置偏移量似乎没有任何作用。我用错了吗?

例子:

妖魔

刀具

474942 是 0x73F3E,但这与 0x0060713E 相差甚远

也许我需要其他工具?任何帮助表示赞赏!

0 投票
1 回答
379 浏览

c - 使用具有不同优化的 gcc 时出现奇怪的反编译

我在 linux 5.4.18-1-MANJARO 上运行 gcc 版本 9.2.0 (GCC)

文件名:ac

然后我运行:

我用r2反编译a.out,我得到了这个

这是我所期望的。

但是当我反编译 b.out 时,我得到了这个

这似乎只检查 iStack20 < 7,并且 b.out 运行良好。

我不明白它是如何工作的。

0 投票
0 回答
51 浏览

radare2 - 我的 Radare2 可视模式有什么问题?

当我在radare2中打开一个文件然后输入Vpp时,第一行出现在寄存器旁边。这是我可以更改的错误还是配置参数?即使我使用j或移入文件,该问题仍然存在k

如果这是一个错误,是否有一个“上下文”参数,以便我可以在我有焦点的行上方打印 1 行?(通过焦点,我不是指我寻找的地址,而是我发表评论的地址;

这是一个截图

谢谢

0 投票
0 回答
5168 浏览

windows-subsystem-for-linux - 如何在 Windows 上安装 Radare2?

我正在尝试在我的 Windows 机器上安装 Radare2。如果情况有所改变,我确实已经启动并运行了适用于 Linux 的 Windows 子系统。我已经尝试了他们网站上的 git 技术:

这取决于我做了什么奇怪的事情。有一些以# 符号开头的注释解释了正在发生的事情。

此时,我决定尝试使用 Windows 二进制文件。我去了下载页面并下载了 Windows 二进制文件,然后将其解压缩到我的 AppData 程序文件夹中。然后我打开该文件夹并双击radare2.exe. 这使任务栏上出现了一个快速的亮点,就像一个试图打开的窗口一样,它也立即关闭了。

在这一点上,我怀疑 Radare2 源代码中的错误导致它几乎立即崩溃。是这样吗?或者我需要做一些不同的事情来让它运行吗?

- - -解决了 - - -

我进行了一些实验,包括使用 git clone 方法安装到 Linux VM。我发现 Windows 二进制文件是解决这个问题的方法。要使用它,解压下载的二进制文件,然后在radare2目录中打开CMD/PowerShell,然后运行bin/radare2.exebin/r2.bat. 不过,您需要手动将它们添加到路径中。