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] Add a widget to manipulate Memory Mapping #3361

Open
gooosedev opened this issue Jul 6, 2024 · 5 comments
Open

[Feature] Add a widget to manipulate Memory Mapping #3361

gooosedev opened this issue Jul 6, 2024 · 5 comments
Labels
Enhancement Label requests for new features or to improve existing ones UI

Comments

@gooosedev
Copy link

Is your feature request related to a problem? Please describe.

I would like a way to add, edit, or remove a section mapping, using the GUI.

Describe the solution you'd like

Adding section:

  1. right click in the section list in the GUI and click add.
  2. pop up window with editable fields for fd, vaddr, size, paddr, flags and name.
  3. either click a cancel or add button.
  4. done.

Edit section:

  1. right click on a section entry click edit.
  2. pop up window with editable fields for fd, vaddr, size, paddr, flags and name filled accordingly.
  3. either click cancel or apply changes.
  4. done.

Deleting section:

  1. right click on a section entry click delete.
  2. optionally ask confirmation.
  3. section mapping is removed.

Describe alternatives you've considered
Continue to use the om console commands.

@XVilka
Copy link
Member

XVilka commented Aug 11, 2024

Do you mean editing the sections of the executable? In general this is very complex process since it performs rebuilding the binary from scratch. In simple cases using something like LIEF could be done, but rebuilding binary is not planned in Rizin. So I would suggest this going into a plugin instead.

@gooosedev
Copy link
Author

Not editing,
I just want to be able to use the GUI to tell Rizin how things should be mapped (since my binary is a firmware dump),
the behavior I was describing is something like the memory map thing in Ghidra.

as explained in the rizin book I currently uses the om console commands to do this mapping stuff, however the changes made using those om console commands do not seems to be applied in the GUI section list.
Am I doing it wrong ?

eg if i run the following command on my firmware dump to add a section:

om 3 0x1000 0x10000 0x00 rx code

it is only listed using the oml console command.

Thanks for suggesting LIEF, I'll check to see if I can use it to solve my needs.


another "problem" i have (probably linked to this) is that I have to redo the om commands every time i open a saved project.

@karliss
Copy link
Member

karliss commented Aug 20, 2024

Memory mapping, the one you manipulate with om is completely different thing from executable file sections or segments. Agree that it should have a widget and way to manipulate using GUI same way it can be manipulated with rizin commands.

The custom offset or mapping changes not getting saved is a known unimplemented feature of rizin projects. There should already be an issue in rizin repo for it.

@gooosedev
Copy link
Author

OK, should I then edit the title to something like [Feature] add a widget to manipulate Memory Mapping ?

@wargio
Copy link
Member

wargio commented Sep 5, 2024

yes

@wargio wargio added Enhancement Label requests for new features or to improve existing ones UI labels Sep 5, 2024
@wargio wargio changed the title Manage sections using GUI [Feature] Add a widget to manipulate Memory Mapping Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Label requests for new features or to improve existing ones UI
Projects
None yet
Development

No branches or pull requests

4 participants