angr.analyses.decompiler.region_simplifiers.node_address_finder 源代码

# pylint:disable=unused-argument,arguments-differ
from __future__ import annotations

import ailment

from angr.analyses.decompiler.sequence_walker import SequenceWalker


[文档] class NodeAddressFinder(SequenceWalker): """ Walk the entire node and collect all addresses of nodes. """
[文档] def __init__(self, node): handlers = { ailment.Block: self._handle_Block, } super().__init__(handlers=handlers) self.addrs: set[int] = set() self.walk(node)
def _handle_Block(self, node: ailment.Block, **kwargs): self.addrs.add(node.addr)