aboutsummaryrefslogtreecommitdiffstats
path: root/idatui/trace.py
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-08-07 13:10:53 +0200
committerblasty <blasty@local>2026-08-07 13:10:53 +0200
commit3edb58cc0b93fdd90b68c6aacc8af91874142099 (patch)
tree2d23513d946ca3d604f094a8874c8e91657a25ac /idatui/trace.py
parentcodemode: restore the graph view and pseudocode comments (diff)
downloadida-tui-3edb58cc0b93fdd90b68c6aacc8af91874142099.tar.gz
ida-tui-3edb58cc0b93fdd90b68c6aacc8af91874142099.tar.xz
ida-tui-3edb58cc0b93fdd90b68c6aacc8af91874142099.zip
codemode: port the xref tools' real contract, order included
The pseudocode follow's address fallback broke: following a call landed on the NEXT LINE instead of the callee (decomp_nav's stale-name check, cur=0x20dd want=0x2060). The port's xref_query returned rows in raw IDA order, and at a call site IDA yields the ordinary-flow xref (fl_F, the next instruction) before the call xref (fl_CN), so 'first code xref' picked the fall-through. The tool ida-tui was written against sorts rows by the far-end address and dedups by default; sorted, 0x2060 precedes 0x210e and the follow is correct. That ordering is load-bearing, so it is now part of the port rather than an accident of the old implementation. Also fixed: the port attached 'fn' to ref.from_ea for both directions, where a from-xref must describe its TARGET (the xref dialog shows the wrong function otherwise), and the envelope was missing direction/addr/total/next_offset/resolved_addr. xref_types (ours, the kind badges in the xref dialog) is ported verbatim and deliberately stays UNsorted -- that dialog lists xrefs in IDA's own order. decomp_nav, follow_xrefs, xref_labels, decomp_follow_self: 15 passed, 0 failed.
Diffstat (limited to 'idatui/trace.py')
0 files changed, 0 insertions, 0 deletions