Python - 无法使用radare2打开文件:无效选项--'0'

4
我使用pip install安装了radare2,并在Python shell中输入以下代码:
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import r2pipe
>>> r = r2pipe.open("/bin/ls")
radare2: invalid option -- '0'

我已经核对了/bin/ls是否可用。为什么会出现这个错误?

你是如何安装radare2的? - Haifeng Zhang
我已经使用“pip install r2pipe”进行了安装。 - UdaySagar
当我只安装了r2pipe时,它无法正常工作。一旦我安装了radare2,一切都按预期工作。 - Haifeng Zhang
2个回答

3
这是我所做的事情:
  1. 访问 https://github.com/radare/radare2,将项目克隆到我的笔记本电脑,并通过sys/install.sh安装它(radar2的自述文件包含所有说明)

  2. pip安装r2pipe (我在Ubuntu 14.04上使用python 2.7.6)

这是我从python控制台得到的输出:
>>> r2 = r2pipe.open("/bin/ls")
>>> print(r2.cmd("pd 10"))
;-- entry0:
            0x00404890      31ed           xor ebp, ebp
            0x00404892      4989d1         mov r9, rdx
            0x00404895      5e             pop rsi
            0x00404896      4889e2         mov rdx, rsp
            0x00404899      4883e4f0       and rsp, 0xfffffffffffffff0
            0x0040489d      50             push rax
            0x0040489e      54             push rsp
            0x0040489f      49c7c0d01e41.  mov r8, 0x411ed0
            0x004048a6      48c7c1601e41.  mov rcx, 0x411e60
            0x004048ad      48c7c7c02840.  mov rdi, 0x4028c0           ; "AWAVAUATUH..S..H...." @ 0x4028c0
>>> print(r2.cmdj("pd 10"))
r2pipe.cmdj.Error: No JSON object could be decoded
None

请确保您正确安装了 radare2。如果在radare方面存在一些版本问题,您可以尝试卸载当前的radare2并从头开始重新安装。


0

对我来说,解决方案是从 git 存储库 安装 radare2,而不是从过时的 Ubuntu 存储库安装。

安装非常简单,只需运行 sys/install.sh 即可。请注意,这将覆盖任何现有的 radare2 安装,您可能需要使用软件包管理器(例如 apt-get remove radare2)卸载它,然后再进行安装。


针对编辑的回应:实际上我故意选择单独包含链接,因为这样可以使其更加显眼(请参见其他答案)... - Luc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接