📚 OpenRCE is preserved as a read-only archive. Launched at RECon Montreal in 2005. Registration and posting are disabled.








Flag: Tornado! Hurricane!

 Forums >>  Debuggers  >>  Debuggers for Linux?!

Topic created on: January 25, 2009 16:08 CST by Varied .

Dear friends! What can you tell me about debuggers in Linux: what do you use, what lacks are in them, and what you would you like to change essentially in them? As for me, for example, I usually use linice, pice, GDB, ALD or dude.  In my opinion they are not ideal. And what you think in this about it?

  trufae   January 26, 2009 10:51.04 CST
You missed radare, eresi and EDB. did you ever gave a try to them?

I personally use radare and gdb, (mostly radare because I am the main developer) and gdb for debugging multithreaded optimizations and the only thing i miss is a gui for end-users. which is useless for my needs. But i hear some times that is something that people claims for.

Why are not 'ideal' for you? what's missing or required for you in a debugger?

  Varied     January 26, 2009 16:40.23 CST
"Why are not 'ideal' for you? what's missing or required for you in a debugger?" - GDB does not allow you to set breakpoints in shared memory and modify it. Search for missing memory as such. Debugger refused to load a file with a distorted structure, or a missing section table.
P.S. I know English very bad, sorry!!!

  trufae   January 27, 2009 04:47.38 CST
> GDB does not allow you to set breakpoints in shared memory and modify it.

Thats not true.

(gdb) x/x 0x8048000
0x8048000:      0x464c457f
(gdb) set *(int)0x8048000=0x12345678
(gdb) x/x 0x8048000
0x8048000:      0x12345678
(gdb)


You can also setup hardware breakpoints with 'hbreak', so I dont see any limitation for setting breakpoints on shared memory or shared libraries here.

What do you mean by search for missing memory? It is pretty simple to write a gdb script to perform search for patterns or code in memory.

Yep, the problem of not loading bad formed binaries is not of gdb. The problem root is in binutils base code. GNU tools (objdump, nm, readelf, gdb, ...) can't load ELFs with broken section or program headers offsets. To bypass this use radare that ignores these structures if they are not found or just reconstruct them with radare which is a pretty simple task if you only want to add a dummy correct header.

You can trash an ELF header with just this line:

$ echo wx 99 @ 0x21 | radare -nw your.elf

And recover it with this simple oneliner radare macro:

(fix-shoff,s 0,s/ .text,loop:,s/x 00,? [1:$$+1],?!.loop:,s +4-$$%4,f nsht,wv nsht @ 0x20)

  alirahbar     January 27, 2009 16:13.07 CST
Just take a look at http://www.codef00.com/projects.php#Debugger

Its an ollydbg like debugger for Linux.

  Varied     January 28, 2009 16:39.59 CST
Thanks for your answers!

  Varied     January 28, 2009 16:49.59 CST
So is there no need creating a new debugger?

  travemme     February 7, 2009 06:11.39 CST
totalview, nice if you only want to learn one debugger. It works on most (all?) platforms you will ever need.

  proxy   February 11, 2009 13:07.59 CST
@Varied: Hi I'm Evan Teran, the author of EDB. It sounds like you are interested in writing a debugger for linux. If this is the case, please keep in mind that contributing to open source projects is always an option :). I know I definitely appreciate any contributions people make.

Also, feel free to let me know if there is anything you find lacking in EDB and I'll add it to my TODO list.

Note: Registration is required to post to the forums.

There are 31,328 total registered users.


Recently Created Topics
[help] Unpacking VMP...
Mar/12
Reverse Engineering ...
Jul/06
let 'IDAPython' impo...
Sep/24
set 'IDAPython' as t...
Sep/24
GuessType return une...
Sep/20
About retrieving the...
Sep/07
How to find specific...
Aug/15
How to get data depe...
Jul/07
Identify RVA data in...
May/06
Question about memor...
Dec/12


Recent Forum Posts
Finding the procedur...
rolEYder
Question about debbu...
rolEYder
Identify RVA data in...
sohlow
let 'IDAPython' impo...
sohlow
How to find specific...
hackgreti
Problem with ollydbg
sh3dow
How can I write olly...
sh3dow
New LoadMAP plugin v...
mefisto...
Intel pin in loaded ...
djnemo
OOP_RE tool available?
Bl4ckm4n


Recent Blog Entries
halsten
Mar/14
Breaking IonCUBE VM

oleavr
Oct/24
Anatomy of a code tracer

hasherezade
Sep/24
IAT Patcher - new tool for ...

oleavr
Aug/27
CryptoShark: code tracer ba...

oleavr
Jun/25
Build a debugger in 5 minutes

More ...


Recent Blog Comments
nieo on:
Mar/22
IAT Patcher - new tool for ...

djnemo on:
Nov/17
Kernel debugger vs user mod...

acel on:
Nov/14
Kernel debugger vs user mod...

pedram on:
Dec/21
frida.github.io: scriptable...

capadleman on:
Jun/19
Using NtCreateThreadEx for ...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit