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

Potential Future Improvements #47

Open
4 tasks
pdamian opened this issue Jun 1, 2023 · 3 comments
Open
4 tasks

Potential Future Improvements #47

pdamian opened this issue Jun 1, 2023 · 3 comments

Comments

@pdamian
Copy link
Collaborator

pdamian commented Jun 1, 2023

  • Improve adding of hooks
    • After selecting a function (e.g. strlen) or block name (e.g. .text), it is no longer possible to "unselect" it and show everything (current workaround: type a filter and remove it afterwards)
    • When clicking a hook address in Ghidrion, the Ghidra code browser should move to the corresponding address
  • The memory diff view should add $$ in case an entry is symbolic. Color background in case concrete / symbolic value changed between entry and leave state
  • Ghidrion GUI should be made more responsive (large areas of window are empty)
  • The memory diff view could show an ASCII representation of concrete values, where applicable
@riesentoaster
Copy link
Collaborator

riesentoaster commented Jun 1, 2023

The memory diff view should add $$ in case an entry is symbolic. Color background in case concrete / symbolic value changed between entry and leave state

This is currently implemented by coloring different fields. In case there is a difference in value, the name/address is marked green. In case either the entry or leave value is symbolic, the value is marked blue.

Am I misinterpreting your request or is this already implemented?

The rest of the requests seem reasonable.

@pdamian
Copy link
Collaborator Author

pdamian commented Jun 1, 2023

This is currently implemented by coloring different fields. In case there is a difference in value, the name/address is marked green. In case either the entry or leave value is symbolic, the value is marked blue.

OK, I misinterpreted the colors. Maybe a color legend within Ghidrion would help.

And red then means a mismatch in entry and leave states.

However, one minor problem I detected is that when you have a new entry in the leave state, which is also symbolic (below marked as $$), the coloring is confusing.

Coloring as it is currently implemented:

Address Entry State Leave State
0x1000 (r) 0x41 $$ (r)

Proposed coloring:

Address Entry State Leave State
0x1000 (r) 0x41 $$ (b)

Color Scheme: r=red, b=blue

The values should only be colored blue (when they are symbolic) - never green or red. The address / register name is colored green, red or none (black).

Note: I think green means equal values, black not equal (as opposed to what you described).

@riesentoaster
Copy link
Collaborator

I see, I thought it should basically never happen that an memory entry or register only appears in the entry or exit state. I have changed it to your proposed solution.

Note: I think green means equal values, black not equal (as opposed to what you described).

That was a fun bug to discover. It's fixed in the current release.

OK, I misinterpreted the colors. Maybe a color legend within Ghidrion would help.

Good idea, I'll see what can be done.

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

No branches or pull requests

2 participants