title: Getting complete disassembly of an executable binary
body: <p>Is it possible to get a complete disassembly (which can act as input to an assembler) of an executable?</p>
  
  <p>When I use <code>otool -tV a.out</code> I get to see only the text section. Other sections like data aren't visible.</p>
  
  <p>When I use <code>gdb</code>, the disassemble command requires a start and an end address. However I do not know how to find out the start and the end address of a binary (say a.out).</p>
  
  <p>I'm trying to disassemble an executable, tinker with the assembly code and then reassemble it.
  Is that possible?</p>
  
  <p>It'd also help if one can find out the names of all the sections in a binary.</p>