首页
社区
课程
招聘
[原创] ubuntu 1604下 one_gadget 出现undefined method `unpack1'问题的解决方案
2021-1-6 15:23 11359

[原创] ubuntu 1604下 one_gadget 出现undefined method `unpack1'问题的解决方案

2021-1-6 15:23
11359

one_gadget是用Ruby编写的,可以用gem直接安装,当我使用默认的apt安装ruby和gem,是这样的流程

1
2
sudo apt install ruby gem
sudo gem install one_gadget

此时ruby的版本:

1
2
#ruby --version
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]

然后用的时候就会报错:

 

-w818

1
/var/lib/gems/2.3.0/gems/elftools-1.1.3/lib/elftools/elf_file.rb:59:in `build_id': undefined method `unpack1' for "\xC4\xFD\x86\xEC\x1E\xEDW\xA0\x9Cy\xCE`\x1Fln7\x96\xF5t\xDF":String (NoMethodError)

解决方案

1.卸载已经安装的ruby、gem、one_gadget

1
2
sudo gem uninstall one_gadget
sudo apt remove gem ruby

2.我在one_gadget的Github repo中的 Github workflow 中看到,开发者使用的ruby 版本是2.6

 

-w1218

 

接下来装个2.6的ruby,使用ruby-install脚本进行安装,该脚本的安装方式参考README。

 

配置好脚本后,安装 ruby 2.6:

1
#ruby-install ruby 2.6

等亿会,安装完成。
-w813

 

把路径加到path中:

1
export PATH="/home/lushan/.rubies/ruby-2.6.6/bin:$PATH"

检查ruby版本:

1
2
##ruby --version
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux]

安装one_gadget:

1
gem install one_gadget

正常使用:
-w536


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞2
打赏
分享
最新回复 (2)
雪    币: 7
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
bet365 2021-1-9 17:36
2
0
感谢  ,另外下载ruby时出现错误 需要更改hosts即可
雪    币: 17
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
路否大客户 2021-1-20 16:52
3
0
不晓得我的ruby-install为什么用不了,我离线安装的ruby,擦,谢谢大佬,大佬牛逼
游客
登录 | 注册 方可回帖
返回