ucsb-seclab / karonte

Karonte is a static analysis tool to detect multi-binary vulnerabilities in embedded firmware
BSD 2-Clause "Simplified" License
391 stars 60 forks source link

KeyError: 'r0' #6

Closed yaghmr closed 4 years ago

yaghmr commented 4 years ago

I ran the example, and I get this error:

$ python tool/karonte.py config/NETGEAR/r_7800.json 
Traceback (most recent call last):
  File "tool/karonte.py", line 6, in <module>
    from binary_dependency_graph import BinaryDependencyGraph
  File "/karonte-master/tool/binary_dependency_graph/__init__.py", line 1, in <module>
    from binary_dependency_graph import *
  File "/karonte-master/tool/binary_dependency_graph/binary_dependency_graph.py", line 7, in <module>
    from utils import *
  File "/karonte-master/tool/binary_dependency_graph/utils.py", line 14, in <module>
    from taint_analysis import coretaint, summary_functions
  File "/karonte-master/tool/taint_analysis/coretaint.py", line 7, in <module>
    from utils import *
  File "/karonte-master/tool/taint_analysis/utils.py", line 5, in <module>
    archinfo.ArchARMEL.registers['r0'][0],
KeyError: 'r0'
badnack commented 4 years ago

Are you running the code inside the karonte container, or directly on your system?

yaghmr commented 4 years ago

Directly on my system: Linux Ubuntu 18.04, Python 2.7

badnack commented 4 years ago

Angr has changed a lot since karonte, I d suggest you to use our container. You can find the link in the readme.

yaghmr commented 4 years ago

I see. What version of Angr is needed to karonte? I tried the version 7.8.9.26 and 7.8.8.1 but I get the same error.