一次二进制漏洞检测工具开发遇到的问题解决
本文最后更新于1445天前,其中的信息可能已经有所发展或是发生改变。

项目基于Python语言开发

在开发初期使用python2测试。在进入Linux进一步测试时发现python3执行后会有如下报错,鉴于python2.7已于2020年1月1日 停止支持。所以着手解决

root@Mondayice:~/桌面/测试# python3 Main.py -f stack_overflow
Namespace(File='stack_overflow')
Traceback (most recent call last):
  File "Main.py", line 28, in <module>
    main()
  File "Main.py", line 17, in main
    p = angr.Project(filename, load_options={"auto_load_libs": False})
  File "/usr/local/lib/python3.7/dist-packages/angr/project.py", line 128, in __init__
    self.loader = cle.Loader(self.filename, concrete_target=concrete_target, **load_options)
  File "/usr/local/lib/python3.7/dist-packages/cle/loader.py", line 134, in __init__
    self.initial_load_objects = self._internal_load(main_binary, *preload_libs, preloading=True)
  File "/usr/local/lib/python3.7/dist-packages/cle/loader.py", line 664, in _internal_load
    main_obj = self._load_object_isolated(main_spec)
  File "/usr/local/lib/python3.7/dist-packages/cle/loader.py", line 767, in _load_object_isolated
    return backend_cls(full_spec, is_main_bin=self.main_object is None, loader=self, **options)
  File "/usr/local/lib/python3.7/dist-packages/cle/backends/elf/elf.py", line 33, in __init__
    super(ELF, self).__init__(binary, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/cle/backends/elf/metaelf.py", line 27, in __init__
    super(MetaELF, self).__init__(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/cle/backends/__init__.py", line 96, in __init__
    self.symbols = sortedcontainers.SortedKeyList(key=self._get_symbol_relative_addr)
AttributeError: module 'sortedcontainers' has no attribute 'SortedKeyList'

报错提示:

AttributeError: module 'sortedcontainers' has no attribute 'SortedKeyList'

模块“ sortedcontainers”没有属性“ SortedKeyList“

sortedcontainers 是python的 一款纯python写的对列表、字典、集合排序的模块。在这里不做过多的介绍有兴趣的可以来这里了解。

在 sortedcontainers 发布历史中发现2.0.0(2018-05-18)版本中有这样的更新:

2.0.0(2018-05-18) 版本之后SortedListWithKey不再使用。由SortedKeyList代替 。

升级 sortedcontainers 到2.0.0版本以上即可兼容。

pip3 install  sortedcontainers==2.0.5

此错误angr官方也给出同样的解决方案

SortedKeyList is only provided by certain versions of sortedcontainers. We have a pin sortedcontainers>=2.0 to ensure that this is satisfied. Can you please post the output of pip freeze | grep sortedcontainers to ensure you have the right version installed?

附兼容成功的图片

点击数:209

    暂无评论

    发送评论 编辑评论

    
    				
    |´・ω・)ノ
    ヾ(≧∇≦*)ゝ
    (☆ω☆)
    (╯‵□′)╯︵┴─┴
     ̄﹃ ̄
    (/ω\)
    ∠( ᐛ 」∠)_
    (๑•̀ㅁ•́ฅ)
    →_→
    ୧(๑•̀⌄•́๑)૭
    ٩(ˊᗜˋ*)و
    (ノ°ο°)ノ
    (´இ皿இ`)
    ⌇●﹏●⌇
    (ฅ´ω`ฅ)
    (╯°A°)╯︵○○○
    φ( ̄∇ ̄o)
    ヾ(´・ ・`。)ノ"
    ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
    (ó﹏ò。)
    Σ(っ °Д °;)っ
    ( ,,´・ω・)ノ"(´っω・`。)
    ╮(╯▽╰)╭
    o(*////▽////*)q
    >﹏<
    ( ๑´•ω•) "(ㆆᴗㆆ)
    😂
    😀
    😅
    😊
    🙂
    🙃
    😌
    😍
    😘
    😜
    😝
    😏
    😒
    🙄
    😳
    😡
    😔
    😫
    😱
    😭
    💩
    👻
    🙌
    🖕
    👍
    👫
    👬
    👭
    🌚
    🌝
    🙈
    💊
    😶
    🙏
    🍦
    🍉
    😣
    Source: github.com/k4yt3x/flowerhd
    颜文字
    Emoji
    小恐龙
    花!
    上一篇
    下一篇