2016-07-27 94 views
2

我已經安裝使用PIP安裝,然後在Python Shell中我給的代碼followig線蟒蛇 - 無法打開使用radare2文件:無效選項 - 「0」

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' 

我有radare2交叉檢查/ bin/ls是否可用。爲什麼我得到這個錯誤?

+0

你是如何安裝radare2的? – haifzhan

+0

我安裝了使用「pip install r2pipe」 – UdaySagar

+0

當我只安裝r2pipe時,它沒有工作。一旦我安裝了radare2,一切都按預期工作 – haifzhan

回答

2

這裏就是我所做的:

  1. https://github.com/radare/radare2,克隆項目,我的筆記本電腦,並通過sys/install.sh安裝(radare2自述文件包含的所有指令)

  2. PIP安裝r2pipe(我有蟒蛇2.7.6在Ubuntu 14.04)

以下是我在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。你可以嘗試uninstall你目前的radare2,並在radare端出現一些版本問題時重新安裝。

0

對我來說,解決方案是從git repository安裝radare2,而不是從過時的Ubuntu存儲庫安裝。

安裝與運行sys/install.sh一樣簡單。請注意,這會覆蓋任何現有的radare2安裝,您可能希望在安裝之前使用軟件包管理器將其刪除(例如apt-get remove radare2)。

+0

作爲對編輯的迴應:我實際上選擇了單獨包含鏈接,因爲它使它更加明顯(請參閱其他答案)... – Luc