elbee-cyber / RopView

A BinaryNinja plugin for contextual gadget analysis and semantic/hueristic based querying.
MIT License
45 stars 1 forks source link

Analysis code hook, better step-effects analysis using a register comparison #25

Closed elbee-cyber closed 5 months ago

elbee-cyber commented 5 months ago

Instead of finding clobbered registers by parsing the mnemonic, we should add pass a dict to the hook and add a global last_state_executed.

The dict will be initialized to the prestate and saved to last_state_executed. A check will be done in the hook_code to find registers of the current context (the passed dict will be reset to the current step's register values) that do not match the last_state_executed. These will be displayed in analysis with their effects (Numerical value, stack modification and stack pivot or full control (based on cyclic data contents))