Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.
When using Triton to disassemble and simplify a basic block containing a verw instruction, the subsequent instructions are ignored and removed from the simplified block. This can lead to incorrect semantics for the simplified block of code.
The simplified basic block is expected to contain all instructions, possibly with modified semantics if that is in accordance with Triton's analysis.
Actual result:
After simplifying the basic block containing a verw instruction, the subsequent instructions are ignored and removed, leaving only the instruction before verw:
Description of the issue:
When using Triton to disassemble and simplify a basic block containing a
verw
instruction, the subsequent instructions are ignored and removed from the simplified block. This can lead to incorrect semantics for the simplified block of code.Steps to reproduce:
Here is an example code demonstrating the issue:
Expected result:
The simplified basic block is expected to contain all instructions, possibly with modified semantics if that is in accordance with Triton's analysis.
Actual result:
After simplifying the basic block containing a
verw
instruction, the subsequent instructions are ignored and removed, leaving only the instruction beforeverw
: