ObjectDumper, a small GUI for objdump

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

ObjectDumper, a small GUI for objdump

Post by max »

Hey guys,

so I recently made a small tool to make it more comfortable for me to disassemble my applications to find where errors occurred and stuff. It's basically a UI for objdump and uses the local installation to disassemble the binary and display it in an outline. You can then navigate through it either by clicking through the calls/jmps, entering a address, searching for functions or navigating through the history.

Here's a little video showing the usage: https://vimeo.com/179351807

Image

I was just curious if anyone else would be interested in using this. If so, I'll put it on a GitHub repository and make it GPL. It's not very advanced yet (I actually started developing it yesterday) - feature ideas are very welcome. It's platform independent (written in Java).

Greets
User avatar
matt11235
Member
Member
Posts: 286
Joined: Tue Aug 02, 2016 1:52 pm
Location: East Riding of Yorkshire, UK

Re: ObjectDumper, a small GUI for objdump

Post by matt11235 »

Looks great, do you have a setting to use Intel syntax instead of AT&T? I think the parameter to objdump is -mintel or something.
com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Compiler Development Forum
tsdnz
Member
Member
Posts: 333
Joined: Sun Jun 16, 2013 4:09 am

Re: ObjectDumper, a small GUI for objdump

Post by tsdnz »

Looks great, do you have a windows version?

For me I used a Visual Studio text editor, using find....
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: ObjectDumper, a small GUI for objdump

Post by max »

Thanks for the input guys! I appreciate it.
zenzizenzicube wrote:Looks great, do you have a setting to use Intel syntax instead of AT&T? I think the parameter to objdump is -mintel or something.
I'll add this to the settings.
tsdnz wrote:Looks great, do you have a windows version?
Yes it runs on Windows, too ;)

I'll try to get an alpha release ready for you guys in the next days.
Techel
Member
Member
Posts: 215
Joined: Fri Jan 30, 2015 4:57 pm
Location: Germany
Contact:

Re: ObjectDumper, a small GUI for objdump

Post by Techel »

Looks great, thanks for sharing :)
User avatar
Octacone
Member
Member
Posts: 1138
Joined: Fri Aug 07, 2015 6:13 am

Re: ObjectDumper, a small GUI for objdump

Post by Octacone »

Looks good! Please make it Ubuntu compatible.
Last edited by Octacone on Thu Jul 13, 2017 3:44 am, edited 2 times in total.
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: ObjectDumper, a small GUI for objdump

Post by Roman »

Looks fine, I might try it.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
heat
Member
Member
Posts: 103
Joined: Sat Mar 28, 2015 11:23 am
Libera.chat IRC: heat

Re: ObjectDumper, a small GUI for objdump

Post by heat »

Very cool dude, thanks a bunch.
If some of you people keep insisting on having backwards compatibitity with the stone age, we'll have stone tools forever.
My Hobby OS: https://github.com/heatd/Onyx
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: ObjectDumper, a small GUI for objdump

Post by max »

Here's version 1.0! This is an alpha release, so don't expect it all to work perfectly.

Binary: https://ghostkernel.org/files/ObjectDumper-1.0-bin.zip
Sources: https://ghostkernel.org/files/ObjectDumper-1.0-src.zip

  • General features:
  • Runs on all platforms that support Java
  • Decompiles binaries with objdump
  • Displays an outline tree of all functions in all sections
  • Filter functions by name (with advanced search, use "*" for any string)
  • Which executable to use for objdump is configurable (e.g. your custom i686-myos-objdump)
  • Assembly dialect is configurable

    Navigation features:
  • Use history for navigating back/forward
  • Hop through code by clicking on jump/call instructions
  • Going to a specific address
  • Finding all locations that call a specific function
  • Finding all locations that jump to a specific location
I will soon make this a Maven project and then put it on GitHub. Currently it's an Eclipse project.

Would love to hear some feedback, feel free to write me here if you encounter a bug! :P
User avatar
matt11235
Member
Member
Posts: 286
Joined: Tue Aug 02, 2016 1:52 pm
Location: East Riding of Yorkshire, UK

Re: ObjectDumper, a small GUI for objdump

Post by matt11235 »

Works perfectly on Java 8 on Debian. I love the find callers feature.
My only (tiny) nitpick is that the file explorer seems a bit clunky.
com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Compiler Development Forum
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: ObjectDumper, a small GUI for objdump

Post by max »

zenzizenzicube wrote:Works perfectly on Java 8 on Debian. I love the find callers feature.
My only (tiny) nitpick is that the file explorer seems a bit clunky.
Very nice to hear! :)
The standard Java filechooser is terrible, I know. I'll add my own implementation for this in one of the next version.
User avatar
Ycep
Member
Member
Posts: 401
Joined: Mon Dec 28, 2015 11:11 am

Re: ObjectDumper, a small GUI for objdump

Post by Ycep »

YOU made this? Wow! Pretty amazing! :o
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: ObjectDumper, a small GUI for objdump

Post by max »

Lukand wrote:YOU made this? Wow! Pretty amazing! :o
Thanks friend :oops:
It's just a little side project :P

Just found some bugs and made a little update.

Binaries: https://ghostkernel.org/files/ObjectDumper-1.1-bin.zip
Sources: https://ghostkernel.org/files/ObjectDumper-1.1-src.zip
  • Fixed a bug where files would not be parsed correctly
  • Added name of the currently open file to the window title
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: ObjectDumper, a small GUI for objdump

Post by Roman »

Works perfectly, but only with x86(_64)! objdump for ARM is obviously unable to understand what 'att' and 'intel' are. Aside from ARM support, I'd like to see a history of selected objdump paths and an ability to press 'return' to follow the call on the current line. Many thanks for the tool!
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: ObjectDumper, a small GUI for objdump

Post by max »

Hey Roman,
Roman wrote:Works perfectly, but only with x86(_64)! objdump for ARM is obviously unable to understand what 'att' and 'intel' are. Aside from ARM support, I'd like to see a history of selected objdump paths[...]
I'll have a look at the ARM problem.

I noted the thing with multiple different objdumps, I think I'll add a kind of "profiles" where you can configure different installations.
Roman wrote:[...] and an ability to press 'return' to follow the call on the current line.
What do you mean with that? Do you mean returning on "RET" instructions? I could make this either jump back in history, or show the "Find callers" window?

Thanks for the feedback!
Post Reply