Translate [rip +- offset] to absolute RVA's in R2RDump (#19219)
authorTomáš Rylek <trylek@microsoft.com>
Tue, 14 Aug 2018 10:37:19 +0000 (12:37 +0200)
committerGitHub <noreply@github.com>
Tue, 14 Aug 2018 10:37:19 +0000 (12:37 +0200)
commit66b3197f69cf4669ba04a7a8121d33d9aa5d3c9d
tree79cff94a7c5454bd909287713f8f8f2dd340dd71
parentc509903171fedf0a4a6f9fffeb6e2b9820f537c2
Translate [rip +- offset] to absolute RVA's in R2RDump (#19219)

* Translate [rip +- offset] to absoluate RVA's in R2RDump

The existing logic for displaying rip-relative addressed on X64
make it very hard to calculate the final addresses. I have added
a horrendous hack using textual analysis of the disassembled
instruction to translate this notation to absolute RVA's.

As part of this effort I have also encapsulated the CorDisTools
helper in a new class Disassembler that also contains customizable
provisions for handling special assembly cases on the individual
architectures.

Thanks

Tomas

* Temporarily block out disassembly to make tests pass

In my initial commit I removed the line blocking out disassembly
however this ends up failing several lab tests so I'm putting the
line back.

Thanks

Tomas
src/tools/r2rdump/CoreDisTools.cs
src/tools/r2rdump/R2RDump.cs
src/tools/r2rdump/TextDumper.cs
src/tools/r2rdump/XmlDumper.cs