OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Mar 29, 2024 4:44 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 19 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: ObjectDumper, a small GUI for objdump
PostPosted: Thu Aug 18, 2016 11:18 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
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

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Thu Aug 18, 2016 12:26 pm 
Offline
Member
Member
User avatar

Joined: Tue Aug 02, 2016 1:52 pm
Posts: 286
Location: East Riding of Yorkshire, UK
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


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Thu Aug 18, 2016 2:33 pm 
Offline
Member
Member

Joined: Sun Jun 16, 2013 4:09 am
Posts: 333
Looks great, do you have a windows version?

For me I used a Visual Studio text editor, using find....


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Thu Aug 18, 2016 2:51 pm 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
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.

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Thu Aug 18, 2016 10:09 pm 
Offline
Member
Member

Joined: Fri Jan 30, 2015 4:57 pm
Posts: 215
Location: Germany
Looks great, thanks for sharing :)


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Sat Aug 20, 2016 9:29 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 1134
Looks good! Please make it Ubuntu compatible.

_________________
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader


Last edited by Octacone on Thu Jul 13, 2017 3:44 am, edited 2 times in total.

Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Sat Aug 20, 2016 12:08 pm 
Offline
Member
Member
User avatar

Joined: Thu Mar 27, 2014 3:57 am
Posts: 568
Location: Moscow, Russia
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


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Sat Aug 20, 2016 2:20 pm 
Offline
Member
Member

Joined: Sat Mar 28, 2015 11:23 am
Posts: 103
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


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Wed Aug 24, 2016 6:15 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
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

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Wed Aug 24, 2016 6:36 am 
Offline
Member
Member
User avatar

Joined: Tue Aug 02, 2016 1:52 pm
Posts: 286
Location: East Riding of Yorkshire, UK
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


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Wed Aug 24, 2016 6:40 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
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.

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Wed Aug 24, 2016 6:55 am 
Offline
Member
Member
User avatar

Joined: Mon Dec 28, 2015 11:11 am
Posts: 401
YOU made this? Wow! Pretty amazing! :o


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Wed Aug 24, 2016 7:02 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
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

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Wed Aug 24, 2016 7:09 am 
Offline
Member
Member
User avatar

Joined: Thu Mar 27, 2014 3:57 am
Posts: 568
Location: Moscow, Russia
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


Top
 Profile  
 
 Post subject: Re: ObjectDumper, a small GUI for objdump
PostPosted: Thu Aug 25, 2016 1:30 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
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!

_________________
Ghost OS - GitHub


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 19 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 32 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group