diff options
| author | Peter LaFosse <peter@vector35.com> | 2017-03-24 11:20:39 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2017-03-24 11:20:39 -0400 |
| commit | 435e937c9705bc71cf1e7da1e08b23345a131360 (patch) | |
| tree | 5a4d729acb0404c4c4059f0c7e8aa7c22136b649 /python/architecture.py | |
| parent | 1e8e975ed8100c7a6186e8b27833a067ceaf05be (diff) | |
| parent | ddaf7506e1802cfd4f9c78bcfb14deb0180b04d8 (diff) | |
Merge branch 'dev' into staging
Diffstat (limited to 'python/architecture.py')
| -rw-r--r-- | python/architecture.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/python/architecture.py b/python/architecture.py index 39e5e72d..d3778613 100644 --- a/python/architecture.py +++ b/python/architecture.py @@ -1177,6 +1177,9 @@ class Architecture(object): ``get_instruction_low_level_il`` appends LowLevelILExpr 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 ``Function.get_low_level_il_at``. + :param str data: max_instruction_length bytes from the binary at virtual address ``addr`` :param int addr: virtual address of bytes in ``data`` :param LowLevelILFunction il: The function the current instruction belongs to @@ -1191,6 +1194,24 @@ class Architecture(object): core.BNGetInstructionLowLevelIL(self.handle, buf, addr, length, il.handle) return length.value + def get_low_level_il_from_bytes(self, data, addr): + """ + ``get_low_level_il_from_bytes`` converts the instruction in bytes to ``il`` at the given virtual address + + :param str data: the bytes of the instruction + :param int addr: virtual address of bytes in ``data`` + :return: the instruction + :rtype: LowLevelILInstruction + :Example: + + >>> arch.get_low_level_il_from_bytes('\xeb\xfe', 0x40DEAD) + <il: jump(0x40dead)> + >>> + """ + func = lowlevelil.LowLevelILFunction(self) + self.get_instruction_low_level_il(data, addr, func) + return func[0] + def get_reg_name(self, reg): """ ``get_reg_name`` gets a register name from a register number. |
