-
Notifications
You must be signed in to change notification settings - Fork 6
[Analyzer] Unable to Execute loris_analyzer.py – Missing firmwire.vendor.shannon.sael3 and angr API Compatibility Error #4
Description
Hi, thank you very much for your excellent and interesting work on this project, and for sharing it as open source!
I'm currently trying to reproduce and use the tool, and I encountered a couple of issues while running Analyzer of the following command:
🔧 Execution Command
Loris/analyzer/loris_analyzer.py -n 1 --debug --firmwire-log debug --angr-log info -b modem_files/CP_G973FXXSHHWI1_CP25062570_CL25257816_Q
B71477174_REV01_user_low_ship.tar.md5❗ First Error: Missing firmwire.vendor.shannon.sael3
ModuleNotFoundError: No module named 'firmwire.vendor.shannon.sael3'
To bypass this error, I temporarily commented out the following line in:
File: Loris/analyzer/loris_analyzer/util/utils.py
Line: 22
# from firmwire.vendor.shannon.sael3 import SAEL3This allowed the script to proceed further.
❗ Second Error: angr internal API change
After bypassing the missing module, I encountered this:
AttributeError: module 'angr.storage.memory_mixins' has no attribute 'memory_mixin'
File: Loris/analyzer/loris_analyzer/util/utils.py
Line: 282
def get_initialized_intervals(memory: angr.storage.memory_mixins.memory_mixin.MemoryMixin, addr_range: range):This appears to be due to an internal structure/API change in angr. The module angr.storage.memory_mixins.memory_mixin no longer exists in newer versions of angr.
🧪 Environment
- Python Version: PyPy 3.10.14
- angr Version: 9.2.102 (installed via pip)
- Execution Context: Virtual environment
fw-env - Platform: Linux
Python shell output:
>>>> import angr
>>>> print(angr.__version__)
9.2.102🙋 My Questions
- Which version or commit hash of angr is known to be compatible with this project and the current codebase?
- Is there a public version or branch that does not rely on
firmwire.vendor.shannon.sael3? Or is this module expected to be private? - Is there any guideline or minimal working configuration to execute
loris_analyzer.pyreliably?
Thank you again for your great work and for making it available to the community. I'd love to explore more of this tool if I can get past these issues. Any guidance or clarification you can provide would be much appreciated!