binarly-io / fwhunt-scan

Tools for analyzing UEFI firmware and checking UEFI modules with FwHunt rules
GNU General Public License v3.0
212 stars 30 forks source link

Fixes for latest rizin #32

Closed xorpse closed 2 years ago

xorpse commented 2 years ago

Fixes the following bug, which occurs when running uefi_r2_analyzer.py analyze-image ... with the latest Rizin (tested against rizinorg/rizin/dev@ce262c485b667e3e2ecbcbbbf0f12070ecbcb9e4):

  File "/home/slt/projects/uefi-r2-orig/uefi_r2_analyzer.py", line 38, in analyze_image
    summary = uefi_analyzer.get_summary()
  File "/home/slt/projects/uefi-r2-orig/uefi_r2/uefi_analyzer.py", line 714, in get_summary
    summary["g_bs"] = self.g_bs
  File "/home/slt/projects/uefi-r2-orig/uefi_r2/uefi_analyzer.py", line 259, in g_bs
    self._g_bs = self._get_bs_64bit()
  File "/home/slt/projects/uefi-r2-orig/uefi_r2/uefi_analyzer.py", line 233, in _get_bs_64bit
    for insn in func_insns["ops"]:
TypeError: 'NoneType' object is not subscriptable

The root cause seems to be due to changes in how Rizin parses commands.