MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / LowLevelILFunction

Class LowLevelILFunction

python/lowlevelil.py:3246–6129  ·  view source on GitHub ↗

``class LowLevelILFunction`` contains the list of ExpressionIndex objects that make up a function. ExpressionIndex objects can be added to the LowLevelILFunction by calling :func:`append` and passing the result of the various class methods which return ExpressionIndex objects. LowLevelILFlagC

Source from the content-addressed store, hash-verified

3244
3245
3246class LowLevelILFunction:
3247 """
3248 ``class LowLevelILFunction`` contains the list of ExpressionIndex objects that make up a function. ExpressionIndex
3249 objects can be added to the LowLevelILFunction by calling :func:`append` and passing the result of the various class
3250 methods which return ExpressionIndex objects.
3251
3252
3253 LowLevelILFlagCondition values used as parameters in the :func:`flag_condition` method.
3254
3255 ======================= ========== ===============================
3256 LowLevelILFlagCondition Operator Description
3257 ======================= ========== ===============================
3258 LLFC_E == Equal
3259 LLFC_NE != Not equal
3260 LLFC_SLT s< Signed less than
3261 LLFC_ULT u< Unsigned less than
3262 LLFC_SLE s<= Signed less than or equal
3263 LLFC_ULE u<= Unsigned less than or equal
3264 LLFC_SGE s>= Signed greater than or equal
3265 LLFC_UGE u>= Unsigned greater than or equal
3266 LLFC_SGT s> Signed greater than
3267 LLFC_UGT u> Unsigned greater than
3268 LLFC_NEG - Negative
3269 LLFC_POS + Positive
3270 LLFC_O overflow Overflow
3271 LLFC_NO !overflow No overflow
3272 ======================= ========== ===============================
3273 """
3274 def __init__(
3275 self, arch: Optional['architecture.Architecture'] = None, handle: Optional[core.BNLowLevelILFunction] = None,
3276 source_func: Optional['function.Function'] = None
3277 ):
3278 if arch is not None:
3279 self._arch = arch
3280 self._source_function = source_func
3281 if handle is not None:
3282 LLILHandle = ctypes.POINTER(core.BNLowLevelILFunction)
3283 _handle = ctypes.cast(handle, LLILHandle)
3284 if self._source_function is None:
3285 source_handle = core.BNGetLowLevelILOwnerFunction(_handle)
3286 if source_handle:
3287 self._source_function = function.Function(handle=source_handle)
3288 else:
3289 self._source_function = None
3290 if arch is None:
3291 if self._source_function is None:
3292 raise Exception("Can not instantiate LowLevelILFunction without an architecture")
3293 self._arch = self._source_function.arch
3294 else:
3295 if arch is None:
3296 if self._source_function is None:
3297 raise Exception("Can not instantiate LowLevelILFunction without an architecture")
3298 self._arch = self._source_function.arch
3299 assert self._arch is not None
3300 if self._source_function is None:
3301 func_handle = None
3302 else:
3303 func_handle = self._source_function.handle

Callers 3

ssa_formMethod · 0.70
non_ssa_formMethod · 0.70
translateMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected