m4b / m4b/rdr

vmaddr or offset or both?

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
OCaml
Stars
86
Forks
10
PR merge metrics
No merged PRs in 30d

Description

Currently `rdr` makes bad distinctions between offsets and vmaddr. Unfortunately, our previous binary masters believed that embedding vmaddresses in the binary was the responsibility of the binary and not the loader and dynamic linker. This was foolish, but there's nothing we can do now.

So, because both have their uses, especially when debugging, a `--vm` switch might be a good idea to _not_ perform automatic offset computations.

This will add complications, but might be necessary.

Alternatively, we could only return non-normalized binary offsets, and have a switch for returning binary offsets. Regardless, a consistent approach has to be taken, because right now it's a disassister, especially the `--do` switch.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how rdr currently distinguishes vmaddr from binary offsets, with particular attention to the --do switch. Review the proposed --vm and alternative normalization approaches before choosing a consistent behavior. Done means the chosen address representation and switch behavior are defined consistently, especially for debugging.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
cli, reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.