You are not logged in.
Hi,
for my studies I'm learning x86 assembler and in general how a computer works at that level. So far I've used the standard tools, objdump and gdb. But reversing even small programs for practice is very tedious with the aformentioned tools. Are there any better alternatives? I've heard good things about IDA on Windows, is it any good on Linux? I'd prefer to use open source programs of course, if they are decent.
What do my fellow Arch users use?
Offline
Not to be critical, but you're learning assembly by disassembling programs? Seems a bit backwards to me...
Offline
Trent, that's not the worse way to learn ASM you know...But I agree, without any base of ASM programming, learning from disassemblies (alone) will be near damn impossible.
To be a bit more constructive, GDB! Best disassembler/debugger out there (for Linux anyway). If you're a GUI fellow, try Insight, a rather nice GDB frontend.
A nice guide to GDB > http://dirac.org/linux/gdb/
Last edited by Lich (2009-11-01 18:22:02)
Archlinux | ratpoison + evilwm | urxvtc | tmux
Offline
First of all, thanks for the responses!
Well, as I stated in the OP, I am using gdb. I just find it tedious to work with, because I can't see all my information (registers, stack, stuff stack and registers reference to, etc.) in a nice, formatted way at one glance. I'd just like to be able to concentrate on what the app is doing instead of searching for all the data I need after each and every step. "display" makes it a bit easier, of course, but it's not really sufficient. It feels like I'm using stuff from the 80's. And no, ddd doesn't cut it, IMO.
Maybe I should have elaborated a bit more on what I'm doing in the first place im my original post: this is homework from the semester course "Computer architecture and system programming". We didn't start with disassembling of course. I do have some knowledge of asm and some coding/calling conventions on this level. The recent task was to defuse a "code bomb", which I had to disassemble, of course. After some hours in gdb you can get frustrated, so please excuse my rant above
Googling brought me to Kdbg, but it seems unmaintained, although the page says they're working on porting it to KDE4. I might check that out again sometime when they're done. In the mean time, Insight seems usable judged by the screenshots, showing the registers, stack and so on in windows.
@Lich: thanks for the link!
Of course, suggestions are always welcome!
Offline
To my mind, EDB is better.
It is an analogue of OllyDBG for Windows, copying (well, not exactly) its interface and basic features.
Offline
Did you try Nemiver?
http://projects.gnome.org/nemiver/
And I know it's not what you asked but I never saw programs for linux which were as good as IDApro and OllyDbg.
Offline
I still prefer the "classical" motif/lesstif based Data Display Debugger (ddd from extra).
To know or not to know ...
... the questions remain forever.
Offline
I still prefer the "classical" motif/lesstif based Data Display Debugger (ddd from extra).
I use it too sometimes, but that's not a debugger per say, it's a front end to GDB (and optionally a few others), so you're still using GDB
Archlinux | ratpoison + evilwm | urxvtc | tmux
Offline
First of all, thanks for the responses!
Well, as I stated in the OP, I am using gdb. I just find it tedious to work with, because I can't see all my information (registers, stack, stuff stack and registers reference to, etc.) in a nice, formatted way at one glance. I'd just like to be able to concentrate on what the app is doing instead of searching for all the data I need after each and every step. "display" makes it a bit easier, of course, but it's not really sufficient. It feels like I'm using stuff from the 80's. And no, ddd doesn't cut it, IMO.
You should try out GDB's Tui interface
Simply invoke GDB with: gdbtui filetodebug
Or press ctrl+x a when GDB has already started
Then press ctrl+x 2 (several times) to get different views.
Further reading: http://sourceware.org/gdb/current/onlin … tml#SEC268
Offline
As SoleSoul already said, there is no equivalent to IDApro or OllyDbg/ImmunityDebugger on Linux. Not even IDApro for Linux by HexRays is close.
While you are reversing statically (disassembling), I recommend a VM with Windows XP/2k(3) and IDApro.
Considering debugging, GDB with or without a graphical frontend is more or less the way to go, even though EDB seems worth a try.
Last edited by kenen (2009-11-04 15:45:39)
Offline
Things have settled down a bit on my end, as I'm not disassembling alot this week. I played around a bit with most of the mentioned applications. Especially EDB seems like it has a lot of potential, but the last update was in 2007, so I guess development has stalled
On the debugging front, nemivr looks good, but is very Gnome-ish, with dependencies and all. Not very KDE friendly. Presumably, I'll just stick to DDD and the console, with some input from EDB here and there. It's really a pitty that there are so many projects that had a good start and got abandoned.
Offline
Try : http://www.totalviewtech.com/
Free trial available for download; I use to use it, as I
recall it was very good.
Deej
Offline