igogo-x86 / HexRaysPyTools

IDA Pro plugin which improves work with HexRays decompiler and helps in process of reconstruction structures and classes
1.41k stars 224 forks source link

Got AttributeError while deep scanning #16

Closed Zadagu closed 6 years ago

Zadagu commented 6 years ago

Hi, I've got an AttributeError while deep scanning. However there was still some output on the structure builder window.

Traceback (most recent call last):
  File "plugins\HexRaysPyTools\Actions.py", line 330, in activate
    visitor.process()
  File "plugins\HexRaysPyTools\Api.py", line 447, in process
    self._recursive_process()
  File "plugins\HexRaysPyTools\Api.py", line 551, in _recursive_process
    self._recursive_process()
  File "plugins\HexRaysPyTools\Api.py", line 540, in _recursive_process
    super(RecursiveObjectDownwardsVisitor, self)._recursive_process()
  File "plugins\HexRaysPyTools\Api.py", line 467, in _recursive_process
    super(RecursiveObjectVisitor, self).process()
  File "plugins\HexRaysPyTools\Api.py", line 230, in process
    self.apply_to(self._cfunc.body, None)
  File "python\ida_hexrays.py", line 4458, in apply_to
    return _ida_hexrays.ctree_visitor_t_apply_to(self, *args)
  File "plugins\HexRaysPyTools\Api.py", line 298, in leave_expr
    self._manipulate(cexpr, obj)
  File "plugins\HexRaysPyTools\Core\VariableScanner.py", line 132, in _manipulate
    member = self.__extract_member_from_xword(cexpr, obj)
  File "plugins\HexRaysPyTools\Core\VariableScanner.py", line 234, in __extract_member_from_xword
    return self.__extract_member(cexpr, obj, offset, parents, parents_type)
  File "plugins\HexRaysPyTools\Core\VariableScanner.py", line 280, in __extract_member
    return self._get_member(offset, cexpr, obj, self.__deref_tinfo(default_tinfo))
  File "plugins\HexRaysPyTools\Core\VariableScanner.py", line 146, in _get_member
    scan_obj = ScannedObject.create(obj, cexpr_ea, self.__origin, applicable)
  File "plugins\HexRaysPyTools\Core\VariableScanner.py", line 49, in create
    return ScannedStructureMemberObject(obj.struct_name, obj.offset, expression_address, origin, applicable)
AttributeError: 'StructRefObject' object has no attribute 'struct_name'
igogo-x86 commented 6 years ago

Hi You can try the latest commit version