Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature proposal: Function-level synchronized navigation in the GUI #75

Open
ltfish opened this issue Aug 2, 2022 · 3 comments
Open

Comments

@ltfish
Copy link
Collaborator

ltfish commented Aug 2, 2022

A common use case is comparing the quality of decompilation output from different decompilers of the same function. I would like to add a new feature, "synchronized navigation," to the frontend. Once this feature is enabled, when a user navigates to inside a function in one of the decompiler panels, all other decompiler panels will also scroll to the beginning of that function. This feature should be enabled by default.

@psifertex
Copy link
Contributor

Are you thinking this should be implemented as pure javascript in a best-effort way to track based on names or pattern matching? By separately producing a list of offsets and functions to be used independently to match navigation?

What about when tools produce different (but identically named) entries for PLT/GOT?

It'd be a great feature I'm just concerned there's a lot of edge cases. I guess as long as the failure case is just "it is the same as we have now" and doesn't result in weird/confusing/wrong things it can only be an improvement.

@ltfish
Copy link
Collaborator Author

ltfish commented Aug 3, 2022

I’m thinking of a best-effort approach that’s implemented only in the frontend. When we switch to per-function output in the backend (as Kevin has suggested before), we can switch to a more accurate, maybe binary address-supported mapping.

@uxmal
Copy link

uxmal commented Sep 10, 2022

Reko maintainer here. Do let me know if there is anything I can do in the Reko output to assist with this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants