[HN Gopher] Hacked GDB Dashboard Puts It All on Display
       ___________________________________________________________________
        
       Hacked GDB Dashboard Puts It All on Display
        
       Author : rcarmo
       Score  : 91 points
       Date   : 2022-03-23 08:28 UTC (1 days ago)
        
 (HTM) web link (hackaday.com)
 (TXT) w3m dump (hackaday.com)
        
       | smitty1e wrote:
       | "Some of my favorite interfaces are graphical."
       | 
       | However, accomplishing tasks with textual, batch-oriented
       | interfaces seems easier to script, version, and integrate.
        
         | Cthulhu_ wrote:
         | Those two are not mutually exclusive. You can make a GUI on top
         | of batch / text interfaces. The interface is just the
         | presentation.
        
           | smitty1e wrote:
           | Excellent point.
        
       | sreevisakh wrote:
       | Dashboard has been around for a while. It helped me back when I
       | learned GDB for the first time. Though you still have to learn
       | the GDB commands, dashboard makes it a more visual experience.
       | GDB felt clearer and more modern with it. It's better than the
       | built-in TUI in my opinion.
        
       | xsuu wrote:
       | I remember the quite minimal CGDB interface.
       | https://cgdb.github.io/
        
       | amelius wrote:
       | Looks nice, but usually I'm not very interested in the assembly
       | instructions.
        
       | enragedcacti wrote:
       | There are a lot of these types of tools already in the reverse
       | engineering community (in order of lowest chance of breaking when
       | you throw really weird stuff at it, in my experience):
       | 
       | GEF: https://gef.readthedocs.io/en/master/
       | 
       | PWNDBG: https://github.com/pwndbg/pwndbg
       | 
       | PEDA: https://github.com/longld/peda
       | 
       | They also come with a slew of different features to aid in
       | RE/exploit dev, but many of them are also useful for debugging
       | really weird issues.
       | 
       | Also if you don't need all the info these provide or just want to
       | augment them, the tool you are looking for is "hook-stop" which
       | allows you to execute a string of commands every time GDB pauses
       | program execution.
        
         | cyberpunk wrote:
         | I really like PWNDBG, as it goes. But I am trying to spend more
         | time with the Ghidra debugger, which is ... kind of pants, but
         | it's getting better and it's pretty nice to have everything in
         | one place. :}
        
         | lowbloodsugar wrote:
         | I miss SoftIce.
        
         | synergy20 wrote:
         | I tried to promote gdb-dashboard a few days ago at HN but it
         | did not fly.
         | 
         | gdb-dashbard is different from those reverse-engineering gdb-
         | hacks in that, it is more for normal debugging with a better
         | looking TUI than the default gdb tui interface.
         | 
         | gdb's support for python scripting made all these possible.
        
           | mark_undoio wrote:
           | I like TUI but used to find it a bit flaky and inconsistent.
           | I understand it's had a fairly recent code-level revamp.
           | 
           | GDB has also added Python extension support for it:
           | https://sourceware.org/gdb/current/onlinedocs/gdb/TUI-
           | Window...
           | 
           | It will be interesting to see if things like GDB Dashboard
           | benefit from being implemented in this way in future.
        
       | bogomipz wrote:
       | This is neat.
       | 
       | Can someone say what the "encrypt+" column to the left of the the
       | Op code is in the screenshot?
        
         | Graziano_M wrote:
         | "encrypt" is just the name of the function being debugged. The
         | `+x` is the byte offset in that function.
        
         | jeffbee wrote:
         | It's the instruction offset from a function entry point.
        
       | lsllc wrote:
       | Anyone remember Periscope? It was a DOS debugger with the
       | hardware button attached to the NMI pin on the chip to break in
       | even if interrupts are disabled! It was awesome.
       | 
       | Still unequalled if you ask me, although gdb-dashboard comes
       | pretty close.
       | 
       | EDIT: A quick bit of searching yielded a scanned copy of the
       | manual courtesy of the os2museum.com:
       | 
       | https://www.os2museum.com/files/docs/periscope/periscope-man...
        
         | matja wrote:
         | Being able to enter a debugger on NMI is great because now you
         | can trigger the NMI from any set of hardware conditions too -
         | you can connect logic gates to the address bus to decode a
         | range of addresses, "and" it with the memory write assert pin
         | or IORQ pin and now you have hardware breakpoints for a machine
         | that didn't originally support it.
        
       | skywal_l wrote:
       | Nice! There is already a TUI in gdb albeit not as good looking.
       | For more info, there is a quick talk about it and other niceties
       | that you may not know about:
       | https://www.youtube.com/watch?v=PorfLSr3DDI
        
       ___________________________________________________________________
       (page generated 2022-03-24 23:02 UTC)