From 572344ae58da98d4fc8e2e210ccc61b258c765c0 Mon Sep 17 00:00:00 2001 From: KyleMiles Date: Mon, 29 Jan 2024 16:04:43 -0500 Subject: Adds `BinaryView.check_for_string_annotation_type`; Adds ergonomic way of retrieving string from ConstPtr IL instructions; Resolves #4144 --- python/highlevelil.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'python/highlevelil.py') diff --git a/python/highlevelil.py b/python/highlevelil.py index e2922b46..da1d9346 100644 --- a/python/highlevelil.py +++ b/python/highlevelil.py @@ -26,7 +26,7 @@ from enum import Enum # Binary Ninja components from . import _binaryninjacore as core -from .enums import HighLevelILOperation, DataFlowQueryOption, FunctionGraphType, ILInstructionAttribute +from .enums import HighLevelILOperation, DataFlowQueryOption, FunctionGraphType, ILInstructionAttribute, StringType from . import function from . import binaryview from . import architecture @@ -1691,6 +1691,10 @@ class HighLevelILConstPtr(HighLevelILInstruction, Constant): ("constant", self.constant, "int"), ] + @property + def string(self) -> Optional[Tuple[str, StringType]]: + return self.function.view.check_for_string_annotation_type(self.constant, True, True, 0) + @dataclass(frozen=True, repr=False, eq=False) class HighLevelILExternPtr(HighLevelILInstruction, Constant): -- cgit v1.3.1