NASM - The Netwide Assembler

NASM Forum => Using NASM => Topic started by: nobody on August 23, 2009, 08:01:16 PM

Title: Trying to learn code
Post by: nobody on August 23, 2009, 08:01:16 PM
Does anyone know of any good disassemblers I can use?

Sincerly,
                     Noah
Title: Re: Trying to learn code
Post by: Frank Kotler on August 23, 2009, 09:40:52 PM
Hi Noah,

Ndisasm! Oh, you said a "good" disassembler. :) Well, ndisasm is "good" enough, I guess, but it doesn't try to be very "clever". You have to tell it every stinkin' thing - on the command line. Once you've got that right, it's fine.

Agner Fog's "objconv":

http://www.agner.org/optimize/#objconv (http://www.agner.org/optimize/#objconv)

... much more "clever". Intended to convert object files from one format to another, one of the "format"s is disassembly. "-fnasm"... or Masm syntax, if you like...

One issue: it's output is "filename.asm". If you've got "myfile.asm", assembled and linked into "myfile" or "myfile.exe", objconv will overwrite your source with its output. Copy your original to "myfile.nas" or rename the executable if this is a problem. Disassembling the output from "myfile.c" is no problem.

I really like it a lot!

Best,
Frank