``get_instruction_low_level_il`` appends lowlevelil.ExpressionIndex objects to ``il`` for the instruction at the given virtual address ``addr`` with data ``data``. This is used to analyze arbitrary data at an address, if you are working with an existing binary, you likely want to be using
(self, data: bytes, addr: int, il: lowlevelil.LowLevelILFunction)
| 1408 | return il[0] |
| 1409 | |
| 1410 | def get_instruction_low_level_il(self, data: bytes, addr: int, il: lowlevelil.LowLevelILFunction) -> Optional[int]: |
| 1411 | """ |
| 1412 | ``get_instruction_low_level_il`` appends lowlevelil.ExpressionIndex objects to ``il`` for the instruction at the given |
| 1413 | virtual address ``addr`` with data ``data``. |
| 1414 | |
| 1415 | This is used to analyze arbitrary data at an address, if you are working with an existing binary, you likely |
| 1416 | want to be using :func:`Function.get_low_level_il_at`. |
| 1417 | |
| 1418 | .. note:: Architecture subclasses should implement this method. |
| 1419 | |
| 1420 | :param str data: a maximum of max_instruction_length bytes from the binary at virtual address ``addr`` |
| 1421 | :param int addr: virtual address of bytes in ``data`` |
| 1422 | :param LowLevelILFunction il: The function the current instruction belongs to |
| 1423 | :return: the length of the current instruction |
| 1424 | :rtype: int |
| 1425 | """ |
| 1426 | raise NotImplementedError |
| 1427 | |
| 1428 | def get_low_level_il_from_bytes(self, data: bytes, addr: int) -> 'lowlevelil.LowLevelILInstruction': |
| 1429 | """ |
no outgoing calls
no test coverage detected